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 Example: --log_color \"INFO:yellow black bold\"
44 int typestr="portnumber"
48 para_server listens on this tcp port for incoming connections
49 from clients such as para_client. If the default port is
50 changed, the corresponding option of para_client must be used
51 to connect to para_server.
56 "run as background daemon"
60 Note that para_server refuses to start in daemon mode if no
61 logfile was specified.
66 "run as the given user"
70 para_server does not need any special privileges. If started
71 as root (EUID == 0) this option must be given at the command
72 line (not in the configuration file) so that para_server
73 can drop the root privileges right after parsing the command
74 line options, but before parsing the configuration file. In
75 this case, real/effective/saved UID are all set to the UID
76 of 'name'. As the configuration file is read afterwards,
77 those options that have a default value depending on the UID
78 (e.g. the directory for the configuration file) are computed
79 by using the uid of 'name'. This option has no effect if
80 para_server is started as a non-root user (i.e. EUID != 0)
87 string typestr="group"
90 This option sets the group id according to 'group'. This option
91 is silently ignored if EUID != 0. Otherwise, real/effective
92 GID and the saved set-group ID are all set to the GID given by
93 'group'. Must not be given in the config file.
96 #############################
97 section "Configuration files"
98 #############################
103 "where to write log output"
104 string typestr="filename"
107 If this option is not given, para_server writes the log
108 messages to to stderr
111 option "config_file" c
112 #~~~~~~~~~~~~~~~~~~~~~
113 "(default='~/.paraslash/server.conf'"
114 string typestr="filename"
117 para_server reads its config file right after parsing
118 the options that were given at the command line. If an
119 option is given both at the command line and in the
120 config file, the value that was specified at the command line
126 "(default='~/.paraslash/server.users')"
128 string typestr="filename"
132 ##################################
133 section "virtual streaming system"
134 ##################################
139 "start playing on startup"
142 option "autoplay_delay" -
143 #~~~~~~~~~~~~~~~~~~~~~~~~
144 "time to wait before streaming"
150 If para_server is started with the autoplay option, this option
151 may be used to set up a delay before para_server streams its
152 first audio file. This is useful for example if para_server
153 and para_audiod are started during system startup. The delay
154 time should be choosen large enough so that para_audiod is
155 already up when para_server starts to stream. Of course, this
156 option depends on the autoplay option.
158 option "announce_time" A
159 #~~~~~~~~~~~~~~~~~~~~~~~
160 "grace time for clients"
166 Clients such as para_audiod connect to para_server and execute
167 the stat command to find out whether an audio stream is
168 currently available. This sets the delay betweeen announcing
169 the stream via the output of the stat command and sending
170 the first chunk of data.
173 #############################
174 section "audio file selector"
175 #############################
177 option "afs_database_dir" D
178 #~~~~~~~~~~~~~~~~~~~~~~~~~~
179 "location of the database"
180 string typestr="path"
183 Where para_server should look for the osl database of the audio
184 file selector. The default is '~/.paraslash/afs_database'.
187 option "afs_socket" s
188 #~~~~~~~~~~~~~~~~~~~~
189 "Command socket for afs"
190 string typestr="path"
191 default="/var/paraslash/afs_command_socket"
194 For each server command that is handled by the audio file
195 selector, the child process of para_server connects to the
196 audio file selector via a local socket. This option specifies
197 the location of that socket in the file system.
199 option "afs_initial_mode" i
200 #~~~~~~~~~~~~~~~~~~~~~~~~~~
202 "Mood or playlist to load on startup."
203 string typestr="<specifier>/<name>"
207 The argument of this option must be prefixed with either 'p/'
208 or 'm/' to indicate whether a playlist or a mood should be
210 --afs_initial_mode p/foo
211 loads the playlist named 'foo'.
214 #####################
215 section "http sender"
216 #####################
221 "tcp port for http streaming"
222 int typestr="portnumber"
226 The http sender of para_server listens on this port for
227 incoming connections. Clients are expected to send the usual
228 http request message such as 'GET / HTTP/'.
231 option "http_default_deny" -
232 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
233 "make the http ACL a whitelist"
236 The default is to use blacklists instead, i.e. connections
237 to the http sender are allowed unless the connecting host
238 matches a pattern given by a http_access option. This allows
239 to use access control the other way round: Connections are
240 denied from hosts which are not explicitly allowed by one or
241 more http_access options.
244 option "http_access" -
245 #~~~~~~~~~~~~~~~~~~~~~
246 "add an entry to the http ACL"
247 string typestr="a.b.c.d/n"
251 Add given host/network to access control list (whitelist if
252 http_default_deny was given, blacklist otherwise) before
253 opening the tcp port. This option can be given multiple
254 times. Example: '192.168.0.0/24' whitelists/blacklists the
255 256 hosts 192.168.0.x
258 option "http_no_autostart" -
259 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
260 "do not open tcp port on startup"
263 If this option is given, the http sender does not listen on
264 its tcp port. It may be instructed to open this port at a
265 later time by using the sender command.
268 option "http_max_clients" -
269 #~~~~~~~~~~~~~~~~~~~~~~~~~~
270 "maximal number of connections"
275 The http sender will refuse connections if already that number
276 of clients are currently connected. A non-positive value
277 (the default) allows an unlimited number of simultaneous
281 #####################
282 section "dccp sender"
283 #####################
288 "port for dccp streaming"
289 int typestr="portnumber"
293 See http_port for details.
296 option "dccp_default_deny" -
297 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
298 "make the dccp ACL a whitelist"
301 See http_default_deny for details.
304 option "dccp_access" -
305 #~~~~~~~~~~~~~~~~~~~~~
306 "add an entry to the dccp ACL"
307 string typestr="a.b.c.d/n"
311 See http_access for details.
314 option "dccp_max_clients" -
315 #~~~~~~~~~~~~~~~~~~~~~~~~~~
316 "maximal number of connections"
321 See http_max_clients for details.
328 option "udp_target" -
329 #~~~~~~~~~~~~~~~~~~~~
331 string typestr="a.b.c.d:p"
335 Add given host/port to the list of targets. This option
336 can be given multiple times. Example: '224.0.1.38:1500'
337 instructs the udp sender to send to udp port 1500 on host
338 224.0.1.38 (unassigned ip in the Local Network Control Block
339 224.0.0/24). This is useful for multicast streaming.
342 option "udp_no_autostart" -
343 #~~~~~~~~~~~~~~~~~~~~~~~~~~
344 "do not start sending"
347 If this option is given, udp streaming may be activated at
348 a later time by using the sender command.
351 option "udp_default_port" -
352 #~~~~~~~~~~~~~~~~~~~~~~~~~~
353 "udp port to send to"
358 option "udp_header_interval" H
359 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
360 "duration for sending header"
365 As the udp sender has no idea about connected clients it
366 sends the audio file header periodically if necessary. This
367 option is used to specify the duration of the interval between
368 sending the header. Shorter values decrease the average time
369 clients have to wait before being able to start playback,
370 but this also increases the amount network traffic. Note
371 that this affects only ogg vorbis streams as this is the only
372 audio format that needs an audio file header.
377 "set time to live value"
382 This option instructs the udp sender to set the time to live to
383 \"num\" for the sending udp socket. Only useful for multicast