git clone git://git.tuebingen.mpg.de/osl
- - XREFERENCE(ftp://ftp.gnu.org/pub/gnu/gcc, gcc). The
- EMPH(gnu compiler collection) is usually shipped with the
- distro. gcc-3.3 or newer is required.
+ - XREFERENCE(ftp://ftp.gnu.org/pub/gnu/gcc, gcc) or
+ XREFERENCE(http://clang.llvm.org, clang). All gcc versions
+ >= 3.3 are currently supported. Clang version 1.1 or newer
+ should work as well.
- XREFERENCE(ftp://ftp.gnu.org/pub/gnu/make, gnu make) is
also shipped with the disto. On BSD systems the gnu make
scripts which run during compilation require the EMPH(Bourne
again shell). It is most likely already installed.
- - XREFERENCE(http://www.openssl.org/, openssl). The EMPH(Secure
- Sockets Layer) library is needed for cryptographic routines
- on both the server and the client side. It is usually shipped
- with the distro, but you might have to install the "development
- package" (called libssl-dev on debian systems) as well.
+ - XREFERENCE(http://www.openssl.org/, openssl) or
+ XREFERENCE(ftp://ftp.gnupg.org/gcrypt/libgcrypt/, libgcrypt).
+ At least one of these two libraries is needed as the backend
+ for cryptographic routines on both the server and the client
+ side. Both openssl and libgcrypt are usually shipped with the
+ distro, but you might have to install the development package
+ (libssl-dev or libgcrypt-dev on debian systems) as well.
- XREFERENCE(ftp://ftp.gnu.org/pub/gnu/help2man, help2man)
is used to create the man pages.
We will also have to tell para_audiod that it should receive the
-audio stream from server_host:
+audio stream from server_host via http:
- para_audiod -l info -r 'mp3:http -i server_host'
+ para_audiod -l info -r '.:http -i server_host'
You should now be able to listen to the audio stream once para_server
starts streaming. To activate streaming, execute
this point on the communication is encrypted using the RC4
stream cipher with the session key known to both peers.
-paraslash relies on the quality of openssl's cryptographically strong
-pseudo-random bytes, on the security of the implementation of the
-openssl RSA and RC4 crypto routines and on the infeasibility to invert
-the SHA1 function.
+paraslash relies on the quality of the pseudo-random bytes provided
+by the crypto library (openssl or libgcrypt), on the security of
+the implementation of the RSA and RC4 crypto routines and on the
+infeasibility to invert the SHA1 function.
Neither para_server or para_client create RSA keys on their own. This
has to be done once for each user as sketched in REFERENCE(Quick start,
-> Create a minimal config for para_audiod for HTTP streams:
c=$HOME/.paraslash/audiod.conf.min; s=server.foo.com
- formats="mp3 ogg aac wma" # remove what you do not have
- for f in $formats; do echo receiver \"$f:http -i $s\"; done > $c
+ echo receiver \".:http -i $s\" > $c
para_audiod --config $c
-------
para_filter -f 'mp3dec --ignore-crc' -f 'compress --damp 1'
For para_audiod, each audio format has its own set of filters. The
-name of the audio format for which the filter should be applied is
-used as the prefix for the filter option. Example:
+name of the audio format for which the filter should be applied can
+be used as the prefix for the filter option. Example:
para_audiod -f 'mp3:prebuffer --duration 300'
+The "mp3" prefix above is actually interpreted as a POSIX extended
+regular expression. Therefore
+
+ para_audiod -f '.:prebuffer --duration 300'
+
+activates the prebuffer filter for all supported audio formats (because
+"." matches all audio formats) while
+
+ para_audiod -f 'wma|ogg:prebuffer --duration 300'
+
+activates it only for wma and ogg streams.
+
Decoders
~~~~~~~~