Synchronet v3.19b-Win32 (install) has been released (Jan-2022).

You can donate to the Synchronet project using PayPal.

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
server:ftp [2020/12/29 23:33] – [Configure] Add MaxConcurrentConnections to example [ftp] section from sbbs.ini digital manserver:ftp [2021/09/09 20:11] – [Display Files] I guess these were never documented anywhere digital man
Line 28: Line 28:
  
 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 +
- 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.+| 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                   | Maximum uploaded file size, in bytes (= no-maximum) | 
 +| PasvIpAddress                 | IPv4 address to advertise for PASV client data connections (= 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 =====
Line 111: Line 113:
 Example Alias: Example Alias:
   sbbs_for_dos.zip   bbs://main/sbbs/sbbs230b.zip   Current version for SBBS for DOS   sbbs_for_dos.zip   bbs://main/sbbs/sbbs230b.zip   Current version for SBBS for DOS
 +
 +===== Display Files ===== 
 +
 +The Synchronet FTP server can optionally send text files from your ''[[dir:text]]'' directory to the FTP client/user under certain conditions:
 +
 +^ Filename            ^ Description ^
 +| ''ftplogin.txt''    | Sent before the username and password is requested |
 +| ''ftphello.txt''    | Sent upon successful login |
 +| ''ftpbadlogin.txt'' | Sent upon unsuccessful login attempt |
 +| ''ftpbye.txt''      | Sent upon logoff (before server acknowledgment of the ''QUIT'' command) |
  
 ===== Supported Commands ===== ===== Supported Commands =====