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
server:ftp [2020/12/29 23:32] – [Configure] Remove references to 00index.html and JS digital manserver:ftp [2023/12/23 01:59] (current) – [Configure] Updated SCFG screenshot 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 ===== ===== Configure =====
-The Synchronet FTP server is configured via settings in the ''[[FTP]]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file. 
  
-<file sbbs.ini> +The Synchronet FTP server can be configured via [[util:SCFG]]:Servers->FTP Server:
-[FTP] +
- AutoStart = true +
- Port = 21 +
- MaxClients = 10 +
- MaxInactivity = 300 +
- QwkTimeout = 600 +
- MinFileSize = 0 +
- MaxFileSize = 0 +
- Interface = +
  
-        ; Passive transfer settings to work-around broken/stupid firewall/NAT devices +<file> 
-        ; the LOOKUP_PASV_IP option can be useful for dynamic IPs +╔══════════════════════════════════════════════╗ 
- PasvIpAddress = 0.0.0.0 +║                  FTP Server                  ║ 
- PasvPortLow = 1024 +╠══════════════════════════════════════════════╣ 
- PasvPortHigh = 65535+║ │Enabled                       Yes           ║ 
 +║ │Log Level                     Informational ║ 
 +║ │Network Interfaces            0.0.0.0, ::   ║ 
 +║ │Control Port                  21, Data: 20  ║ 
 +║ │Passive Interface (IPv4)      0.0.0.0       ║ 
 +║ │Passive Port Range            1024 - 65535  ║ 
 +║ │Auto-generate Index File      00index       ║ 
 +║ │QWK Message Packet Transfers  Yes           ║ 
 +║ │QWK Message Packet Timeout    10 minutes    ║ 
 +║ │Max Clients                   100           ║ 
 +║ │Max Inactivity                5 minutes     ║ 
 +║ │Max Concurrent Connections    Unlimited     ║ 
 +║ │Sysop File System Access      Yes           ║ 
 +║ │Allow Bounce Transfers        No            ║ 
 +║ │Lookup Client Hostname        Yes           ║ 
 +║ │Failed Login Attempts...                    ║ 
 +╚══════════════════════════════════════════════╝ 
 +</file>
  
-        ; Sound/wave files to play on specific events (Windows only): +... via [[monitor:SBBSCTRL]]:FTP->Configure:
- AnswerSound =  +
- HangupSound =  +
- HackAttemptSound = +
  
-        ; Dynamically generated index files +{{:server:sbbsctrl.320.ftp.config.png?|}}
- 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 ==== +... or via manual editing of the ''[FTP]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file. 
-FIXME+ 
 +==== sbbs.ini ==== 
 + 
 +The ''[ftp]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following configuration settings (''key = value'' lines): 
 + 
 +^ Key               ^ Default Value ^ Description ^ 
 +| AutoStart         | true          | Automatically start up the server (manual is only supported in [[monitor:sbbsctrl]]) | 
 +| Interface         | [global]      | Comma-separated list of IPv4 and IPv6 network interfaces to listen on for incoming TCP connections | 
 +| Port              | 21            | Control TCP Port | 
 +| 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) | 
 + 
 +=== Options === 
 + 
 +The ''Options'' key of the ''[ftp]'' section of the ''[[dir:ctrl]]/[[config:sbbs.ini]]'' file supports the following option flags (separated by a ''|'' character): 
 + 
 +^ Option              ^ Description ^ 
 +| 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) | 
 +| 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 110: Line 146:
 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 =====