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