Q:How to design a RaidenFTPD server file *.ftpd?

A:To design a RaidenFTPD configuration file you can use 2 methods , the simplest way is to use step by step wizard you can find in MENU->SETUP->STEP BY STEP SERVER WIZARD , or an one page setup dialog in the MENU->SETUP->FTP SERVERS , If you like to edit it by external text editor please refer to the following text . The RaidenFTPD configuration files are saved as *.ftpd , and simply use RaidenFTPD.EXE to edit and save this configuration file , after you save it you can modify it by external text editor and here is the format specification of the *.ftpd file , the blue text are just descriptions and they should not be added to a real *.ftpd file
[FTPD]
SERVER_NAME=RAiDEN (server's name)
SERVER_IP=90.0.0.3 (server's ip address)
LISTEN_PORT=169 (server's listen port 1-65535)
ALLOW_ANON=1 (allows anonymous ? 1=allow 0=deny)
ALLOW_ANON=1 (allows anonymous ? 1=allow 0=deny)
USE_ANON_MAX=1 (restrict max anonymous users ? 1=restrict 0=no)
USE_ANON_MAX=1 (restrict max anonymous users ? 1=restrict 0=no)
USE_ANON_MAX=1 (restrict max anonymous users ? 1=restrict 0=no)
ANON_MAX=16 (max anonymous users ? 1-n)
USE_USER_MAX=1 (restrict max normal users ? 1=yes 0=no)
USER_MAX=9999 (max normal users)
USE_MAXUSER_PER_IP=1 (restrict max connected users from same ip? 1=yes 0=no)
MAXUSER_PER_IP=32 (max connected users from the same ip)
IPCHK=1 (ip checking 0=no 1=check before login 2=check after login)
IPCHK_DATA=0 (ip checking for data connection , 1=yes 0=no , warning : do not set to 1 unless you know what are you doing)
PASV_IP_ROLLING=0 (always use different ip as PASV ip , if your server has more than one ip , 0=no 1=yes)
AUTO_CHOOSE_IP=1 (automatically choose server ip for you 0=no 1=yes)
VFSFILE=C:\Program Files\RaidenFTPD\RaidenFTPD.vfs (the full pathname of your virtual filesystem file)
USRFILE=C:\Program Files\RaidenFTPD\RaidenFTPD.user (the full pathname of your user file)
IPFILE=C:\Program Files\RaidenFTPD\RaidenFTPD.allow (the full pathname of your ip checking file)
USE_DATAPORT_RANGE=0 (specify port ranges for pasv data connections , 0=no(automatic) 1=yes)
PORT_FROM=5000 (if USE_DATAPORT_RANGE is 1 , this must be set)
PORT_TO=9999 (if USE_DATAPORT_RANGE is 1 , this must be set)
TIMEOUT=600 (disconnect an user if the user has been idling for nnn seconds)
SHOWHIDDEN=1 (if 1 then the server will display files/directories with hidden attribute in the harddisk , if it is 0 then the server will hide them for you)
OUTLIMIT = n/m (while n is the output limit (megabytes) during the period m (minutes))
INLIMIT = n/m (while n is the input limit (megabytes) during the period m (minutes))
MSG=1 (if 1 then the server will display ./message/*.msg files upon events ,set to 0 if you don' want them)
LOG=1 (if 1 then the server log the client activities , set to 0 if you don't want file logging)
LOGNAME=fixed (log file name rotation , fixed , daily , monthly , yearly)
DIRMSG=1 (if 1 then the server will display directory message file specified in DIRMSGFILE , set to 0 if you don't want directory msg)
DIRMSGFILE=message.txt (the filename of the file which will be displayed to user when he enters a directory with this file)
USE_MEM_DB=0 (0 or 1 , set to 0 to use traditional user db and set to 1 to use mem-db , note that mem-db is faster but user file on the disk is not always up-to-date)
DUPECHK=1 (0=disabled , 1=online dupecheck , 2=online+offline dupecheck)
DUPECHKDB=C:\Program Files\RaidenFTPD\files.lst (the full path name of your offline dupe-db which can be created by DupeMaker)
DUPECHKSHOWFULL=1 (1=display full path when user performs 'site srch' command , 0=relative path)
OVERWRITE_COMPLETE=1 (1=allows user to overwrite complete file , the complete file means file that passes SFV/MD5/ZIP verification)
DNS_LOOKUP=1 (1=perform dns lookup on user logs in , if it is set to 0 , the domain name checker will not work)
SFV_CHK=1 (1=enable SFV/MD5 verification on uploads)
ZIP_CHK=1 (0=no , 1=yes (rename to .bad if error occurs) , 2=yes (delete bad zip directly))
SHOW_ITEM_NO_R=1 (1=normal mode,0=hide files if the user does not have read permission on it)
ANTI_NOOP=1 (1=does not update time stamp when user sends a NOOP command)
onNewDir=(event trigger that occurs when user creates a new directory)
onDelDir=(event trigger that occurs when user deletes a directory)
onMoveDir=(event trigger that occurs when user moves a directory by site move command)
onUserLogin=(event trigger that occurs when user logs in)
onUserLoginFailed=(event trigger that occurs when user fails to login)
onUserLogout=(event trigger that occurs when user logs out)
onFileUploaded=(event trigger that occurs when user uploads a file)
onSfvUploaded=(event trigger that occurs when user uploads a *.sfv or *.md5 files)
onSfvFailed=(event trigger that occurs when the file user uploads does not pass crc/md5 check)
onSfvSuccess=(event trigger that occurs when the file user uploads pass the crc/md5 check)
onSfvPreDelete=(event trigger that occurs when the *.sfv file is going to be deleted
onSfvComplete=(event trigger that occurs when all files listed in a *.sfv/*.md5 file are uploaded and checked successfully)
onFileDownloaded=(event trigger that occurs when the user downloaded a file)
onFilePreUpload=(event trigger that occurs when the user is just starting to upload a file)
onFilePreDelete=(event trigger that occurs before the user deletes a file)
onFileDeleted=(event trigger that occurs when the user deletes a file successfully)
onMp3Uploaded=(event trigger that occurs when the user uploads a mp3 file)
onZipUploaded=(event trigger that occurs when the user uploads a zip file)
onNukeDir=(event trigger that occurs when the user sends the command site nuke)
onSiteCmd=(event trigger that occurs when the user sends any site command , this is executed before the excution of site command)
BOUNCERIP= (If you want to use a FTPD protocol bouncer which supports IDNT command , enter its IP here)
EXCEPT_SITE_CMD_R= (put the site commands you wish to disable here , e.g. =who,utop,dtop , for root level users)
EXCEPT_SITE_CMD_S= (put the site commands you wish to disable here , e.g. =who,utop,dtop , for super level users)
EXCEPT_SITE_CMD_N= (put the site commands you wish to disable here , e.g. =who,utop,dtop , for normal level users)
EXCEPT_SITE_CMD_G= (put the site commands you wish to disable here , e.g. =who,utop,dtop , for guest level users)
ADVANCED=1 (If you want to use the advanced eggdrop features you must set this to 1)
[EGGDROP]
enable=0 (if this is set to 1 , the server will try to connect to EGGDROP by the following IP+PORT L/P)
user= (user account on the EGGDROP)
pass= (user pass on the EGGDROP)
ip= (IP of the EGGDROP)
port= (listen port of the EGGDROP)
onNewDir=(event trigger that occurs when user creates a new directory)
onDelDir=(event trigger that occurs when user deletes a directory)
onMoveDir=(event trigger that occurs when user moves a directory by site move command)
onUserLogin=(event trigger that occurs when user logs in)
onUserLogout=(event trigger that occurs when user logs out)
onFileUploaded=(event trigger that occurs when user uploads a file)
onSfvUploaded=(event trigger that occurs when user uploads a *.sfv or *.md5 files)
onSfvFailed=(event trigger that occurs when the file user uploads does not pass crc/md5 check)
onSfvPreDelete=(event trigger that occurs when the *.sfv file is going to be deleted
onSfvSuccess=(event trigger that occurs when the file user uploads pass the crc/md5 check)
onSfvComplete=(event trigger that occurs when all files listed in a *.sfv/*.md5 file are uploaded and checked successfully)
onFileDownloaded=(event trigger that occurs when the user downloaded a file)
onFilePreUpload=(event trigger that occurs when the user is just starting to upload a file)
onFileDeleted=(event trigger that occurs when the user deletes a file successfully)
onMp3Uploaded=(event trigger that occurs when the user uploads a mp3 file)
onZipUploaded=(event trigger that occurs when the user uploads a zip file)
onNukeDir=(event trigger that occurs when the user sends the command site nuke)
onSiteCmd=(event trigger that occurs when the user sends any site command , this is executed before the excution of site command)
note : the event triggers can trigger 2 types of program now , one is local executable file . for example Scan for virues when user uploads a file if you are using norton antivirues 2001 try the command line utility from norton "navdx" first get the short path name of norton antivirues's path ex c:\nav and in *.ftpd file edit this line onFileUploaded=file://c:\nav\navdx.exe %q%Q and it will call NAV to scan your file everytime a file is uploaded however you need to get the SHORTPATH name for your navdx . Submit to a remote web server CGI program when an user logs in if you are running some kind of database server and having a CGI program interface , you may want to keep the login records in the database server , in RaidenFTPD this can be very simple , if your CGI program location is http://127.0.0.1/cgi/addlogin.cgi , and if it require 2 parameters username and time , you simply need to edit this line in the RaidenFTPD *.ftpd file onUserLogin =http://127.0.0.1/cgi/addlogin.cgi?username=%S&time=%t and it will call this CGI when user logs in your server , and sending his username and current time to the CGI program if you are interested in how many variables can you use , please see this page help-variables.html

Copyright © RaidenFTPD TEAM , ALL RIGHT RESERVED

REVISION 2.2 , 2002/01/02