A Better FTP?
cppgodjavademigod asks: "I used to work for a company that sold a file transfer product for datacenters. It supported checkpoint/restart, encyrpted password transmition, asynchonous job procesing, etc. Is there an Open Source project that aims to provide a better FTP? I'm looking for something that makes use of multiple paths (for machines connected via more than one network), job restart, job control, secure transmission (over internet), maybe even tunneling over HTTP and redundant servers (via some kind of private P2P protocol)."
This means that there is really no incentive to change to it.
The second problem is that for most people, most of the time, their Internet connection is pretty reliable. This is also improving all the time as more and more people move to DSL and cable modems instead of dialling up.
I know that a number of the things you are talking about are already possible although not as simple as FTP secure = FTP + IPsec multiple paths = download managers Get Right or my faverate Flash get which suport multiple mirrors, splitting files, pause/resume etc. I have yet to find a program as good as flash get for linux though .... I you know of any send me an email.
Sounds a lot like Swarmcast to me...
Remember FSP, the "File Server Protocol". It was introduced about 10 years ago and was supposed to be the FTP-killer. Technically it probably was superior, but good ol' FTP was available everywhere and was good enough. Today you'd be hard-pressed to find any FSP sites at all. The last published version of the FSP FAQ appears to be dated 1996-08-19. It seems there's really no demand for a better FTP.
Chelloveck
I give up on debugging. From now on, SIGSEGV is a feature.
not exactly FTP, but it does tranfer files. It tunnels over ssh, and can copy vast directory trees. And for slow connections, it can both compress the data, and only transfer the files and parts of files that are needed (sorta binary diff).
-- these are only opinions and they might not be mine.
shell script + wget + openssh
this is just one of a myriad of solutions which can be based on command line utilities for *nix and win32s.
I know its mostly dead now, but HOtline used to provide most of that, making it the reason it was my program of choice in my MacWarez days...
Once you connected to a server, you had file transfer with start/stop/resume, you could comunicate with other users on the server, you could tunnel through http...
i dont recall if any incarnations had any more secure features, however.
It was a wonderful program, with actually a lot of promise, until it was released for windows, at which point it became a banner-ad driven attempt at making money for files which were usually not provided at the end.(clicking on banner pages to get username/passwds to get in and download the warez/pr0n/mp3s/whatever needed.
Stop over-analyzing your analizations
The rsync algorithm meets most of your requirements. rsync was proposed in 1998 by Andrew Tridgell for efficient secure file transfers. The main points are:
The detailed description is here (http://samba.anu.edu.au/rsync/tech_report/), and open-source software is here (http://samba.anu.edu.au/rsync/download.html).
Overall rsync is often much (10x) faster than using compressed file transfers. It is most useful for users who frequently download new versions of packages with significant similarities between successive versions.
Scroogle
I work in grid computing and we have some needs that push this idea forward. Over at Argonne labs the Globus team has put forward this draft of extensions for some of what you talk about (i.e. it's secure and multi-path). Code exists under yet another open source license the "Globus Toolkit Public License".
HTTP 1.1 has most of what you're looking for. And with the DAV extensions you can get the equivalent of directory listings too.
Matt. Want XML + Apache + Stylesheets? Get AxKit.
How about SFTP? It is an FTP like protocol layered ontop of SSH. While it may not have ALL the features you were looking for, it has the most important - security.
pGina, http://www.xpasystems.com - Making the big boys play nice.
It's usually through your webserver (Apache, IIS, Zope), so, it will happily use SSL (and many clients support it happily).
:)
Not only that, but you can mount WebDAV trees from your OS! MacOS X and Windows 2000/XP do this happily, just give it a WebDAV URL under their 'connect to server' dialog. Unfortunately, 2000 (XP is supposedly much improved) isn't a full redirecter, so you can only use File Explorer & Office against WebDAV, not WinAMP, for instance.
You can also get a WebDAV mounter for Linux too.
It's also readily supported.. Office supports it, as well as some Macromedia & Adobe products I believe. Even Oracle has it.
Now someone just needs to make a nice multi-user WebDAV server for UNIX.. I'd love to move my Ogg collection to a WebDAV server, and have people upload it as a user other than nobody
Downloader for X has some of the features you have requested.
http://www.krasu.ru/soft/chuchelo/
- James
I don't think proftpd has many of the things you're looking for, but it's certainly the best ftp server I've used. You might be able to get some use out of it until you find something better, at least.
I doubt it does all you want, but on a related topic, I always wondered why Sendfile never made it big. It would solve a lot of other problems. I used to use it on Bitnet back in my college days. Amazingly, it's apparently an available spell for Sorcerer GNU Linux.
webdav'll do this.
Slashdot? Oh, I just read it for the articles.
On our latest project, we have a large number of embedded targets running Windows CE on a TCP/IP (cable modem) connection to a file server running Windows NT. We have requirements to be able to download identical images to all the targets for software upgrades within a certain period.
The problem is that TCP does not support a multicast to multiple targets - you essentially wind up retransmit the same data over and over again. With a certain number of targets, the numbers come out taking longer to do a system upgrade than using an older legacy serial link that supported broadcast.
So, here's my question: Does anyone know of a multicast file transfer protocol (not simply serial FTP) that is suitable for this application, preferably something open source?
Thanks
"Prepare for the worst - hope for the best."
Healthcare organizations have HIPAA requirements that are forcing them to look at encrypted processes (either standalone encryption products, or encrypted channels like SSL) to replace FTP for moving personal healthcare information across the internet.
. html for a rundown on available clients and servers. IME, there are significant incompatabilities between implementations.
Pretty much across the board, insurers are moving to HTTP based solutions (over SSL obviously). For a few lines of Perl/Java/PHP you can ride on top of existing SSL transport, easily provide redundancy, be universally available to any type of client, etc. Command line tools like cURL (a kick ass utility btw) make it scriptable / automatable.
Features like job control and smart restart aren't inherently included though with HTTP based apps.
FTP over SSL isn't fully standardized from what I can tell. See http://www.ford-hutchinson.com/~fh-1-pfh/ftps-ext
I remember FSP, the File Slurping Protocol, as an alternative for FTP for l33t warez d00d that that wanted to use FSP's bandwidth restriction to avoid being noticed when they were borrowing other people's servers. YMMV.
cpeterso
LFTP is an excellent command-line and scriptable tool. Check out the fm.net page for more info.
Not sure if it does the encrypted password part, but it has almost every other bell and whistle out there. My fave is the 'mirror' and 'mirror -R' commands - does a comparison with the local file timestamps/sizes and only "get"s or "put"s the required files.
bittorrent has some of what you're looking for. It automaticaally mirrors when you download, helping ease the load on the server for poular downloads. Worth checking out. It could probably be run over ipsec if you wanted to.
[Science] is one of the very few things that raises human life a little above farce and gives it the grace of tragedy.
The Content-Addressable Web provides all of the asked-for features, including multi-source/parallel downloads, and the ability to safely retrieve content from untrusted mirrors.
Please read the paper and tell me what you think.
Stream Control Transmisson Protocol -- solves head-of-line blocking (not that useful for file transport), accomplishes redundancy (via multiple network interfaces). Updating an ftp client/server to support SCTP (instead of TCP) would be mostly trivial.