2 define(CURRENT_PROGRAM,para_server)
3 define(DEFAULT_CONFIG_FILE,~/.paraslash/server.conf)
6 #########################
7 section "General options"
8 #########################
21 int typestr="portnumber"
25 para_server listens on this tcp port for incoming connections
26 from clients such as para_client. If the default port is
27 changed, the corresponding option of para_client must be used
28 to connect to para_server.
31 #############################
32 section "Configuration files"
33 #############################
37 include(config_file.m4)
42 "(default='~/.paraslash/server.users')"
44 string typestr="filename"
48 ##################################
49 section "virtual streaming system"
50 ##################################
55 "start playing on startup"
58 option "autoplay_delay" -
59 #~~~~~~~~~~~~~~~~~~~~~~~~
60 "time to wait before streaming"
66 If para_server is started with the autoplay option, this option
67 may be used to set up a delay before para_server streams its
68 first audio file. This is useful for example if para_server
69 and para_audiod are started during system startup. The delay
70 time should be choosen large enough so that para_audiod is
71 already up when para_server starts to stream. Of course, this
72 option depends on the autoplay option.
74 option "announce_time" A
75 #~~~~~~~~~~~~~~~~~~~~~~~
76 "grace time for clients"
82 Clients such as para_audiod connect to para_server and execute
83 the stat command to find out whether an audio stream is
84 currently available. This sets the delay betweeen announcing
85 the stream via the output of the stat command and sending
86 the first chunk of data.
89 #############################
90 section "audio file selector"
91 #############################
93 option "afs_database_dir" D
94 #~~~~~~~~~~~~~~~~~~~~~~~~~~
95 "location of the database"
99 Where para_server should look for the osl database of the audio
100 file selector. The default is '~/.paraslash/afs_database'.
103 option "afs_socket" s
104 #~~~~~~~~~~~~~~~~~~~~
105 "Command socket for afs"
106 string typestr="path"
107 default="/var/paraslash/afs_command_socket-0.4"
110 For each server command that is handled by the audio file
111 selector, the child process of para_server connects to the
112 audio file selector via a local socket. This option specifies
113 the location of that socket in the file system.
115 option "afs_initial_mode" i
116 #~~~~~~~~~~~~~~~~~~~~~~~~~~
118 "Mood or playlist to load on startup."
119 string typestr="<specifier>/<name>"
123 The argument of this option must be prefixed with either 'p/'
124 or 'm/' to indicate whether a playlist or a mood should be
126 --afs_initial_mode p/foo
127 loads the playlist named 'foo'.
130 #####################
131 section "http sender"
132 #####################
137 "tcp port for http streaming"
138 int typestr="portnumber"
142 The http sender of para_server listens on this port for
143 incoming connections. Clients are expected to send the usual
144 http request message such as 'GET / HTTP/'.
147 option "http_default_deny" -
148 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
149 "make the http ACL a whitelist"
152 The default is to use blacklists instead, i.e. connections
153 to the http sender are allowed unless the connecting host
154 matches a pattern given by a http_access option. This allows
155 to use access control the other way round: Connections are
156 denied from hosts which are not explicitly allowed by one or
157 more http_access options.
160 option "http_access" -
161 #~~~~~~~~~~~~~~~~~~~~~
162 "add an entry to the http ACL"
163 string typestr="a.b.c.d/n"
167 Add given host/network to access control list (whitelist if
168 http_default_deny was given, blacklist otherwise) before
169 opening the tcp port. This option can be given multiple
170 times. Example: '192.168.0.0/24' whitelists/blacklists the
171 256 hosts 192.168.0.x
174 option "http_no_autostart" -
175 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
176 "do not open tcp port on startup"
179 If this option is given, the http sender does not listen on
180 its tcp port. It may be instructed to open this port at a
181 later time by using the sender command.
184 option "http_max_clients" -
185 #~~~~~~~~~~~~~~~~~~~~~~~~~~
186 "maximal number of connections"
191 The http sender will refuse connections if already that number
192 of clients are currently connected. A non-positive value
193 (the default) allows an unlimited number of simultaneous
197 #####################
198 section "dccp sender"
199 #####################
204 "port for dccp streaming"
205 int typestr="portnumber"
209 See http_port for details.
212 option "dccp_default_deny" -
213 #~~~~~~~~~~~~~~~~~~~~~~~~~~~
214 "make the dccp ACL a whitelist"
217 See http_default_deny for details.
220 option "dccp_access" -
221 #~~~~~~~~~~~~~~~~~~~~~
222 "add an entry to the dccp ACL"
223 string typestr="a.b.c.d/n"
227 See http_access for details.
230 option "dccp_max_clients" -
231 #~~~~~~~~~~~~~~~~~~~~~~~~~~
232 "maximal number of connections"
237 See http_max_clients for details.
244 option "udp_target" -
245 #~~~~~~~~~~~~~~~~~~~~
246 "add udp target with optional port"
247 string typestr="host[:port]"
251 Add given host/port to the list of targets. The 'host' argument
252 can be either an IPv4/v6 address or hostname (RFC 3986 syntax).
253 The 'port' argument is an optional port number. If the 'port'
254 part is absent, the 'udp_default_port' value is used.
256 The following examples are possible targets:
257 '10.10.1.2:8000' (host:port); '10.10.1.2' (with default port);
258 '224.0.1.38:1500' (IPv4 multicast); 'localhost:8001' (hostname
259 with port); '[::1]:8001' (IPv6 localhost); '[badc0de::1]' (IPv6
260 host with default port); '[FF00::beef]:1500' (IPv6 multicast).
262 This option can be given multiple times, for multiple targets.
265 option "udp_no_autostart" -
266 #~~~~~~~~~~~~~~~~~~~~~~~~~~
267 "do not start sending"
270 If this option is given, udp streaming may be activated at
271 a later time by using the sender command.
274 option "udp_default_port" -
275 #~~~~~~~~~~~~~~~~~~~~~~~~~~
276 "udp port to send to"
281 option "udp_mcast_iface" -
282 #~~~~~~~~~~~~~~~~~~~~~~~~~~
283 "outgoing udp multicast interface"
287 option "udp_header_interval" H
288 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
289 "duration for sending header"
294 As the udp sender has no idea about connected clients it
295 sends the audio file header periodically if necessary. This
296 option is used to specify the duration of the interval between
297 sending the header. Shorter values decrease the average time
298 clients have to wait before being able to start playback,
299 but this also increases the amount network traffic. Note
300 that this affects only ogg vorbis streams as this is the only
301 audio format that needs an audio file header.
306 "set time to live value"
311 This option applies exclusively to multicast UDPv4/v6 streaming.
313 For the sending UDPv4 socket it sets the multicast Time-To-Live
314 value to \"num\". Traditional TTL scope values are: 0=host,
315 1=network, 32=same site, 64=same region, 128=same continent,
316 255=unrestricted. Please note however that this scoping is not
317 a good solution: RFC 2365 e.g. presents a better alternative.
319 When using UDPv6 multicasting, the option sets the number of
320 multicast hops (as described in RFC 3493); a value of -1
321 allows the kernel to auto-select the hop value.