Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I regulary need to transfer very large files (30 GB) to my friend - financial statistics. I don't have any problem with bandwidth: it is very broad here.

I did some research in the area, so:
1. I would not use FTP, as it is very tricky to get it working behind a NAT.
2. I would not use Skype/MSN/ICQ, as it is not designed for file transfer and it underperforms on the huge files.
3. I would not use file-sharing services, as I need to pay for big files (30 GB is a problem here) and I don't like holding any piece of my data on the third-party server.

So, I need some smart tool that will do what I need: sending files directly browser-to-browser and not browser-server-browser. Is it so complex? Is there some web application in the Internet that can do this?

share

migration rejected from stackoverflow.com Jul 29 at 1:27

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

put on hold as off-topic by random Jul 29 at 1:27

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product, service, or learning material recommendations are off-topic because they become outdated quickly and attract opinion-based answers. Instead, describe your situation and the specific problem you're trying to solve. Share your research. Here are a few suggestions on how to properly ask this type of question." – random
If this question can be reworded to fit the rules in the help center, please edit the question.

2  
You can't send files browser to browser as a browser always talks to a webserver. Take Facebook chat as an example: Your messages are always sent to the fb-server and then to your friend. So you should look for P2P solutions (BitTorrent?) or use passive FTP. –  lajuette Nov 17 '10 at 17:37
1  
Actually, I think Opera has som sort of functionality like this built in with it's "Opera Unite" feature. Of course, this is a web server, but it's running in the browser in some sense, so it would satisfy that command. In this case, FTP is the best solution though. Talking about "underperforming on huge files" - what does OP think browsers do? You probably won't even have resuming capability in the browser. Flat out stupid for 30GB files. –  Daniel Andersson Nov 17 '10 at 19:26
1  
@user55927: I think you still need to open up ports on your router to share a torrent so how is that any better than FTP? ..and for the record, FTP is also file sharing and a TCP based protocol! –  Jon Cage Jan 12 '11 at 8:17

21 Answers 21

I think your research is wrong on points 1 and 3. FTP or file sharing (P2P) either one would work just fine for this. I would personally just make a private torrent out of your 30GB file and let your friend download it via his bit torrent client of choice. Making a torrent is free and it is easy.

share
9  
@user55927 the OP drew the incorrect conclusion (based on his "research") that a browser to browser transfer was the best/only way to transfer his large file. I simply pointed out his error and offered a more viable solution. If we let the OP go on in his ignorance (no offense to the OP) then he would have continued thinking that a browser to browser transfer was the best/only means of sending large files. The Stack sites aren't just about providing answers to question, they are about fixing broken logic. –  ubiquibacon Nov 20 '10 at 18:44

The question was: how to transfer browser-to-browser.. and Cruise explicitly excluded FTP,Skype and filesharing as I see in the question. Thoough, great to see so much FTP-fanatismus.. :)

So, here is the list of the possible web-applicaions:

  1. http://pipebytes.com
  2. http://filesovermiles.com
  3. http://jetbytes.com
  4. http://lytup.com

Hard to say how they work, most of them use the third-party server to relay the files. So, they just open the http session and send the file over the remote server. click2copy claims that they do exactly that what you are asking for. I think it is possible as click2copy is a java-based and they had developed their own file-transfer protocol.

share
7  
@KronoS: You're sending it over the internet, it's not completely secure. If it's at all confindential, then for the love of god encrypt it with strong encryption and stop worrying about your transfer methods. –  Phoshi Nov 17 '10 at 19:00

There's always the non-software answer. Sneaker net. Put the data on a flash drive (encrypted if necessary) and overnight it. Newegg.com lists around 50 USB flash drives that are 32 GB and range in price from $40 - $100+ (U.S. dollars).

It probably won't be as fast or as cheap as FTP or HTTP, although you can avoid buying a bunch of drives by sending the same flash drive back and forth. It is dead simple though, no mucking about with setting up servers or clients. It's an alternative my company uses sometimes when shipping large amounts of data.

share

No one thought of torrent. It can be encrypted as hell, you can limit access to tracker and turn off DHT. You even can make a torrent of your hard disk and after updating it - syncronize all your files. This way I share a 500 GB NAS with downloads with 10 GB netbooks :)

share

One option is Amazon S3. While not free, a 30 GB upload/download will cost you less than $.20 per GB, or $6 total.

Also, I want to address this part of your question:

I need some smart tool that will do what I need: sending files directly browser-to-browser and not browser-server-browser. Is it so complex? Is there some web application in the Internet that can do this?

So you're asking for a web site that will facilitate, but not participate, in a direct browser to browser transfer. This is specifically not supported by the HTTP protocol that powers the Internet. It might be possible to build such a site using something like a Java applet, Silverlight, or Flash, but you just can't do it via a normal HTML/CSS/JavaScript over HTTP web application. Again, not that this isn't possible, but to do it you have to step outside of the security sandbox provided by the traditional web.

share

FTP is the way to move files. That is what the specification was built to do and that is the best tool for doing so. Trying to move files browser-to-browser is inefficient, likely to fail on files that large, and would STILL need a server in between them. Any other protocol you might try to use, such as DCC, mIRC or others would not only have as many, but likely more problems that simply setting up NAT traversal rules for FTP server/client

share
1  
FTP was the best tool for file transfers decades ago when it was designed. I'd say rsync is the king of file transfers nowadays. –  vtest Jul 1 '11 at 12:54

I would have a look at DeltaCopy - not least because it is based on the Rsync utility from *nix and so only copies the parts of files that have changed; this means that if you are sending regular updates to existing files you may find that the transfers are very quick. The program is Open Source (Free) and can be setup to use SSH as a tunnel so that the transfer path is encrypted.

You could also look at Syncrify from the same source as Deltacopy but this is a new program to me (I have not used it) so can't comment on its suitability/usefulness/performance etc.

share

The best way is to setup your personal web server. There are a lot of articles teach you how to setup a web server. You may also want to have a dynamic domain name, check out http://dyndns.com. Some ADSL routers support to update the IP address bound to the dynamic domain names.

You must config port forwarding in the router, if you are behind NAT.

Why you need a personal web server? Because,

  • No NAT problem as FTP does.
  • Continue to transfer large files if transferring is interrupted.
  • Peer user can download in several threads, to speed up.
  • You can encrypt the connection using HTTP/SSL.
  • You have a web server!
share

Any way you do it, you will need to set up port forwarding on your router. This is an absolute must for any transfers. You may as well use an FTP server, such as the fantastic, portable Filezilla. You download, install and start the server on the target machine. Set up port forwarding for ports 20 and 21. Open up the Filezilla client on the machine you want to send from. Upload the file.

share

While BitTorrent's do have a bad rep for illegal downloading, they can be very useful in sharing files. FTP is also very easy to use and setup. Like @MattWilliamson said though, no matter what you do you'll have to setup port forwarding.

share

If the file is in a text format, then using ZIP or RAR to compress it will significantly reduce its size. Some zip software will split the compressed file to sizes suitable for buring to CDROM or DVD. These files can then be transfered using file sharing sites or software like Dropbox.

EDIT: Zip is available with an encryption option. This would help with your client-sever-client issue. OpenPGP is another encryption option.

An ssh or rsync server should be easier to configure through a NAT than FTP. Either should transparently compress the data as it is transfered.

share

Try woof: this runs from the command line and enables a one time file or directory transfer.

share

In my experience Soulseek (slsknet.org) has worked pretty well. It uses a P2P protocol, but it is much easier to use than BitTorrent. Just select your 'shared folder' and the other, and a list of 'friends' which can download/upload files from/to your computer.

I'm currently using it, and it has proven very useful and veeery easy to use.

share

You can very easily share files now with uTorrent 3 with a few clicks. You can drag and drop files to uTorrent and it will automatically generate a link which you can send to anyone you want to share the files with. This method has no size limit and offers a resume of the download on "the other side".

Check this tutorial for a more detailed explanation: http://blog.eddsn.com/2012/01/how-to-send-large-files-using-utorrent/

share

Create a torrent file on your torrent software. Send that file (it's small) via email to your friend. Only he (and any snoops from your internet service company) and you will participate then. He loads the torrent into his torrent software. Your computers send packets from IP adress to IP address. Your machine's software needs a capability to perform the tracking. The common ones do. Leave both machines on.

(This is like old Procomm software, without the ability to chat while doing it! In other words, our "modern" age has somehow had basic abilities taken away.)

share

If you are a novice or intermediate Windows user you can use CCFile Share. Website Link

The software sets up a simple webserver on your machine. Once installed you have to right click on the file you want to share and add it to the share list. You will have to send your friend a url to this download. CCFile will tell you what the URL is, but in essense it will be of the format http://[your_ip]/[filename].

You can password protect the downloads as well.

Like everyone else has mentioned, you will have to monkey around with your NAT.

share

It isn't hard to set up NAT for FTP, just use passive mode for the transfers

share

Windows Live Mesh is a free solution for Windows and Mac.
It is said to support the resume of file transfers.

share

Try http://jetbytes.com/ - nothing is stored on the server, so no size limit.

I'd encrypt it first if it's financial data, though.

share

Use Pogoplug and send link to whoever you want.

share