Transferring files across the internet used to mean getting your hands dirty with FTP commands. Nowadays, its use cases have become rather more isolated, but they still exist.
FTP remains a fairly efficient protocol, and it probably has the edge in terms of speed for grabbing the latest ISO files from your favourite distro website. It's also still, in spite of WebDav, the primary mechanism for managing content on your web host.
A good, fully featured FTP client is therefore something to be desired. Among its key features might be wide support for protocols – as well as standard FTP, there's FTPS (FTP using SSL), SFTP (FTP tunnelled through SSH) and more exotic types, such as FSP (the largely historic File Service Protocol) and the eminently useful FXP (File Exchange Protocol).
Depending on your usage, other features might be desirable, too – keeping a website synchronised with a local copy is made dramatically easier with some sort of mirroring and diff functions, and then there's always the perennial problem of changing the file permissions. Would you want to edit remote files in place?
Not covered in this roundup are some clients that are too old, some that are proprietary and wouldn't cough up a copy to test, and some that wouldn't install (we're looking at you, IglooFTP). The standard FTP command-line client also won't be covered.
How we tested...
Testing in 'real' conditions doesn't test much other than the current state of your network connection, so all the speed testing was done on a Gigabit LAN to a local ProFTPD server.
The main speed test comprised sending over 300 files, containing 1.3GB of data in total. FTP is a very efficient mechanism for transporting large files, but transferring multiple files is a better test of the client's efficiency at initiating and completing the transactions.
The local machine running the client software was a 3GHz Core 2 Duo box running Fedora 13. The latest revision of Sun's Java and Firefox were also installed for the software requiring them.
CrossFTP
You might think that open source should have sewn this one up already, but there's always room for a proprietary app if it offers something novel. This is the only client on test that supports the Amazon S3 transfer protocols – a very specific usage case, but if it's important to you, this is a bit of a no-brainer.
Downloading the install package leaves you with a folder full of stuff and a script to start up the application via Java – hardly inspiring, but a few disk accesses later you'll have a pleasant twin-panel pop-up.
The basic controls are simple, and you won't need to delve into the menus for normal transfers – drag and drop, or click the buttons. The area under the file listings is given over to the queue list, if you have one, and a logging window that shows what the server is telling you – handy for working out what's going on.
Opening up multiple connections creates a tabbed view, so you can switch quickly between directories. The easy-to-use queue management makes it possible to manage the demands of bulk transfers, and a scheduling system makes a reasonable stab at automating things for you.
If you're going for a file-syncing operation, there's a button right above the panel to take care of it for you. Occasionally, there seemed to be refresh problems with the remote directory listing where it didn't accurately reflect the directory we were connected to. This could be down to the version of Java we tested it with, though.
Most of the time the interface didn't have too much Java lag. Unfortunately, the performance of the client was poor – we need it to move files from A to B without too many Zzzzzs. Sadly, it does not.
Verdict
CrossFTP Pro
Version: 1.65a
Web: www.crossftp.com
Price: $25
Some great features, but does it have any excuse for being so slow?
Rating: 6/10
FileZilla
The wxWidgets-powered interface follows the traditional twin-panel theme, this time with a hard-to-understand toolbar and a thankfully easy to understand Quick-connect feature perched above it.
Bookmarks are separated into two types, and can be quite confusing at the beginning. A global bookmark just stores path names, whereas a specific one also stores the server details (although unfortunately this failed to work more than once).
The global bookmarks are useful for dealing with a lot of mirror sites or different sections of the same site.
Queue handling is the best of any of the apps on test, in that you can see the queue, change priorities, remove files, and pause and resume transfers when you like without interfering with the rest of your session. The bottom tabs also keep a running log of any filed transfers and relevant information about them, including the ability to re-queue them.
Plenty of other useful features have been added, such as a pattern-matching remote search, which will root out files on a specified search path. Once you've found what you're after, you can perform actions such as viewing images or editing text files using your system's filetype associations, or with the tool of your choice if you delve into the settings.
Coupled with good protocol support and strong performance, the only real downer about FileZilla is the way it looks. We aren't just talking about ugly – some of the icons defy explanation. FileZilla might not do much for your desktop aesthetic, but it's a good tool to have on your side if you need to reliably transfer large volumes of data.
Verdict
FileZilla
Version: 3.3.3
Web: http://filezilla-project.org
Price: Free/GPL
Great all-rounder for performance, but it's a shame about the looks.
Rating: 9/10
FireFTP
We usually say that, by and large, browsers don't have the features to make FTP painless. Well, this is a sneaky exception designed to make us eat our words.
Utilising the plugin architecture of the Firefox browser, this cunning code conjures a client from the bowels of the browser and provides a reasonable facsimile of a desktop app. You still get the twin-panel view, though this time it's neatly enclosed in a Firefox tab.
The panels themselves include a useful tree view for navigating around local and remote directories, and between them are the idiot buttons for simple transfers.
In spite of it being an add-on, it's pretty easy to forget you're running a web browser and think that FireFTP is just like any other desktop app. The only thing that really gives it away is when you resize the window, which causes a clunky and drawn-out redraw process. Actually, that sounds a bit worse than it really is, but it's noticeable.
Moving on to the more advanced functionality, this client does support FXP, so you can use it to transfer files between remote sites. It also supports drag-and-drop operations, and more advanced file inspection – renaming, permissions and the like. There's a neat directory diff tool, too.
Installation is a doddle – just use Firefox to search for the plugin (this is also cross platform). An added bonus of being integrated into the browser is that your bookmarks and passwords get stored along with the rest of your browser data.
In terms of performance, it isn't the best client, but it's remarkably proficient considering it's just a plugin – definitely worth installing if you run Firefox, even if only as a backup client.
Verdict
FireFTP
Version: 1.0.9
Web: http://fireftp.mozdev.org
Price: Free/GPL
Overcomes its humble origins to deliver a great performance.
Rating: 7/10
gFTP
We should say that this client very nearly didn't make the cut, simply because it hasn't had a stable release since the end of 2008. However, it's one of the most widely used standalone clients, and boasts an impressive array of features.
The GTK interface adopts the standard two-panel design, and harks back to an era when utility was the watchword. This is no reason to criticise it – apart from anything else, it's intuitive to use.
The top toolbar accepts the salient information for any connection you wish to make, and then you just need to hit the Connect button. Transfer buttons between the panes make copying files almost foolproof (though you can also drag and drop), and right-clicking on any given files reveals a wealth of options and functionality.
There's an option to view a file, but be warned, this only seems to work for text files – trying it on a binary file caused a segfault.
gFTP also supports a surprising array of protocols, including FSP and SSH/SFTP, which makes it rather useful for accessing data on remote servers, rather than just downloads.
Bookmarks are supported, optionally saving passwords and remembering complete paths rather than just the server name. Handily, a large number of useful sites are already stored in the list, including lots for different distros and open source sites.
It should also be mentioned that the client can be used direct from the command line, where it's just as competent, but lacks some of the features of shell-only clients like NCFTP. It did well in the speed tests, but it lacks the modern helper tools we'd like.
Verdict
gFTP
Version: 2.0.19
Web: http://gftp.seul.org
Price: Free/GPL
It works, it's fast, but it doesn't offer much beyond the basics.
Rating: 6/10
Konqueror
You probably know Konqueror as KDE's browser application, but that's barely scratching the surface of its capabilities.
Once you've roused the beast, Konqueror will be quite happy serving up any data for you, as long as an appropriate KIO part is available. This makes it child's play not only to transfer files from your local drive to an FTP site and vice versa, but between a variety of different sources, including Samba shares and NFS mounts.
Although you will probably find it convenient to harness the power of FTP in a twin-panelled list view, there is no strict imperative to do so. Because the KIO protocol slave takes care of managing the connection and serving up a common set of features, you can view in any mode you like, and you can even get previews of image formats and so on. This functionality extends to anything you might reasonably want to do with a file.
The right-click menus in Konqueror are context-sensitive to the location as well as to the file, so you shouldn't get any foolish actions (such as trying to extract an archive in situ), but you will be able to change permissions, rename files and even open them (though, obviously, this involves transferring them).
The standard transfer is sequential rather than simultaneous, but you can still navigate around the directory tree and begin further transfers. There's no queue system for this, but that's not usually a problem unless you mix up what files you were copying to where.
Being able to integrate FTP into your desktop is a great boon for many. It may be achieved here at the loss of some advanced capability, such as error handling, but for some use cases it's probably the perfect fit.
Verdict
Konqueror
Version: 4.4.5
Web: www.konqueror.org
Price: Free/GPL
Provides excellent file handling and amazing desktop integration.
Rating: 9/10
LFTP
Adopting a similar strategy to NCFTP, this command line client attempts to reclaim the shell for FTP power users, with an array of features and commands covering simple transfer actions to more extreme mirroring and FXP use.
This is the only command-line tool in this roundup, and probably in existence, that uses this feature – an ability to initiate an FTP transfer between two remote hosts without acting as a go-between. This could well make it useful for some specific applications, though there are a few caveats.
Although it's not too hard to use for basic functionality, getting into any of the advanced features becomes a bit more confusing. Multi-threaded support and a job backgrounding functions are useful, but it's often tricky to know exactly what's going on, even though it tries as closely as possible to follow the same sort of syntax as the shell itself.
Much pain has been expended on the part of the author to make LFTP reliable, so that jobs can resume when disconnected, for example.
Performance-wise, it did slightly better than NCFTP, and was similarly light in resources. The only worry was that the tool seemed to lose track of the current local directory often, but that's possibly due to some unnoticed side effect of one of the more complex commands we tried. Some of the local shell commands just didn't work on occasion. Tread carefully.
As a comprehensive command-line tool, it can't be ignored. With support for proxies and very wide protocol support, it's technologically the most complete solution for the shell.
Verdict
LFTP
Version: 4.0.9
Web: http://lftp.yar.ru
Price: Free/GPL
Good performance and features, let down by quirky behaviour.
Rating: 7/10
Nautilus
Konqueror was an obvious inclusion to the Roundup, since its dual-role as browser and file manager tend to suggest it should be able to combine both. A surprising number of people are not aware that you can achieve pretty much the same thing in Gnome/Nautilus too.
On the Gnome desktop, a quick trip to the Places menu reveals a Connect To Server option. This will take you through mounting a remote fileserver, including FTP, and you can even store the connection as a bookmark.
As with Konqueror, Nautilus then sees the remote filesystem just like any other, and you can interact with it on the desktop, copying, moving and editing files as you wish (this last action does involve downloading a copy, so don't start editing video files or anything).
File associations are automatically taken from your desktop system, so remote files will open in the default application. Unlike with Konqueror, editing the permissions of the remote files isn't possible, which is a bit of a blow for web work.
Long-term use of Nautilus in this capacity reveals some of its shortcomings. At times of high usage, the connection tends to get a little flaky. This can be more than just an annoyance – it can just hang midtransfer, leaving you in limbo as to which files are copied and what to do next. This may not be the fault of Nautilus itself, but the Gnome Virtual File System that it depends on.
So, while it promises the same levels of interoperability as Konqueror, Nautilus has all of the shortcomings of this way of working without many of the benefits. Good enough for occassional transfers, but simply not recommended for serious use.
Verdict
Nautilus
Version: 2.30.1
Web: http://live.gnome.org/Nautilus
Price: Free/GPL
Good desktop integration, but poor performance and too many pitfalls.
Rating: 7/10
NCFTP
The original FTP command line client was pretty basic, yet it persisted for years as part of the default install because, well, everyone needed a command line client to fall back on. It did work, but it was pretty painful.
Imagine, then, the scenes of jubilation when NCFTP was born – a command line client that didn't require all the hoop-jumping of the original.
With advanced features like pattern matching and bookmarks, NCFTP certainly made the original FTP client look so dated that it's included in about every distro known to humakind. Running FTP software from the shell might not be your idea of fun, but it can be important.
You never know when you're going to find yourself needing to fetch some file without the luxury of a GUI.There's also never an easy way to control a GUI client from a script, if you need to set up some automated task.
As well as the interactive client itself, the NCFTP package includes some apps to make scripting easier, and it will handle batches using its own spooler. It does seem more focused on the automated side of things, rather than user interaction.
Yes, it's vastly easier to use than the plain FTP client, but it could still be made a little simpler for non-techies. However, it supports proxying, backgrounding of tasks and will auto-resume disconnected downloads. Scheduling is possible through the background task, but that's when things get complicated.
Sadly, this command line warrior fails to live up to the notion that everything you do via the shell is faster. NCFTP is certainly useful, but as far as day-to-day use for the desktop goes, it isn't really viable.
Verdict
NCFTP
Version: 3.2.4
Web: www.ncftp.com
Price: Free/GPL
An improvement over the plain FTP client, but not good enough overall.
Rating: 5/10
The best Linux FTP client is...
FileZilla: 9/10
Because the potential uses for FTP are very broad, there are any number of reasons why one client might be better for a particular task.
The Amazon S3 support of the proprietary CrossFTP could be the clincher for some, for example, or the fact that you can install FireFTP as a browser add-on and use it crossplatform in a variety of places might seal the deal for others. Maybe you need to use FTP in a location where the GUI is unavailable or unwanted, in which case one of the command line tools would be the best solution.
In terms of seamless desktop integration for general use, it is hard to beat Konqueror. Its FTP connection is robust, and the flexible nature of the program means it's easy to make using FTP a part of your normal desktop experience (even if you aren't running KDE). Being able to change permissions and view and manipulate files just as you would on the desktop (with some sane omissions) makes for a pretty painless experience.
The same ought to be true of Nautilus, but it seems the GVFS implementation of FTP isn't as robust, and it also can't handle the more secure FTPS protocol, though it's not used as widely as perhaps it should be.
For serious FTP use, though, the all-round winner has to be the one that not only performs well, but includes a lot of useful features you're likely to need. For this Roundup, FileZilla just about manages to edge out the competition.
It's easy to use, loaded with useful, time-saving features, and has the performance to match any of the top contenders. It has to be said that it's still very ugly though, and that's not entirely down to the compromise of the wxWidgets toolkit – someone with more artistic leanings should really help out with their icon set.
Ultimately, it's safe to say that every one of the clients here could learn a useful trick or two from its rivals.
0 comments:
Post a Comment
Click to see the code!
To insert emoticon you must added at least one space before the code.