Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 '14 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.

closed as off-topic by random Jul 29 '14 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
    
Similar: superuser.com/questions/30204/… – Sasha Chedygov Nov 18 '10 at 22:37
    
FTP is a server software! FTP was developed in the beginning of 70s for file transfer. Ancient people could not predict how the internet will look like in 40 years. FTP DO NOT FIT to the current concept of commodity computer like we all have at home now in 21 century.. under all these NATs, etc. Bittorrent - is a file-sharing and it is TCP-based, so you need to tweak your browser. – user55927 Nov 20 '10 at 0:41
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
    
I think by "file-sharing services" the OP meant file hosting services like MediaFire, so P2P would work well here. – Sasha Chedygov Nov 19 '10 at 0:22
    
This answer does not answer the question. This answer follow the schema: "Your question is wrong, let's answer my...". So, the question as I read it sounds "how to transfer browser-to-browser" not "what is the best way to send a file". The popularity of the answer shows that people tend to follow stereotype solutions and follow familiar ways even if they cumbersome. It is very funny. I think. – user55927 Nov 20 '10 at 10:31
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
    
@typoknig: OP has considered and checked for his condition three alternatives (FTP,Skype & filesharing), it means he is aware of them.. and he has excluded them.. and this answer says "hey, you have already answered your own question, just read what you have write.." That's funny... – user55927 Nov 21 '10 at 21:32
    
I'm just curious, how would the two sides connect if you don't upload the torrent to the tracker? How is it possible to use torrents without trackers? – Tom Pažourek Nov 22 '10 at 20:46

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
    
Interesting, however I'm always scared when using an in browser webapp as I'm never for sure if the info that I'm sending in completely secure. If the file that he's transferring is confidential at all I'd be a bit leary. But good find! – KronoS Nov 17 '10 at 16:24
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
    
filesovermiles.com is unlikely to transmit the (unsplitted) 30gb file since it has to hold all the file in ram (flash). isendr.com seems the have the same problem. – akira Jan 15 '11 at 6:52
    
jetbytes looks fishy with that iframe and no further information of how things works. click2copy looks like something clever built upon jxta, its java2java. – akira Jan 15 '11 at 7:01

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
    
Of course, there's the risk of losing the drive en route... – Bob Jul 18 '12 at 3:42

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
    
So true , not sure why anyone hasnt suggested this.You can setup a personal tracker and not even have to worry about other stumbling across your data – RC1140 Jan 12 '11 at 8:15

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

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
    
If you can, please summarize the tutorial here, we prefer you don't just post links – Simon Sheehan Jan 14 '12 at 20:34
    
The answer contains a short summary now. – Edin Jan 14 '12 at 21:03

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
    
Dropbox has limited space or you have to purchase more space. As this is a VERY large file, I don't think this helps. – KronoS Nov 17 '10 at 16:12
    
You can add and remove parts as they have been copied. 80% compression is typical for text files, so you should have only 4 parts to transfer over dropbox. 90% is possible, in which case you can send the whole file in two parts. It is common to transfer large files in parts over file sharing sites. – BillThor Nov 17 '10 at 16:24
    
Text files yes, but these are "financial stats" which leads me to believe that there's more than just text. – KronoS Nov 17 '10 at 16:26
    
Financial stats may well be in text (numeric) format. This may help with compression. Using a tool like more may give you a good idea about the data format. – BillThor Nov 17 '10 at 17:00
    
Financial stats are often spreadsheets - and by golly you can squeeze them a lot! – Sathya Nov 17 '10 at 17:52

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

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