1 Paraslash install notes
2 =======================
4 Any knowledge of how to work with mouse and icons is not required.
6 Install all needed packages
7 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
8 See README for a list of required software. Don't be afraid of the long
9 list of unusal libraries: Most of them are only needed for optional
10 programs. Autoconf will detect what is installed on your system and
11 will only build those executables that can be built with your setup.
14 Install server and client
15 ~~~~~~~~~~~~~~~~~~~~~~~~~
16 Install the package on all machines, you'd like this software to run on:
18 (./configure && make) > /dev/null
20 There should be no errors (but probably many warnings about missing
21 software). Then, as root,
26 Setup user list and create rsa keys
27 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
28 If you already have your rsa keys, skip this step. If you are new
29 to paraslash, you have to generate an rsa key pair for each user you
30 want to allow to connect. You need at least one user.
32 Let's assume that you'd like to run the server on host server_host
33 as user foo, and that you want to connect from client_host as user bar.
35 As foo@server_host, create ~/.paraslash/server.users:
37 target=~/.paraslash/server.users
38 key=~/.paraslash/key.pub.bar
39 perms=DB_READ,DB_WRITE,AFS_READ,AFS_WRITE
41 echo "user bar $key $perms" >> $target
43 This gives bar full privileges.
45 Change to the bar account on client_host and generate the key-pair
48 key=~/.paraslash/key.bar
50 (umask 077 && openssl genrsa -out $key)
52 Next, extract its public part:
54 pubkey=~/.paraslash/key.pub.bar
55 openssl rsa -in $key -pubout -out $pubkey
57 and copy the public key just created to server_host:
59 scp $pubkey foo@server_host:.paraslash/
61 Finally, tell para_client to connect to server_host:
63 echo 'hostname server_host' > ~/.paraslash/client.conf
69 Now you can use para_client to connect to the server and issue
70 commands. Open a new shell (as "bar" on "client_host" in the above
76 to retrieve the list of available commands and some server info.
79 Choose an audio file selector
80 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81 paraslash has three different audio file selectors: random (default),
84 The random selector chooses files randomly from the given
87 The playlist selector allows to send a playlist to para_server
88 via the lpl (load playlist) command. para_server will choose
89 files from the loaded playlist in sequential order.
91 The mysql selector stores information about your audio
92 files in a mysql database. It is much more involved than
93 the other two selectors and lets you chose files in many
94 interesting ways. If you like to use the mysql selector,
95 read README.mysql and follow the instructions given there.
96 Return to this document when ready.
98 The current audio file selector can be changed at runtime via
100 para_client cdt new_selector
104 Start streaming manually
105 ~~~~~~~~~~~~~~~~~~~~~~~~
110 This starts streaming and dumps some information on the current song
113 You should now be able to listen to the stream with any player
114 capable of reading from stdin. To check this, try the following
119 para_recv -r 'http -i server_host' | para_filter -f mp3dec -f wav | para_play
121 mpg123 http://server_host:8000/
123 xmms http://server_host:8000/
127 para_recv -r 'http -i server_host' | para_filter -f oggdec -f wav | para_play
129 If this works, proceede. Otherwise doublecheck what is logged by
130 para_server and use the --loglevel option of para_recv, para_filter
131 to increase verbosity.
133 Configure para_audiod
134 ~~~~~~~~~~~~~~~~~~~~~
135 In order to automatically start the right decoder at the right time
136 and to offer to the clients some information on the current audio
137 stream and on paraslash's internal state, you should run the local
138 audio daemon, para_audiod, on every machine that is supposed to play
139 the audio stream. Try
143 for help. Usually you have to specify at least server_host as the
144 receiver specifier, like this:
146 -r 'mp3:http -i server_host'
148 The prefered way to use para_audiod is to run it once at system start
149 as an unprivileged user. para_audiod needs to create a "well-known"
150 socket for the clients to connect to. If you want to change the
151 default socket (e.g. because you do not have write access for the
152 directory where the socket resides), use the -s option or the config
153 file to change the default. Note that in this case you'll also have
154 to specify the same value for para_audioc's -s option.
156 If para_server is playing, you should be able to listen to the audio
157 stream as soon as para_audiod is started. Once it is running, try
161 That should dump some information to stdout. Other commands include
172 para_gui reads the output of "para_audioc stat" and displays that
173 information in a curses window. It also allows you to bind keys to
174 arbitrary commands. There are several flavours of key-bindings:
176 o internal: These are the built-in commands that can not be
177 changed (help, quit, loglevel, version...).
179 o external: Shutdown curses before launching the given command.
180 Useful for starting other ncurses programs from within
181 para_gui, e.g. aumix or para_dbadm. Or, use
185 to write a mailbox containing one mail for each file
186 in the mysql database and start mutt from within para_gui
187 to browse your collection!
189 o display: Launch the command and display its stdout in
190 para_gui's bottom window.
192 o para: Like display, but start "para_client <specified
193 command>" instead of "<specified command>".
196 That's all, congratulations. Check out all the other optional gimmics!
200 If something went wrong, look at the output. If that does not give
201 you a clue, use loglevel one (option -l 1 for most commands) to show
202 debugging info. Almost all paraslash executables have a brief online
203 help which is displayed by using the -h switch.
205 Still not working? Mail the author Andre Noll <maan@systemlinux.org>
206 (english, german, or spanish language). Please provide enough info
207 such as the version of paraslash you are using and relevant parts of