Code:
[Threads]
Process_Priority = NORMAL # Suggested process base priority
# (Idle/Normal/High/Realtime)
Io_Threads = 2 # Number of io threads
Worker_Threads = 1 # Number of worker threads
Worker_Fibers = 50 # Initial number of fibers
Encryption_Threads = 2 # Number of encryption threads
# the window name, used by third party scripts and services to communicate
# with ioFTPD. the default is fine unless you are running two copies of
# ioFTPD.
WindowName = ioFTPD::MessageWindow
[File]
MessageCache_Size = 1000 # Amount of message files to cache
DirectoryCache_Size = 1000 # Amount of directories to cache per
# cache bucket (8 buckets)
Device_Concurrency = 5 # Maximum simultanous io operations
# per device
Upload_PreAllocation = 0 #
[Locations]
User_Id_Table = ..\etc\UserIdTable
Group_Id_Table = ..\etc\GroupIdTable
Hosts_Rules = ..\etc\Hosts.Rules
User_Files = ..\users
Group_Files = ..\groups
Log_Files = ..\logs
Cache_Files = ..\cache
Default_Vfs = ..\etc\default.vfs
Environment = ..\etc\ioftpd.env
[Any]
Host = 0.0.0.0
Ports = 1024-2048
Random = True
;Global_Inbound_Bandwidth = 10000
;Global_Outbound_Bandwidth = 10000
;Client_Inbound_Bandwidth = 100 [*registered version*]
;Client_Outbound_Bandwidth = 50 [*registered version*]
;Bind =
##
## the services section is used to configure ftp, telnet, and http services
## in ioFTPD. by default ioFTPD is configured as a small public server.
##
# allow up to 10 simultaneous users of any class to login
# over ftp port 3232.
#
[FTP_Service]
Type = FTP
Device_Name = Any
Port = 3232
Description = My FTP Service
User_Limit = 10
Allowed_Users = *
Messages = ..\text\ftp
#
# Encryption
#
Require_Encrypted_Auth = !*
Require_Encrypted_Data = !*
Certificate_Name = ioFTPD
Explicit_Encryption = True
# valid values are SSL, SSL2, and SSL3
Encryption_Protocol = SSL3
Min_Cipher_Strength = 128
Max_Cipher_Strength = 256
# IDNT command handler
Get_External_Ident = True
# Traffic Balancing
;Data_Devices =
;Random_Devices = True
# allow up to 10 simultaneous users with the 'T' flag to
# login over telnet port 10001. other users are disallowed
# access.
#
[Telnet_Service]
Type = Telnet
Device_Name = Any
Port = 10001
Description = My Telnet Service
User_Limit = 10
Allowed_Users = T !*
Messages = ..\text\telnet
# allow up to 50 simultaneous users with the 'H' flag to
# login over http port 10000. other users are disallowed
# access.
#
[HTTP_Service]
Type = HTTP
Device_Name = Any
Port = 10000
Description = My HTTP Service
User_Limit = 50
Allowed_Users = H !*
Messages = ..\text\http
#
# Encryption
#
Certificate_Name = ioFTPD
Explicit_Encryption = True
# valid values are SSL, SSL2, and SSL3
Encryption_Protocol = SSL3
Min_Cipher_Strength = 128
Max_Cipher_Strength = 256
############################## END OF SERVICES ###############################
[Network]
Active_Services = FTP_Service Telnet_Service HTTP_Service
Ident_Timeout = 5 # Set ident timeout (seconds)
Hostname_Cache_Duration = 1800 # Seconds cached hostname is valid
Ident_Cache_Duration = 120 # Seconds cached ident is valid
Connections_To_Ban = 1000000 #
Ban_Counter_Reset_Interval = 30 #
Temporary_Ban_Duration = 1200 # Seconds host remains banned
Internal_Transfer_Buffer = 65536 # Internal transfer buffer size
Scheduler_Update_Speed = NORMAL # Socket scheduler update speed
# (HIGH/NORMAL/LOW/DISABLED)
[Ftp]
Idle_TimeOut = 120
Login_Attempts = 3
Login_TimeOut = 15
Socket_Send_Buffer = 4096
Socket_Recv_Buffer = 1024
DataSocket_Nagle = False
Transfer_Buffer = 65536 # For maximum scalability, set Transfer &
# DataSocket buffers to to low values
DataSocket_Send_Buffer = 32864
DataSocket_Recv_Buffer = 32864
[Telnet]
Idle_TimeOut = 120
Login_TimeOut = 15
Socket_Send_Buffer = 4096
Socket_Recv_Buffer = 1024
[Http]
Keep_Alive = 180
Max_Memory_Content = 1024000 # Maximum bytes of GET/PUT/POST/HEAD
# content to cache in memory
;Socket_Send_Buffer = 16384
;Socket_Recv_Buffer = 16384
[Sections]
## Maximum of 10 different credit sections ##
#
# <alias> = <credit section #> <path>
# <alias> = <credit section #> <stats section #> <path>
#
Home = 0 1 /home/*
Default = 0 *
[VFS]
# Default attributes for files & directories. ioFTPD uses unix-style
# permissions, meaning there is a user and group id which determines
# the access rights for a file. file permissions are specified with
# the standard execute/write/read bit for user, group, and other.
#
# the default is to give everyone access to all files and directories,
# which are owned by user ioFTPD.
#
# format: <filemode> <owner uid>:<owner gid>
#
Default_Directory_Attributes = 755 0:0
Default_File_Attributes = 644 0:0
# Command specific rules
Modify_Stats_On_Delete = False
#
# Detailed permissions for directories
#
# priviledge = <virtual path> <rights>
#
Upload = * *
Resume = * *
Download = * *
MakeDir = * *
RemoveOwnDir = * *
RemoveDir = * 1VM
Rename = * 1VM
RenameOwn = * *
Overwrite = * 1VM
Delete = * 1VM
DeleteOwn = * *
NoStats = * =lSpeed !*
[Reset]
WeeklyReset = Sunday
MonthlyReset = 1st
[Scheduler]
###
# Scheduler
#
# Event = <minutes> <hours> <day of month> <day of week> Command
#
# Internal Commands:
#
# &Reset : Resets upload/download counters
# &Service_Update : Reloads devices and Restarts services, if bind ip of service has changed
#
Reset = 0 0 * * &Reset
Service_Update = 10,30,50 * * * &Service_Update
[Events]
;OnUploadError =
;OnUploadComplete = EXEC d:\test.bat
;OnUploadComplete = TCL ..\scripts\test2.itcl
;OnDownloadError =
;OnDownloadComplete =
;OnResume =
;OnUpload =
;OnNewDir =
;OnDelDir =
;OnLogIn =
;OnServerStart =
;OnServerStop =
;OnServiceStart =
;OnServiceStop =
##
## modules are used to control internal behaviour of ioFTPD.
## this interface is poorly documented at the moment.
##
[Modules]
;MessageVariableModule = ..\modules\cookie.dll
;UserModule = ..\modules\networkuser.dll
;GroupModule = ..\modules\networkgroup.dll
;EventModule = ..\modules\eventmodule.dll
[FTP_Pre-Command_Events]
;list =
;stor =
;mkd =
[FTP_Post-Command_Events]
;mkd =
;rmd =
;stor =
;dele =
[FTP_Custom_Commands]
RSA = EXEC ..\scripts\cert\rsa.bat
## SITE <trigger> <parameters>
#
# trigger = !file # Show file
# trigger = @string # Alias
# trigger = EXEC script.exe # Execute file.exe
# trigger = %EXEC script.exe # Execute file.exe (translate cookies)
# trigger = TCL script.itcl # Execute file.itcl
#
## Examples
# welcome = !..\text\ftp\welcome.msg
# rehash = @config rehash
# exec = EXEC ..\scripts\exec.bat
# myinfo = %TCL ..\scripts\whoami.itcl %[$user]
# cat = TCL ..\scripts\showfile.itcl
#
TCL = TCL ..\scripts\test2.itcl
#TCL = TCL ..\scripts\bottalk.itcl
BAT = EXEC d:\test.bat
WHO = TCL ..\scripts\BlzBot.itcl
[Telnet_Binaries]
hello = EXEC d:\ioFTPD\site\bin\hello.bat
[FTP_Command_Permissions]
[FTP_SITE_Permissions]
## SITE <cmd> ##
#
# 'M' - MASTER
# 'V' - VFS ADMINISTRATOR
# 'G' - GROUP ADMIN RIGHTS
# 'F' - FXP DENIED (DOWNLOAD)
# 'f' - FXP DENIED (UPLOAD)
# 'L' - SKIP USER LIMIT PER SERVICE
# 'A' - ANONYMOUS
#
adduser = 1GM
deluser = 1GM
renuser = 1M
gadduser = 1GM
grpadd = 1M
grpdel = 1M
grpren = 1M
chgrp = 1M
kick = 1GM
kill = 1M
addip = 1GM
delip = 1GM
passwd = !A *
stats = !A *
tagline = !A *
swho = 1MG
chmod = !A *
chown = MV
chattr = MV
config = M
uinfo = 1GM
ginfo = 1GM
users = 1GM
groups = 1GM
shutdown = M
bans = 1M
[Telnet_Command_Permissions]
adduser = 1GM
deluser = 1GM
renuser = 1M
gadduser = 1GM
grpadd = 1M
grpdel = 1M
grpren = 1M
kick = 1GM
kill = 1M
addip = 1GM
delip = 1GM
chmod = !A *
chown = MV
chattr = MV
list = *
cd = *
passwd = *
stats = *
tagline = *
swho = 1MG
chgrp = 1M
config = M
uinfo = 1GM
ginfo = 1GM
users = 1GM
groups = 1GM
shutdown = M
bans = 1M
[Telnet_Binary_Permissions]
[Change_Permissions]
admingroup = 1M
credits = 1M
flags = 1M
groupdescription = 1M
groupslots = 1M
groupvfsfile = M
homedir = 1GM
logins = 1M
passwd = 1GM
ratio = 1GM
stats = M
tagline = 1GM
showjobs = M
speedlimit = 1M
vfsfile = M
[Http_Permissions]
users = 1GM
uinfo = 1GM
addip = 1GM
delip = 1GM
config = M