CrushFTP 3.0, by Ben Spink
Posted: 26-May-2002

4 out of 5 Mice

Vendor: Ben Spink Type: COMMERCIAL

Reviewer: Bill Catambay Class: INTERNET

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.

Pricing
$25 for 10 concurrent users, $50 for 50, and $100 for no limit.

Installation
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.

Settings
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.

Interface
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 Mac.

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.

Performance
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
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.

Summary
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.

Pros:

  • Excellent and reliable performance
  • Wide range of settings for administrative control
  • Cross-platform solution

Cons:

  • Issues involved with running server behind a local router
  • Java GUI not as intuitive as native Mac applications
  • Steep learning curve for understanding all of the settings and features


Overall Rating:

4 out of 5 Mice