lftp is a versatile command-line file transfer tool. What makes it stand out is its ability to open multiple connections for a single download, which can significantly improve transfer speeds on servers that limit bandwidth per connection.
Parallel downloads with pget
The command I use most is pget with the -n option for parallel connections:
lftp -e 'pget -n 3 http://example.com/file.zip'
If the server limits each connection to 100KB/s, three connections will give you roughly 300KB/s.
Resuming interrupted downloads
If a download fails halfway through, pget continues from where it left off when you run the same command again:
lftp -e 'pget -c -n 3 http://example.com/file.zip'
Mirroring directories
lftp can mirror entire directory structures:
lftp -e 'mirror --parallel=3 /remote/path /local/path'
Queue management
lftp http://example.com
queue pget file1.zip
queue pget file2.zip
run
Enjoy!