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)
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)
XTRA_IPS= (used to tell the server which IPs on the local machine can be used in passive mode)
XCLU_IPS= (used to tell the server which IPs on the local machine should not be used in passive mode)
AUTO_CHOOSE_IP=1 (automatically choose server ip for you 0=no 1=yes)
FORCE_LAN_IP= (set to the LAN ip you want to use for passive mode)
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))
OUTLIMIT_RECORD=n/m (for server to store information about outlimit record)
INLIMIT=n/m (while n is the input limit (megabytes) during the period m (minutes))
INLIMIT_RECORD=n/m (for server to store information about outlimit record)
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)
ENCRYPT_LOG=0 (1 to use encrypted LOG , only available in registered version)
UTF8_LOG=0 (1 to use separated LOG file for UTF8 (Unicode) pathnames)
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)
ANTI_HAMMER=1/60/10/120(enable/check period (sec)/check times(within period)/ban time(sec))
GLOBAL_DLSPD=0 (set the global speed limit (kb) for all downloaders)
GLOBAL_ULSPD=0 (set the global speed limit (kb) for all uploaders)
DENY_VLS=0 (whether to deny VLS connections or not)
onNewDir=(event trigger that occurs when user creates a new directory)
onDelDir=(event trigger that occurs when user deletes a directory)
onDeledDir=(event trigger that occurs when a directory is actually deleted)
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)
onSiteCmd2=(extra site command hook)
onSiteCmd3=(extra site command hook)
onSiteCmd4=(extra site command hook)
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)
onDeledDir=(event trigger that occurs when a directory is actually deleted)
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 : about event triggers handlers

 

Copyright © 2000-2005 RaidenFTPD TEAM , ALL RIGHT RESERVED

REVISION 2.4 , 2004/04/01