sbbs.ini 11 KB
Newer Older
1
; $Id: sbbs.ini,v 1.82 2019/01/13 00:30:26 rswindell Exp $
rswindell's avatar
rswindell committed
2

rswindell's avatar
rswindell committed
3
; Synchronet BBS Initialization File
rswindell's avatar
rswindell committed
4

rswindell's avatar
rswindell committed
5
6
; $SBBSCTRL/sbbs.$HOSTNAME.ini, if it exists, will be loaded instead of sbbs.ini.
; sbbs[.exe] command-line options, if specified, will override these settings.
rswindell's avatar
rswindell committed
7

rswindell's avatar
rswindell committed
8
; See http://wiki.synchro.net/config:sbbs.ini for more details on format and supported values
rswindell's avatar
rswindell committed
9

10
[Global]
11
; Override system address for this instance (optional):
12
	Hostname =
13
; IP address of network interface to bind to (defaults to ANY/ALL interfaces):
14
	Interface =
15
16
; IPv4 address of network interface to use for outgoing connections
	OutboundInterface =
17
; Override the SBBSCTRL environment variable (optional):
18
	CtrlDirectory =
19
; Override the default system "temp" directory (optional):
20
; If you do override this, do NOT use the system-wide temp dir (ie: /tmp or
21
22
; windows\temp... use a subdirectory.  Synchronet assumes it is the only user
; of this temp dir.
23
	TempDirectory =
24
; Increase this value to decrease semaphore file checking frequency (actually an interval):
25
	SemFileCheckFrequency = 2	; seconds
26
; Set the number of times a bind will be attempted for each port.
27
; increase this if you get errors binding to ports on reloads
28
	BindRetryCount = 2
29
; Delay between bind retries
30
31
	BindRetryDelay = 15             ; seconds
; Highest log level to actually log/print (ignore all higher/less-severe log msgs):
32
33
34
; This log level may be overridden for each server/service
; Supported log levels in decreasing severity (ala syslog):
; Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debugging
35
	LogLevel = Informational
36
37
38
; JavaScript values can be specified here *and* in server-specific sections
; JavaScript values specified in server-specific sections will over-ride the global values
; Maximum allocation of memory per JS run-time:
39
	JavaScriptMaxBytes = 160M
40
41
; Maximum stack size per JS context:
	JavaScriptContextStack = 16K
42
; Maximum number of ticks (100ms) before auto-termination of script:
43
	JavaScriptTimeLimit = 864000
44
; Garbage Collection interval (in ticks):
45
	JavaScriptGcInterval = 100
46
; Time-slice yield interval (in ticks):
47
48
49
	JavaScriptYieldInterval = 10000
; Comma-separated list of load paths (relative to exec or mods directories):
	JavaScriptLoadPath = load
rswindell's avatar
rswindell committed
50
51
52
53
54
; Failed login-attempt tracking, throttling, logging, and filtering:
	LoginAttemptDelay = 5000
	LoginAttemptThrottle = 1000
	LoginAttemptHackThreshold = 10
	LoginAttemptFilterThreshold = 0
55
56
	LoginAttemptTempBanThreshold = 20
	LoginAttemptTempBanDuration = 600
rswindell's avatar
rswindell committed
57

58

59
[BBS]	Terminal Server
60
; Set to 'false' to disable Telnet/Rlogin/Event server:
61
	AutoStart = true
62
; Set to IP address of network interface (or blank for default):
63
64
65
	TelnetInterface =
	RLoginInterface =
	SSHInterface =
66
; TCP port for Telnet server:
67
	TelnetPort = 23
68
; TCP port for RLogin server:
69
	RLoginPort = 513
rswindell's avatar
rswindell committed
70
; TCP port for Secure Shell (SSH) server:
71
	SSHPort = 22
72
; TCP port for 40-column PETSCII connections (any terminal protocol):
73
    Pet40Port = 64
74
; TCP port for 80-column PETSCII connections (any terminal protocol):
75
    Pet80Port = 128
76
77
78
; Note on PETSCII support: you must add the same port(s) to one of your
; *Interface= values above to open/listen/accept connections on that port.
; Example:
79
;   TelnetInterface = 71.95.196.34,71.95.196.34:64,71.95.196.34:128
80

81
; This server handles this range of BBS nodes:
82
; LastNode should not be higher than the number of nodes configured in SCFG->Nodes
83
84
	FirstNode = 1
	LastNode = 4
85

86
; Set to a non-zero number to limit the number of concurrent connections from the same client/host
87
	MaxConcurrentConnections = 0
88

89
; Windows only:
90
; Increase this value to decrease the frequency of forced CPU time-slice yields in DOS externals:
91
92
93
; NOTE: this configuration knob has been *moved* to YieldInterval in exec/sbbsexec.ini
;	ExternalYield=10
; Sound (*.wav) files to play on specific events:
94
95
	AnswerSound =
	HangupSound =
96
97

; Unix only:
rswindell's avatar
rswindell committed
98
; Must install install/termcap or terminfo to use the following TERM setting:
99
100
; ExternalTermANSI = ansi-bbs
	ExternalTermDumb = dumb
101
102
103
104
105
106

; To setup the dosemu cmd path and ini:
UseDOSemu = false
DOSemuPath = /usr/bin/dosemu.bin
; leave off dir path to use ctrl dir
DOSemuConfPath = dosemu.conf
107

108
109
; At what size to send the current output buffer regardless of timeout
; ie: Send output whenever there are at least this many bytes waiting.
110
; This should definately not be higher than the MTU.
111
112
113
114
115
;
; On Linux and BSD (Any platform which supports the TCP_MAXSEG socket opt)
; This can (and probably should) be set to zero to automagically set the
; highwater mark to the MSS and ensure no single call to send() is larger
; than this.
116
        OutbufHighwaterMark = 1024
117
118
119
; Timout to wait for output buffer to fill (Milliseconds)
; If there is ANY data in the output buffer after waiting this long, send
; immediately.
120
121
122
123
124
125
126
; The faster your system, the lower this can be. 
; If this value is too low, remote connections will see many small updates and
; the connection will appear to be slow while displaying menus.
; If this value is too high, remote connections will appear to be choppy,
; and echoing will seem slow (ie: When entering a message, your text
; will appear on your screen in chunks)
; Frobbing this value can provide hours of pointless entertainment.
127
        OutbufDrainTimeout = 10
rswindell's avatar
rswindell committed
128
; Supported options (separated with |):
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
;       XTRN_MINIMIZED
;       AUTO_LOGON
;       DEBUG_TELNET
;       ALLOW_SSH
;       ALLOW_RLOGIN
;       NO_QWK_EVENTS
;       NO_NEWDAY_EVENTS
;       NO_TELNET_GA
;       NO_EVENTS
;       NO_HOST_LOOKUP
;       NO_SPY_SOCKETS
;       NO_DOS
;       NO_RECYCLE
;       GET_IDENT
;       MUTE
144
;       HAPROXY_PROTO
145
Options = XTRN_MINIMIZED | ALLOW_RLOGIN | ALLOW_SSH
146

147
[Mail]	SMTP/POP3 Mail Server
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
	AutoStart = true
	MaxClients = 10
	MaxInactivity = 120
	Interface = 
	LinesPerYield = 10
	MaxDeliveryAttempts = 50
	MaxRecipients = 100
	MaxMsgSize = 20MB
	MaxMsgsWaiting = 100
	RescanFrequency = 3600
	SMTPPort = 25
	SubmissionPort = 587
	TLSSubmissionPort = 465
	POP3Interface = 
	POP3Port = 110
	TLSPOP3Port = 995
	DefaultCharset = IBM437
	DefaultUser = 
	DNSBlacklistHeader = X-DNSBL
	DNSBlacklistSubject = SPAM
	RelayServer = 
	RelayPort = 25
170
	; The following 2 keys are used if the RelayServer requires authentication (SMTP AUTH)
171
	; Must also set one of the RELAY_AUTH options
172
173
174
175
176
177
178
	RelayUsername = 
	RelayPassword = 
	DNSServer = 
	POP3Sound = 
	InboundSound = 
	OutboundSound = 
	ConnectTimeout = 30
179
	MaxConcurrentConnections = 0
rswindell's avatar
rswindell committed
180
; Supported options (separated with |):
rswindell's avatar
rswindell committed
181
;	DEBUG_RX_HEADER		- Log header fields of received mail messages
182
;	DEBUG_RX_BODY		- Leave body text of received mail messages in temp directory forever
rswindell's avatar
rswindell committed
183
184
185
186
187
188
;	ALLOW_POP3		- Enable the POP3 server
;	DEBUG_TX		- Log all transmissions sent to remote clients/servers
;	DEBUG_RX_RSP		- Log responses received from remote clients/servers
;	RELAY_TX		- Use external SMTP relay server for sending mail
;	DEBUG_POP3		- Log details from POP3 sessions
;	ALLOW_RX_BY_NUMBER	- Allow mail received by user number (e.g. "1@yourbbs.com")
rswindell's avatar
rswindell committed
189
;	NO_NOTIFY		- Do not send telegrams on new email receipt
190
191
;	ALLOW_SYSOP_ALIASES	- Receive mail sent to built-in sysop aliases (i.e. "sysop" and "postmaster")
;	USE_SUBMISSION_PORT	- Listen on the "MSA" service port for mail submissions
rswindell's avatar
rswindell committed
192
193
194
195
196
197
198
199
200
201
; 	NO_HOST_LOOKUP		- Do not look-up hostnames of connected clients
;	USE_TCP_DNS		- Use TCP (instead of UDP) for DNS MX record queries
;	NO_SENDMAIL		- Disable sendmail thread
;	ALLOW_RELAY		- Allow authenticated users to relay mail
;	SMTP_AUTH_VIA_IP	- Authenticate SMTP users via IP address
;	DNSBL_REFUSE		- Refuse mail session from blacklisted IPs
;	DNSBL_IGNORE		- Ignore (pretend to receive) mail from blacklisted IPs
;	DNSBL_BADUSER		- Report recipient failure for mail from blacklisted IPs
;	DNSBL_CHKRECVHDRS	- Check all "Received" header fields for blacklisted IPs
;	DNSBL_THROTTLE		- Throttle mail sessions from blacklisted IPs
202
;	DNSBL_SPAMHASH		- Calculate and store hashes of messages (SPAM) from blacklisted IPs
rswindell's avatar
rswindell committed
203
204
205
206
;	SEND_INTRANSIT		- Send mail even when flaggeed as 'in-transit'
;	RELAY_AUTH_PLAIN	- Use PLAIN SMTP authentication when relaying mail
;	RELAY_AUTH_LOGIN	- Use LOGIN SMTP authentication when relaying mail
;	RELAY_AUTH_CRAM_MD5	- Use CRAM MD5 SMTP authentication when relaying mail
207
;	NO_AUTO_EXEMPT		- Don't automatically DNSBL-exempt recipient e-mail addresses
rswindell's avatar
rswindell committed
208
;	NO_RECYCLE		- Don't allow server recycles
rswindell's avatar
rswindell committed
209
210
;	TLS_SUBMISSION	- Listen on the TLS "MSA" service port for mail submissions
;	TLS_POP3		- Listen on the TLS POP3 service port
rswindell's avatar
rswindell committed
211
; 	MUTE			- Don't play sound files
212
Options = ALLOW_POP3 | USE_SUBMISSION_PORT | TLS_SUBMISSION | TLS_POP3
213

214
[FTP]	FTP Server
215
216
217
218
219
220
221
222
	AutoStart = true
	Port = 21
	MaxClients = 10
	MaxInactivity = 300
	QwkTimeout = 600
	MinFileSize = 0
	MaxFileSize = 0
	Interface = 
223

224
225
226
227
228
229
        ; Passive transfer settings to work-around broken/stupid firewall/NAT devices
        ; see docs/tcpip_faq.html for details
        ; the LOOKUP_PASV_IP option can be useful for dynamic IPs
	PasvIpAddress = 0.0.0.0
	PasvPortLow = 1024
	PasvPortHigh = 65535
230

231
232
233
234
        ; Sound/wave files to play on specific events (Windows only):
	AnswerSound = 
	HangupSound = 
	HackAttemptSound = 
235

236
237
        ; Dynamically generated index files
	IndexFileName = 00index
rswindell's avatar
rswindell committed
238
239
240
241
242
243
; Supported options (separated with |):
;	DEBUG_RX
;	DEBUG_DATA
;	INDEX_FILE
;	DEBUG_TX
;	ALLOW_QWK
244
;       ALLOW_BOUNCE
245
;	NO_LOCAL_FSYS
rswindell's avatar
rswindell committed
246
247
;	DIR_FILES
;	KEEP_TEMP_FILES
248
;	LOOKUP_PASV_IP
rswindell's avatar
rswindell committed
249
; 	NO_HOST_LOOKUP
250
;	NO_RECYCLE
rswindell's avatar
rswindell committed
251
; 	MUTE
252
Options = INDEX_FILE | ALLOW_QWK
253

254
[Web]	Web (HTTP) Server
255
256
257
258
259
260
261
	AutoStart = true
        ; HTTP interface(s)
	Interface = 
	Port = 80
        ; HTTPS interface(s)
	TLSInterface = 
	TLSPort = 443
262
        TLSErrorLevel = Warning
263
        MaxClients = 150
264
	RootDirectory = ../webv4/root
265
266
267
268
269
270
271
272
273
274
	ErrorDirectory = error
	IndexFileNames = index.html,index.ssjs,index.xjs
	CGIDirectory = cgi-bin
	CGIExtensions = .cgi
	DefaultCGIContent = text/plain
	Authentication = Basic,Digest,TLS-PSK
	JavaScriptExtension = .ssjs
	MaxInactivity = 120
	MaxCgiInactivity = 120
        OutbufDrainTimeout = 10
275
	; Sets the base name of the HTTP access log files,
276
	; the current date and ".log" are appended.
277
	; Set to empty string to use default value ("../data/logs/http-")
278
	; Only created/appended if the HTTP_LOGGING option flag is enabled
279
	HttpLogFile = 
280
281
282
283
; Supported options (separated with |):
;	DEBUG_RX
;	DEBUG_TX
;	VIRTUAL_HOSTS
284
;	NO_CGI
285
;	ALLOW_TLS
286
;	HSTS_SAFE
287
;	HTTP_LOGGING 
288
289
290
291
; 	NO_HOST_LOOKUP
;	NO_RECYCLE
; 	NO_JAVASCRIPT
; 	MUTE
292
Options = NO_HOST_LOOKUP | ALLOW_TLS | NO_CGI
293

294
[Services]
295
	AutoStart = true
296
; Override the global/default values here:
297
298
299
	Interface = 
	AnswerSound = 
	HangupSound = 
rswindell's avatar
rswindell committed
300
301
302
; Supported options (separated with |):
; 	NO_HOST_LOOKUP
; 	MUTE
303
Options = NO_HOST_LOOKUP
304

rswindell's avatar
rswindell committed
305
306
[UNIX]
; User/group name to run as
307
308
	;User = admin
	;Group = wheel
309
; Run in background:
310
	Daemonize = False
311
; File to create/write-to with process identifier (when daemonized)
312
	PidFile = /var/run/sbbs.pid
313
; System log (syslog) facility to use (when daemonized)
rswindell's avatar
rswindell committed
314
315
316
317
318
319
320
321
322
; 1 = LOCAL1
; 2 = LOCAL2
; .
; .
; .
; S = Use standard facilities - be sure you understand the 
;     consequences of enabling this!
;     man syslog.conf(5) for more information.
; Defaults to using the USER facility.
323
	LogFacility = User
rswindell's avatar
rswindell committed
324
; syslog identity to use (when daemonized)
325
	LogIdent = synchronet
326
; Default file creation mask:
327
	umask = 077
rswindell's avatar
rswindell committed
328