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

You can donate to the Synchronet project using PayPal.

This is an old revision of the document!


FTP Server

The Synchronet FTP Server is a native server (written in C) which supports the FTP and FTPS TCP protocols for file transfer.

Anonymous Logins

So-called “Anonymous FTP” logins (client-login using the user-ID “anonymous”, “ftp”, or “guest”) are supported when the BBS user database contains a “Guest” user account.

Traditionally, the user's email address is given as the password during “anonymous FTP” logins. To block specific email addresses from being used in this manner, add the address(es) to your text/email.can file.

Sysop Access

To login with system operator access, the user must login with a user account that has a security level of 90 or higher and provide a password of “<user-pass>:<sys-pass>” where <user-pass> is the user's personal password and <sys-pass> is the system password as configured in SCFG->System.

A successful sysop login will generate a login message stating “Sysop access granted”.

230-Sysop access granted.

Logging in with just a personal password will give the user/sysop normal (non-sysop) access.

Sysop access allows the FTP user to mount local file systems and execute administrative commands via the FTP server.

When logged-in with sysop access, the user has access to the following additional FTP commands:

SMNT
SITE EXEC

Local File System Access

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 ctrl/sbbs.ini file or by un-checking the “Local File System” checkbox in the 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:.

Configure

The Synchronet FTP server is configured via settings in the FTP section of the ctrl/sbbs.ini file.

[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
        ; the LOOKUP_PASV_IP option can be useful for dynamic IPs
	PasvIpAddress = 0.0.0.0
	PasvPortLow = 1024
	PasvPortHigh = 65535
 
        ; Sound/wave files to play on specific events (Windows only):
	AnswerSound = 
	HangupSound = 
	HackAttemptSound = 
 
        ; Dynamically generated index files
	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

Options

FIXME

Aliases

You can create a list of file aliases that will appear in your FTP root directory for:

  • Quick and easy access to often downloaded user files
  • Static filenames that corresponds to a dynamically changing filenames
  • Download access to files on the local disk not in the BBS file database

Edit the file ctrl/ftpalias.cfg with a text editor (SBBSCTRL->FTP->Edit->Filename Aliases).

The ftpalias.cfg file format is one file or directory alias per line, in the form:

<alias>  <path>  [description]

The <alias> field is not case-sensitive and may not contain spaces. This is the filename that will appear in listing of your FTP root directory.

The <path> field is either the full path and filename to a file on a local file system (e.g. C:\DOCS\MYFILE.TXT or /docs/myfile.txt) or a virtual path to a file in the BBS file database. Virtual paths are specified as

bbs://lib/dir/filename

where lib is the library short name, dir is the directory internal code and filename is the actual filename of the referenced file (may be the long filename, but may not contain spaces).

The [description] field is the optional description of the file that will be used in the dynamically generated Auto Index file (if you have this option enabled). Descriptions of “hidden” indicate files or directories that are not be included in listings.

Blank lines are ignored.

Lines beginning with a semicolon (;) character are considered comments and are ignored.

Example Alias:

sbbs_for_dos.zip   bbs://main/sbbs/sbbs230b.zip   Current version for SBBS for DOS

Supported Commands

FIXME

See Also