Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision |
server:ftp [2020/12/29 23:33] – [Configure] Add MaxConcurrentConnections to example [ftp] section from sbbs.ini digital man | server:ftp [2021/02/15 14:16] – [Options] Document new ALLOW_BOUNCE option digital man |
---|
| |
Local file system access is enabled by default. Local file system access can be disabled with the ''NO_LOCAL_FSYS'' ''Options'' flag in the ''[FTP]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file or by un-checking the "Local File System" checkbox in the [[monitor:sbbsctrl|Synchronet Control Panel]]->FTP->Configure dialog. | Local file system access is enabled by default. Local file system access can be disabled with the ''NO_LOCAL_FSYS'' ''Options'' flag in the ''[FTP]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file or by un-checking the "Local File System" checkbox in the [[monitor:sbbsctrl|Synchronet Control Panel]]->FTP->Configure dialog. |
| |
When local file system access is enabled, a user with sysop access can "mount" a local file system using the FTP ''CWD'' or ''XCWD'' commands to change to "local://<path>//" where //<path>// is the local file system directory to mount. An alternative method of mounting the local file system is to use the ''SMNT //<local-dir>//'' command. To re-mount (switch back to) the BBS file system, the ''SMNT bbs:'' command can be used or ''CWD''/''XCWD'' command with a path beginning with ''bbs:''. | When local file system access is enabled, a user with sysop access can "mount" a local file system using the FTP ''CWD'' or ''XCWD'' commands to change to "local://<path>//" where //<path>// is the local file system directory to mount. An alternative method of mounting the local file system is to use the ''SMNT //<local-dir>//'' command. To re-mount (switch back to) the BBS file system, the ''SMNT bbs:'' command can be used or ''CWD''/''XCWD'' command with a path beginning with ''bbs:''. |
| |
===== Configure ===== | |
The Synchronet FTP server is configured via settings in the ''[[FTP]]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file. | |
| |
<file sbbs.ini> | ===== sbbs.ini ===== |
[FTP] | The ''[ftp]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following configuration settings (''key = value'' lines): |
AutoStart = true | |
Port = 21 | |
MaxClients = 10 | |
MaxConcurrentConnections = 0 | |
MaxInactivity = 300 | |
QwkTimeout = 600 | |
MinFileSize = 0 | |
MaxFileSize = 0 | |
Interface = | |
| |
; Passive transfer settings to work-around broken/stupid firewall/NAT devices | ^ Key ^ Default Value ^ Description ^ |
; the LOOKUP_PASV_IP option can be useful for dynamic IPs | | AutoStart | true | Automatically start up the server (manual is only supported in [[monitor:sbbsctrl]]) | |
PasvIpAddress = 0.0.0.0 | | Interface | [global] | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming TCP connections | |
PasvPortLow = 1024 | | Port | 21 | Control TCP Port | |
PasvPortHigh = 65535 | | MaxClients | 10 | Maximum number of simultaneous incoming TCP sessions supported | |
| | MaxConcurrentConnections | 0 | Maximum number of concurrent connections from the same IP address (0 = unlimited) | |
| | MaxInactivity | 300 | Maximum amount of TCP session inactivity before timeout and disconnection (in seconds) | |
| | QwkTimeout | 600 | Maximum amount of time to wait for QWK packet creation (in seconds) | |
| | SemFileCheckFrequency | [global] | Frequency (in seconds) of checks for semaphore files | |
| | MinFileSize | 0 | Minimum uploaded file size, in bytes (0 = no-minimum) | |
| | MaxFileSize | 0 | Maximum uploaded file size, in bytes (0 = no-maximum) | |
| | PasvIpAddress | 0 | IPv4 address to advertise for PASV client data connections (0 = auto) | |
| | PasvPortLow | 1024 | Lowest TCP port number to use for PASV data connections | |
| | PasvPortHigh | 65535 | Highest TCP port number to use for PASV data connections | |
| | HostName | [global] | DNS Hostname of server | |
| | IndexFileName | 00index | Filename to use for auto-generated downloadable file listings | |
| | AnswerSound | | WAV file to play (on Windows) when answering incoming connections | |
| | HangupSound | | WAV file to play (on Windows) when clients disconnect | |
| | HackAttemptSound | | WAV file to play (on Windows) upon detected suspected hack attempt | |
| | TempDirectory | [global] | Directory to use for temporary file storage | |
| | LogLevel | [global] | Minimum severity of log messages to be displayed / stored | |
| | BindRetryCount | [global] | Maximum number of TCP port bind attempts before failure | |
| | BindRetryDelay | [global] | Delay (in seconds) between TCP port bind retries | |
| | LoginAttempt* | [global] | Failed login attempt throttling / filtering / banning | |
| | Options | ''ALLOW_INDX_FILE | ALLOW_QWK'' | FTP server option flags (see below for details) | |
| |
; Sound/wave files to play on specific events (Windows only): | ==== Options ==== |
AnswerSound = | |
HangupSound = | |
HackAttemptSound = | |
| |
; Dynamically generated index files | The ''Options'' key of the ''[ftp]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following option flags (separated by a ''|'' character): |
IndexFileName = 00index | |
; Supported options (separated with |): | |
; DEBUG_RX | |
; DEBUG_DATA | |
; INDEX_FILE | |
; DEBUG_TX | |
; ALLOW_QWK | |
; NO_LOCAL_FSYS | |
; DIR_FILES | |
; KEEP_TEMP_FILES | |
; LOOKUP_PASV_IP | |
; NO_HOST_LOOKUP | |
; NO_RECYCLE | |
; MUTE | |
Options = INDEX_FILE | ALLOW_QWK | |
</file> | |
| |
==== Options ==== | ^ Option ^ Description ^ |
FIXME | | DEBUG_RX | Log all received commands (Debug log level) | |
| | DEBUG_TX | Log all transmissions (Debug log level) | |
| | DEBUG_DATA | Log all DATA channel activity | |
| | INDEX_FILE | Auto-generate index (listing) files for optional download | |
| | ALLOW_QWK | Allow download/upload of QWK/REP packets | |
| | ALLOW_BOUNCE | Allow authenticated non-guest/anonymous users to use FTP Bounce (FXP) functionality - not recommended | |
| | NO_LOCAL_FSYS | Disable local file system access (for sysops) | |
| | DIR_FILES | Allow access to files that are not in filebases | |
| | KEEP_TEMP_FILES | Don't delete temporary files, for debug purposes | |
| | LOOKUP_PASV_IP | Resolve public IP address for PASV response | |
| | NO_HOST_LOOKUP | Do not resolve/log hostnames of incoming TCP connections | |
| | NO_RECYCLE | Do not allow this server to be automatically recycled by external event | |
| | MUTE | Disable all sound (WAV) files from playing | |
| |
===== Aliases ===== | ===== Aliases ===== |