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
user=bar
target=~/.paraslash/server.users
- key=~/.paraslash/key.pub.$user
+ key=~/.paraslash/id_rsa.pub.$user
perms=AFS_READ,AFS_WRITE,VSS_READ,VSS_WRITE
mkdir -p ~/.paraslash
echo "user $user $key $perms" >> $target
Next, change to the "bar" account on client_host and generate the
key pair with the commands
- key=~/.paraslash/key.$LOGNAME
- mkdir -p ~/.paraslash
- (umask 077 && openssl genrsa -out $key 2048)
+ ssh-keygen -t rsa -b 2048
+ # hit enter twice to create a key with no passphrase
-para_server only needs to know the public key of the key pair just
-created. It can be extracted with
+This generates the two files id_rsa and id_rsa.pub in ~/.ssh. Note
+that paraslash can also read keys generated by the "openssl genrsa"
+command. However, since keys created with ssh-keygen can also be used
+for ssh, this method is recommended.
- pubkey=~/.paraslash/key.pub.$LOGNAME
- openssl rsa -in $key -pubout -out $pubkey
+Note that para_server refuses to use a key if it is shorter than 2048
+bits. In particular, the RSA keys of paraslash 0.3.x will not work
+with version 0.4.x. Moreover, para_client refuses to use a (private)
+key which is world-readable.
-Copy the public key just created to server_host (you may skip this step
-for a single-user setup, i.e. if foo=bar and server_host=client_host):
+para_server only needs to know the public key of the key pair just
+created. Copy this public key to server_host:
- scp $pubkey foo@server_host:.paraslash/
+ src=~/.ssh/id_rsa.pub
+ dest=.paraslash/id_rsa.pub.$LOGNAME
+ scp $src foo@server_host:$dest
Finally, tell para_client to connect to server_host:
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
contains in the third column the permissions needed to execute the
command.
-A new RSA key can be created with
-
- openssl genrsa -out <private_key> 2048
-
-and the public part may be extracted with
-
- openssl rsa -in <private_key> -pubout -out <public_key>
-
-Note that para_server refuses to use a key if it is shorter than 2048
-bits. In particular, the RSA keys of paraslash 0.3.x will not work
-with version 0.4.x. Moreover, para_client refuses to use a (private)
-key which is world-readable.
-
It is possible to make para_server reread the user_list file by
executing the paraslash "hup" command or by sending SIGHUP to the
PID of para_server.
-> 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
~~~~~~~~