CrushFTP is a full-featured cross-platform
FTP server software. New with version 3.0 are virtual directories, virtual serving,
event-based actions, and auto IP discovery. CrushFTP requires JAVA and SWING to
run, and is supported on Mac OS Classic, Mac OS X, Windows, and Linux. This review
was done running CrushFTP under Mac OS 9 on a G3/333.
$25 for 10 concurrent users, $50 for 50, and $100 for no limit.
CrushFTP is a Java program, and there are no system files required to run it.
After downloading the package, simply double-click the Java application to start
up the server, and your internet-connected Mac is instantly an FTP server.
Upon starting up the CrustFTP server software, a window is displayed with a number
of tab functions. The first tab function displayed is Statistics/Graphs. This shows
the Server IP address (automatically detected), and the status of the server (typically
"RUNNING"). It also shows the last login date, time and user. This tab
also displays input and output speed, total logins, downloads, and uploads, and the
number of users currently logged in.
The second tab is the Server Log, and provides a log of FTP commands sent to the
server. The third tab provides an IRC log. The fourth tab provides a variety of
reports, from login statistics, to overall download statistics, and more.
The fifth tab supports Remote Administration so that you can administer your server
from other computers. For each computer you want to provide this privilege for,
you specify the IP address, port, username and password. The sixth tab is for Mirror
Setup. Here you can create mirrors to other sites and folders without having to
have duplicate copies of the files.
The seventh tab is the general preferences for your server. You can specify whether
or not to have a log file, to beep when users connect, to enable speech, and to hide
or display a startup splash screen. You can also change the maximum number of users,
the server port number, and the PASV port numbers. You can also edit a list of "banned"
IP addresses (IP locations that are not allowed to access your server).
The eighth and final tab displays "About" information for CrushFTP.
The more interesting settings in CrushFTP, however, are found elsewhere. For example,
to set up user accounts and privileges, go under the File menu to Users/Groups. Here
is where you setup all accounts, including "anonymous", and you set the
root login folder as well as all folders the user has access to. CrushFTP uses its
own account database rather than Apple's File Sharing which frees it up from suffering
under the overhead that File Sharing costs. Beyond these basic settings, there's
a boat load of extended settings that can be set for each users, such as maximum
idle time, max download speed, MacBinary default, and much more. You can set login
restrictions, welcome message, and administrative settings for each user as well.
There doesn't seem to be anything left out.
The other settings window under the File menu is the "Advanced Preferences".
Under advanced preferences, there are more settings that you can shake a stick at.
There are so many, in fact, that they are broken down into groups, each group depicted
with a tab. The groups are IP Settings, General Settings, Caches, Restrictions,
Logging Options, Server Variables, Event Actions, Verify File Content, and IRC.
As the title suggests, these settings are useful for advanced server needs. The
includes some of the settings which are under the standard preferences, but expand
upon those. I didn't find need for these expanded settings for my basic configuration
needs, nor did I really understand many of them enough to know how to use them.
There are some behaviors of CrushFTP that caught me off guard. First of all, it's
a Java application, which is great for cross-platform support, but does not always
provide the best native experience for the Mac platform. For example, I had copied
an IP address from another application, and I came into CrushFTP to do a paste using
Cmd-V, and instead of pasting in the IP address, it typed a "V". There
was no undo either, which means that whatever I overwrote was lost. I did later
learn that Ctrl-V, Ctrl-C and Ctrl-X worked in place of the Cmd (Apple) key, which
is not Mac-friendly but works. Ctrl-Z still did not support undo. To its credit,
however, CrushFTP is one of the better Java implementations that I've seen on the
Another surprise was when I closed the CrushFTP window. With most Java applications,
this usually exits the program, but instead it provided a prompt telling me that
CrushFTP was now in the background, and in order to switch back to the foreground
I would need to search for and delete a file named "CrushFTP.hide". Deleting
the file magically did bring the window back, but the whole process was not intuitive.
As far as performance, this is CrushFTP's strongest aspect. Running the server for
over a month, it never crashed, and it served files much faster than Netpresenz or
some other FTP servers that came before it. Part of it's stability may be due to
its high memory requirements. In my tests, it used 50MB of RAM.
My final test of the software was having users from different environments try to
download files off of the server. For those who were able to get the files, the
performance of the server was very good. I had users accessing the server from behind
firewalls and not, as well as users on OS 9, OS X and Windows. Unfortunately, not
everyone was successful in accessing the server. One user was behind a firewall,
and was able to connect to the server using Fetch, but no files or directories were
displayed. The client tried with PASV on and off, but no success either way. We
tried a direct URL link to a specific file, and still no luck. When I had the server
run Netpresenz instead of CrushFTP, the client was able to download lists and files
no problem. Likewise, when I used Rumpus instead of CrushFTP, the client was served
without any problems. I was never able to determine what to do to resolve the problem
(even after contacting the vendor).
The other problem I had is, on my local network, I could not connect to the CrushFTP
server using the DNS name of the server. I was, however, able to connect using the
local IP address of the server. When I had Rumpus running instead of CrushFTP, I
had to specify the local IP address of my router in the "Passive Mode Connection"
field (a setting I could not find in CrushFTP), and then my local computers were
able to access the server using the DNS name.
Documentation for CrushFTP comes electronically with the software package in the
form of web pages. In my experience, nothing beats a printed manual, but the web
page docs for CrushFTP were pretty good. They answered many of my questions, and
was provided in a easy-to-navigate format. The documentation can also be viewed
on the internet from CrushFTP's Web Site.
CrushFTP is a solid and reliable FTP server.
It provides a cross-platform solution, but more importantly, it provides great performance
with a tremendous amount of control. The Java GUI is not as friendly and intuitive
as a native Mac application, but it is one of the better Java applications released
for the Mac. There are some issues involved with running the server behind a local
router which I was not able to resolve. All in all, however, CrushFTP is a robust
server application at a very decent price, and I highly recommend it for both hobbyist
server and industrial server needs alike.
- Excellent and reliable performance
- Wide range of settings for administrative control
- Cross-platform solution
- Issues involved with running server behind a local
- Java GUI not as intuitive as native Mac applications
- Steep learning curve for understanding all of the
settings and features
4 out of 5 Mice