All GUI programs are based/use streamripper.

no gui/bash/terminal version:

hostnamectl; # tested with
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-8-amd64
      Architecture: x86-64

su - root; # become root
apt update;
apt install streamripper;
Ctrl+D; # logoff root
# get the pls playliset
# look what is inside
cat 100xr-he-aac.pls
Title1=100 XR - The Net's #1 Rock Station!!! HE-AAC stream
# make the dir
mkdir -p /home/user/Music/WebRadio/
# start recording the stream
streamripper -d /home/user/Music/WebRadio/ -o larger -t -u "FreeAmp/2.x"

StreamRipper + RipStar GUI on Centos7

there is no pre compiled package for Centos7 / Redhat, so you will have to compile it yourself, but because you are a pro you can do it.

1. get the latest version of the source from
and unpack e.g. into /software/WebRadio

yum install glib2-devel
sudo make install; # will need root rights to install binary to system

# where is the binary?
which streamripper

# test run
streamripper -v
Streamripper 1.64.6


Usage: streamripper URL [OPTIONS]
Opts: -h             - Print this listing
      -v             - Print version info and quit
      -a [file]      - Rip to single file, default name is timestamped
      -A             - Don't write individual tracks
      -d dir         - The destination directory
      -D pattern     - Write files using specified pattern
      -s             - Don't create a directory for each stream
      -r [[ip:]port] - Create relay server on base ip:port, default port 8000
      -R #connect    - Max connections to relay, default 1, -R 0 is no limit
      -L file        - Create a relay playlist file
      -z             - Don't scan for free ports if base port is not avail
      -p url         - Use HTTP proxy server at 
      -o (always|never|larger|version)    - When to write tracks in complete
      -t             - Don't overwrite tracks in incomplete
      -c             - Don't auto-reconnect
      -l seconds     - Number of seconds to run, otherwise runs forever
      -M megabytes   - Stop ripping after this many megabytes
      -q [start]     - Add sequence number to output file
      -u useragent   - Use a different UserAgent than "Streamripper"
      -w rulefile    - Parse metadata using rules in file.
      -m timeout     - Number of seconds before force-closing stalled conn
      -k count       - Leave  tracks in incomplete
      -I interface   - Rip from specified interface (e.g. eth0)
      -T             - Truncate duplicated tracks in incomplete
      -E command     - Run external command to fetch metadata
      --quiet        - Don't print ripping status to console
      --stderr       - Print ripping status to stderr (old behavior)
      --debug        - Save debugging trace
ID3 opts (mp3/aac/nsv):  [The default behavior is adding ID3V2.3 only]
      -i                           - Don't add any ID3 tags to output file
      --with-id3v1                 - Add ID3V1 tags to output file
      --without-id3v2              - Don't add ID3V2 tags to output file
Splitpoint opts (mp3 only):
      --xs-none                    - Don't search for silence
      --xs-offset=num              - Shift relative to metadata (msec)
      --xs-padding=num:num         - Add extra to prev:next track (msec)
      --xs-search-window=num:num   - Search window relative to metadata (msec)
      --xs-silence-length=num      - Expected length of silence (msec)
      --xs2                        - Use new algorithm for silence detection
Codeset opts:
      --codeset-filesys=codeset    - Specify codeset for the file system
      --codeset-id3=codeset        - Specify codeset for id3 tags
      --codeset-metadata=codeset   - Specify codeset for metadata
      --codeset-relay=codeset      - Specify codeset for the relay stream

# example webradio stream ripping 
streamripper -d /home/user/Music/WebRadio/ -o larger -t -u "FreeAmp/2.x"

# the pls contains

Title1=Greatest Hits Non-Stop

with gui: to fire it up

  • one will need some form of javaruntime installed
  • java did crossos support quiet nicely, so you can run this on OSX, Windows and Linux, not a problem
yum list installed |grep java
abrt-java-connector.x86_64 1.0.6-12.el7 @base 
java-1.8.0-openjdk.x86_64 1: @updates 
java-1.8.0-openjdk-headless.x86_64 1: @updates 

# download StreamRipStar
# the sha512sum should be
b80fb56697ee046087379bcb85bbf41054e26e08047ac2911fb4c426d6e2b759ce5587ec513db1d740512e07732cd4404935ba46b483b4a34904f8698063b82b StreamRipStar-0.6.10.jar

java -jar /home/user/software/WebRadio/StreamRipStar-0.6.9.jar; # start it up

now all you need is a cool webradio station to tune in such as:

hit the red record button and off you go 🙂



StreamTuner2 GUI

This thing does it all:

thank you

“Microsoft is the Empire. Apple is the Rebels. We are the Ewoks.”


# tested on
cat /etc/debian_version
uname -a
Linux debian 3.16.0-4-686-pae #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) i686 GNU/Linux

# had a little trouble installing it under Debian8 because it is not in the main repositories
# but basically what you do

sudo bash; # become root

mkdir /software/webradio; # this is to keep some order

cd /software/webradio; # use what we just created

wget; # download

dpkg -i streamtuner2-2.1.9.deb; # and realize it fails with some python dependencies

aptitude install streamtuner2; # let it complete the job :)

# and while we are at it, if you want to do the recording you will need streamripper as well
apt-get install streamripper; # install streamripper

wget; # download webradio playlist file

cat 100xr-he-aac.pls; # check for ip:port/url File1=

streamripper; # start recording

# 100 XR - The Net's #1 Rock Station!!! HE-AAC stream ROCKSSS!

How to add your own stations:

it is actually DRAG AND DROP MY FRIEND 😀




is an internet radio browser. It looks up the

categorized music stations from various directory services:

It mimics the older streamtuner 0.99.99 application in look and feel. But it’s
an independent rewrite and runs on Python; is therefore easier to extend.
program window screenshot

Meanwhile it works mostly stable and most functions are implemented. It
isn’t optimized for speed however. Also it will always consume more
memory than the original C implementation. And Pygtk makes it slightly
less speedy.

Unlike the original it loads favicons for music stations, and gives a friendlier
overview. The station lists and table columns are less configurable currently.
It’s supposed to support a wider array of audio formats and players. For station
recording it still chains to streamripper. While some lists (DMOZ) only have
homepage links at the moment, others (like modarchive) provide direct download
The long awaited console-only mode is there, which allows to start playing individual
radios without invoking the GUI, and also supports exporting the station lists as JSON.
An experimental yp.shoutcast wrapper module for streamtuner1 is also there.

You can just download the installer,
extract and run the application as-is on most BSD/Linux systems. On Windows
it requires manual installation of Python+Gtk
(use this 33MB pkg:…)
first, and is not guaranteed to run.

The application is released into the Public Domain. It’s open source,
no strings attached.

other channel plugins

There are a few plugins which aren’t distributed with the default package.

Now available in the repo under contrib/.

Downloads Sources->Binaries:

distribution packages

Streamtuner2 has already been properly packaged for a few distributions. You
should rather use these packages than the autogenerated .deb/.rpms:


ST2 has also led to some by-products, like glc2 and

Revision history (source control management) is kept in a fossil repository.

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!