|Open and extensible SQL database for server and
||Unlike many servers which use by default
proprietory file formats or simple ini files, BlackMoon FTP server uses an open
and extensible database format for storing all accounts and server information.
With your sensitive data all in one location creating and restoring backups is
easy. Using a real database also allows server administrators to add extend or
integrate their custom fields or tables without affecting the server database.
Databases can safely and securely be accessed over a network and protected with
a username and password either through a system dsn or a direct connection
string. With BlackMoon FTP server, your user database can be kept on a separate
computer which can be assessed by multiple BlackMoon FTP Servers all over the
The ftp server intelligently creates all the required tables automatically, no
manual creation required. Newer versions will add tables and fields as required
without affecting older versions in case you need to rollback.
|Virtual Folders and Merging Folders
BlackMoon has a powerful and easy to use virtual folder system. Virtual folders
are folders that appear to be part of the root folder but are physically
located elsewhere on the drive. BlackMoon's virtual folder system supports UNC
paths and virtual subfolders. No ini files to edit, all configuration is done
through the GUI and all permissions are just a button click away.
Merge folders are also supported. Merge folders allow the contents of two
physically separate folders to appear as one to the ftp client. The number of
folders to be merged is unlimited. Merge folders can be added and removed to
the root folder or other virtual folders.
The root folder and other virtual folders have their permissions independent of each other. Folders
under the root or virtual folders inherit permissions from their parents. To set permissions for
subfolders, the administrator simply navigates the folder tree, enables the subfolder permission
and sets the appropriate permissions for the selected subfolder.
Changing the properties of root or virtual folders is just a right click away. Display names, paths
and even UNC path login and password settings can be modified without deleting and readding the folders
||BlackMoon supports many administrative features in
windows2000, xp and 2003. It uses the event logging API to log server errors
and notify administrators of important server activity. These can be viewed
with the system event viewer. The ftp service is installed as a ssytem service
and configured by default to restart the service automatically in case of an
unexpected failure. The service and the GUI can be configured independently to
automatically start on reboot. No hacks or 3rd party service installers
Access to network drives is supported by directly entering the UNC path (eg
\\computer\folder) instead of relying on windows explorer to map the drives
like many other servers do.
With blackmoon multiple ftp servers in the network can share a single database
and still maintain separate server settings.
|Support for FTP Protocol and addon extensions
||BlackMoon supports all the major features of the
ftp protocol as defined in rfc959. In addition to that it follows draft
extension covering new features like SSL and TLS specifications. Other
extensions include SSCN (the support for SSL enabled server to server file
transfers), MLIST / MLSD ( platform independent file listing
specifications ), MDTM, SIZE, XCRC and more.
|Folder configuration options
BlackMoon supports a host of folder configuration
options, including setting the default folder permissions for newly created
accounts, the default root folder for newly created standalone accounts or
groups, the ability to store and display unix style file ownership information
on ntfs partitions and moving deleted files to the recyle bin.
|Standalone, groups and os accounts
||BlackMoon supports three types of user accounts:
Standalone accounts: These accounts are what the name
Group accounts: These accounts belong in a group. Their main
settings are configured from the groups setting. Group accounts are meant for
accounts that share a common configuration. The folders and a few other
settings can be individually configured for each account in the group. Group
accounts can either use the folder configuration specified for the group, the
accounts own folder configuration or merging of the account and group folder
OS Accounts: This type of account is usually meant for an
active directory database or NT user database. It is meant to be a oneshot
configuration for any user that authenticates from the active directory or
All the three types support a multitude of configuration options, including
folder settings, ratio & quotas, bandwidth controls, bans, blocked and
allowed file types, site commands, domain access and more
|Extenstive and informative server monitoring
Graphical User Interface
||The server is separated into two separate
applications; The FTP Service and the Monitoring Graphical User Interface.
Because the GUI is a separate application, it can work locally or remotely from
another computer over the internet.
It will display:
The main server text logs which includes client activity and status messages
from the server.
Uploaded, downloaded, currently uploading and downloading file lists. The
information in the lists includes the filenames, percentages uploaded or
download, and bytes transferred.
Currently connect client lists, including their login times and current
Server status; current bandwidth, transfers, clients, server uptime, online
status and ports being used by the server
3D graphical statistics showing daily, monthly, and yealy connection and file
transfer statistics including top ten lists for files and bytes transferred
A ban management screen view active bans from client accounts. Server bans are
temporary so no management is required as they are automatically deleted
All active clients are shown in a tree view in the main GUI arranged by
accounts. Clicking on the ip representing the connection will show the most
recent client activity logs. Other sub nodes will display files transferred and
status information for the selected connection. Right clicking on active
connect will display a menu which allows the administrator to forcefully
disconnect the user, abort the current file transfer, or even adjust the
|Automatic Date & Time Activations and
Configurable Login Periods
The server administrator can configure the server
to activate and operate between two date/time periods. While outside the time
periods setup by the administrator the server will run but remain offline and
not accept any incoming connections.
It also supports configurable login periods. In a 24 hour, 7 day grid, blocks
of 1 hour periods can be enabled or disabled when the server should be online
|Limit access to server resources with ratios and
||The ratio feature allows the ftp server
administrator to encourage sharing by defining a simple rule such as, for every
3 files downloaded, 1 file must be uploaded. This rule could be applied to
kilobytes too. Ratios can be enforced per session (the duration of the
connection) or for all sessions.
Quotas enables ftp administrators to enforce the fair distribution of server
resources such as disk space. The ftp server supports many types of quotas
including disk quotas, daily, weekly and montly file/kilobyte upload/download
|Hostname and IP access restrictions
The ability to restrict who can log into the ftp server is an important one.
The server can block or allow access depending on host name or ip address.
Wildcards are fully supported. For example you could block everyone from
getting into the server and only allow users from "*.aol.com" to connect.
This can by done by ip address too, for example "192.168.*". [screenshot]
IP and hostnames can also be excluded from certain server restrictions namely,
hammering ban, retry bans, exclusion from block server to server transfer
commands and exclusions from being subjected to bandwidth restrictions. [screenshot]
|Automatically ban password probes and hammering
||The server can be configured to ban ip addresses
that attempt one or more connections in a set interval. For
example, ban any ip addresses that connect 10 times in 30
Password probing ips can also be automatically banned too. There are options to
temporarily ban any ip address that fail x consercertive logins. The temporary
ban duration is also configurable and the GUI will display status information
when the ban is activated and when it is expired.
|Store user passwords in different password
||By default user passwords are stored as plaintext
in the database. If an administrator wants passwords to not be visible or
secure in the database, MD5 hashes or SHA-1 Hashes of the passwords can be used
also. The server password format can be changed at anytime without affecting
already created accounts.
|Plugin addon scripts written in vbscript,
jscript, perl or python
The ability to easily write addon script is one of
the major features unique to BlackMoon.
Scripts can be written in any
activescripting language, some of which are vbscript, perl, jscript and python.
Scripts can do anything you wish them to, for example email an administrator
after a file has been uploaded, or process or move a file after an upload.
Scripts can also communicate back to the ftp client and block or allow a
certain action to take place.
The entire scripting api is available in the help
file. Some of the script included by default is an mp3 music sorter, an sfv
file checker, a welcome message script that displays all kinds of data about
the client's previous activity, a script that can search for files only in the
folders allowed to the ftp client and many more.
The entire scripting subsystem
can also be enabled or disabled with a click of a button.
The server comes with sample scripts and documentation and full email support to help administrators write
their custom addon modules to the server
|Realtime server statistics reporting
An COM server is included called "bmftprealtimestats" that provides services to external applications, scripts
or web applications to retrieve realtime statistics from the server or other
standalone services like adding and deleting users.
A webserver application
could for example retrieve data on how much bandwidth is being currently used,
how many users are logged in, server logs, connected client logs, their ip
addresses, current folder they are browsing and even current activity from the
Standalone services such as adding and deleting
users, retrieving a list of users are also supported.