1 #########################
2 section "General options"
3 #########################
12 Larger values mean less verbose output. Loglevel 0 (debug) gets
13 really noisy; a value of 1 (info) produces still noisy output,
14 but this won't fill up the disk quicky. Messaged logged with
15 loglevel 2 (notice) indicate normal but significant events
16 while level 3 (warning) logs unexpected events that can be
17 handled. Unhandled error conditions are logged with loglevel
18 4 (error) and crititcal errors are logged using loglevel 5
19 (crit). Finally, loglevel 6 (emerg) is reserved for messages
20 that cause para_server to terminate immediately.
25 "activate color output"
27 values = "yes","no","auto"
33 "select a color for one type of log message"
34 string typestr="color_spec"
38 The format of \"color_spec\" is [fg [bg]] [attr].
40 Valid colors for \"fg\" and \"bg\" are \"normal\", \"black\",
41 \"red\", \"green\", \"yellow\", \"blue\", \"magenta\",
42 \"cyan\", and \"white\".
44 The \"attr\" value must be one of \"bold\", \"dim\", \"ul\",
45 \"blink\", \"reverse\".
49 --log_color \"debug:green\"
50 --log_color \"info:yellow bold\"
51 --log_color \"notice:white red bold\"
57 int typestr="portnumber"
61 para_server listens on this tcp port for incoming connections
62 from clients such as para_client. If the default port is
63 changed, the corresponding option of para_client must be used
64 to connect to para_server.
69 "run as background daemon"
73 Note that para_server refuses to start in daemon mode if no
74 logfile was specified.
79 "run as the given user"
83 para_server does not need any special privileges. If started
84 as root (EUID == 0) this option must be given at the command
85 line (not in the configuration file) so that para_server
86 can drop the root privileges right after parsing the command
87 line options, but before parsing the configuration file. In
88 this case, real/effective/saved UID are all set to the UID
89 of 'name'. As the configuration file is read afterwards,
90 those options that have a default value depending on the UID
91 (e.g. the directory for the configuration file) are computed
92 by using the uid of 'name'. This option has no effect if
93 para_server is started as a non-root user (i.e. EUID != 0)
100 string typestr="group"
103 This option sets the group id according to 'group'. This option
104 is silently ignored if EUID != 0. Otherwise, real/effective
105 GID and the saved set-group ID are all set to the GID given by
106 'group'. Must not be given in the config file.
109 #############################
110 section "Configuration files"
111 #############################
116 "where to write log output"
117 string typestr="filename"
120 If this option is not given, para_server writes the log
121 messages to to stderr
124 option "config_file" c
125 #~~~~~~~~~~~~~~~~~~~~~
126 "(default='~/.paraslash/server.conf'"
127 string typestr="filename"
130 para_server reads its config file right after parsing
131 the options that were given at the command line. If an
132 option is given both at the command line and in the
133 config file, the value that was specified at the command line
139 "(default='~/.paraslash/server.users')"
141 string typestr="filename"
145 ##################################
146 section "virtual streaming system"
147 ##################################
152 "start playing on startup"
155 option "autoplay_delay" -
156 #~~~~~~~~~~~~~~~~~~~~~~~~
157 "time to wait before streaming"
163 If para_server is started with the autoplay option, this option
164 may be used to set up a delay before para_server streams its
165 first audio file. This is useful for example if para_server
166 and para_audiod are started during system startup. The delay
167 time should be choosen large enough so that para_audiod is
168 already up when para_server starts to stream. Of course, this
169 option depends on the autoplay option.
171 option "announce_time" A
172 #~~~~~~~~~~~~~~~~~~~~~~~
173 "grace time for clients"
179 Clients such as para_audiod connect to para_server and execute
180 the stat command to find out whether an audio stream is
181 currently available. This sets the delay betweeen announcing
182 the stream via the output of the stat command and sending
183 the first chunk of data.
186 #############################
187 section "audio file selector"
188 #############################
190 option "afs_database_dir" D
191 #~~~~~~~~~~~~~~~~~~~~~~~~~~
192 "location of the database"
193 string typestr="path"
196 Where para_server should look for the osl database of the audio
197 file selector. The default is '~/.paraslash/afs_database'.
200 option "afs_socket" s
201 #~~~~~~~~~~~~~~~~~~~~
202 "Command socket for afs"
203 string typestr="path"
204 default="/var/paraslash/afs_command_socket"
207 For each server command that is handled by the audio file
208 selector, the child process of para_server connects to the
209 audio file selector via a local socket. This option specifies
210 the location of that socket in the file system.
212 option "afs_initial_mode" i
213 #~~~~~~~~~~~~~~~~~~~~~~~~~~
215 "Mood or playlist to load on startup."
216 string typestr="<specifier>/<name>"
220 The argument of this option must be prefixed with either 'p/'
221 or 'm/' to indicate whether a playlist or a mood should be
223 --afs_initial_mode p/foo
224 loads the playlist named 'foo'.
227 #####################
228 section "http sender"
229 #####################
234 "tcp port for http streaming"
235 int typestr="portnumber"
239 The http sender of para_server listens on this port for
240 incoming connections. Clients are expected to send the usual
241 http request message such as 'GET / HTTP/'.
244 option "http_default_deny" -
245 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
246 "make the http ACL a whitelist"
249 The default is to use blacklists instead, i.e. connections
250 to the http sender are allowed unless the connecting host
251 matches a pattern given by a http_access option. This allows
252 to use access control the other way round: Connections are
253 denied from hosts which are not explicitly allowed by one or
254 more http_access options.
257 option "http_access" -
258 #~~~~~~~~~~~~~~~~~~~~~
259 "add an entry to the http ACL"
260 string typestr="a.b.c.d/n"
264 Add given host/network to access control list (whitelist if
265 http_default_deny was given, blacklist otherwise) before
266 opening the tcp port. This option can be given multiple
267 times. Example: '192.168.0.0/24' whitelists/blacklists the
268 256 hosts 192.168.0.x
271 option "http_no_autostart" -
272 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
273 "do not open tcp port on startup"
276 If this option is given, the http sender does not listen on
277 its tcp port. It may be instructed to open this port at a
278 later time by using the sender command.
281 option "http_max_clients" -
282 #~~~~~~~~~~~~~~~~~~~~~~~~~~
283 "maximal number of connections"
288 The http sender will refuse connections if already that number
289 of clients are currently connected. A non-positive value
290 (the default) allows an unlimited number of simultaneous
294 #####################
295 section "dccp sender"
296 #####################
301 "port for dccp streaming"
302 int typestr="portnumber"
306 See http_port for details.
309 option "dccp_default_deny" -
310 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
311 "make the dccp ACL a whitelist"
314 See http_default_deny for details.
317 option "dccp_access" -
318 #~~~~~~~~~~~~~~~~~~~~~
319 "add an entry to the dccp ACL"
320 string typestr="a.b.c.d/n"
324 See http_access for details.
327 option "dccp_max_clients" -
328 #~~~~~~~~~~~~~~~~~~~~~~~~~~
329 "maximal number of connections"
334 See http_max_clients for details.
341 option "udp_target" -
342 #~~~~~~~~~~~~~~~~~~~~
344 string typestr="a.b.c.d:p"
348 Add given host/port to the list of targets. This option
349 can be given multiple times. Example: '224.0.1.38:1500'
350 instructs the udp sender to send to udp port 1500 on host
351 224.0.1.38 (unassigned ip in the Local Network Control Block
352 224.0.0/24). This is useful for multicast streaming.
355 option "udp_no_autostart" -
356 #~~~~~~~~~~~~~~~~~~~~~~~~~~
357 "do not start sending"
360 If this option is given, udp streaming may be activated at
361 a later time by using the sender command.
364 option "udp_default_port" -
365 #~~~~~~~~~~~~~~~~~~~~~~~~~~
366 "udp port to send to"
371 option "udp_header_interval" H
372 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
373 "duration for sending header"
378 As the udp sender has no idea about connected clients it
379 sends the audio file header periodically if necessary. This
380 option is used to specify the duration of the interval between
381 sending the header. Shorter values decrease the average time
382 clients have to wait before being able to start playback,
383 but this also increases the amount network traffic. Note
384 that this affects only ogg vorbis streams as this is the only
385 audio format that needs an audio file header.
390 "set time to live value"
395 This option instructs the udp sender to set the time to live to
396 \"num\" for the sending udp socket. Only useful for multicast