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 [2019/06/19 17:25] – A first cut. Some content pasted from http://synchro.net/docs/file_section.html#SynchronetFTPServer 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> 
-        ; see docs/tcpip_faq.html for details +╔══════════════════════════════════════════════╗ 
-        ; the LOOKUP_PASV_IP option can be useful for dynamic IPs +║                  FTP Server                  ║ 
- PasvIpAddress = 0.0.0.0 +╠══════════════════════════════════════════════╣ 
- PasvPortLow = 1024 +║ │Enabled                       Yes           ║ 
- PasvPortHigh = 65535+║ │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 +
- HtmlIndexFile = 00index.html +
- HtmlIndexScript = ftp-html.js +
-; Supported options (separated with |): +
-; DEBUG_RX +
-; DEBUG_DATA +
-; INDEX_FILE +
-; DEBUG_TX +
-; ALLOW_QWK +
-; NO_LOCAL_FSYS +
-; DIR_FILES +
-; KEEP_TEMP_FILES +
-; HTML_INDEX_FILE +
-; LOOKUP_PASV_IP +
-; NO_HOST_LOOKUP +
-; NO_RECYCLE +
-; NO_JAVASCRIPT +
-; MUTE +
-Options = INDEX_FILE | HTML_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 115: 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 =====
server/ftp.1560990342.txt · Last modified: 2019/06/19 17:25 by digital man
Back to top
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0