Ask HN: What is your favorite method of sending large files?
319 points| mettamage | 5 years ago
But some of you have, and I figured they make for fun and interesting stories ;-)
So what's your favorite method to send large files, of at least 5GB or bigger? Though, I'm also curious on how you'd send 10TB or more.
[+] [-] livueta|5 years ago|reply
Transferring the torrent metadata is pretty trivial and can be done via a wide range of methods, and having that flexibility can be nice.
Unlike HTTP, you get reasonable retry behavior on network hiccups. Also, more robust data integrity guarantees, though a manual hash test is probably a good idea either way.
At least among people I'm throwing TBs of data around with, torrent infra is common and it's nice to not have to deal with some special-purpose tool that, in practice, is probably a pain in the ass to get compatible versions deployed across a range of OSes. Basically every platform known to man can run a torrent client of some sort.
And obviously, no dependency on an intermediary. This is good if you're trying to avoid Google et al. That does, however, bring a potential con: if my side is fast and your side is slow, I'm seeing until you're done. If I'm uploading something to gdrive or whatever, I can disconnect one r the upload is done. If you control an intermediary like a seedbox, that's less of a problem.
In general, though, torrents are pretty great for this sort of thing. Just encrypt your stuff beforehand.
[+] [-] arsome|5 years ago|reply
For this reason I prefer using something like Syncthing which is designed more with this purpose in mind.
[+] [-] libertine|5 years ago|reply
I don't know enough, maybe it has security issues, or some limits... but the fact is that it's still widely used, by tech literate people, so it still stands the test of time and it must be doing something right.
[+] [-] myself248|5 years ago|reply
Seriously. Zmodem/resume was doing better in 1986.
[+] [-] cryo|5 years ago|reply
https://cryonet.io
- Fully p2p, even the signalling server part which is done via Tor hidden services (later on there will be an alternative using a DHT).
- So unless the Internet or Tor goes offline it can never be down.
- Works with proxies and in corporate environments when UDP might be blocked.
[+] [-] efreak|5 years ago|reply
[+] [-] mderazon|5 years ago|reply
[+] [-] StavrosK|5 years ago|reply
I have no trouble seeding in swarms, only when I create torrents. Other than that, BT is ideal.
[+] [-] unknown|5 years ago|reply
[deleted]
[+] [-] unknown|5 years ago|reply
[deleted]
[+] [-] hoorayimhelping|5 years ago|reply
This is such a facepalm moment. "This service is awesome, it does everything you need, it's reliable, it's safe, it's practical, and all you have to do is encrypt your files, share encryption keys, validate identities, and establish trust with the person you're sharing with. Also if you screw it up in any way, your file is public forever. It's so rad!"
[+] [-] geocrasher|5 years ago|reply
5GB on Internet: Upload to my OVH VPS and HTTP or Rsync it to its destination
10TB, local or Internet: Physical Hard Drive.
Never underestimate the bandwidth of a station wagon full of backup tapes!
https://www.tidbitsfortechs.com/2013/09/never-underestimate-...
And since you now buy 1TB micro SD cards, so perhaps I'd split the file 11 ways (no way it'll fit exactly) and send them via carrier pigeon. Or heck, I could just tape them to a drone and hope they aren't damaged in the crash. There's lots of ways to move data around. Maybe you want to UUENCODE it and submit bad URL's to a servers log so that it can be exfiltrated later? It would probably take a very, very long time, but could be done. I call it "CURLyTP"
https://miscdotgeek.com/curlytp-every-web-server-is-a-dead-d...
[+] [-] terramex|5 years ago|reply
Never underestimate the bandwidth of a station wagon full of backup tapes!
In Poland there is an option to send package via train for 8$. Just go to station and give package to conductor/train guard, few hours later receiver can get it at destination station. Sending HDDs full of raw video footage this way is very popular among video editors here.
[+] [-] austinheap|5 years ago|reply
[+] [-] rjeli|5 years ago|reply
[+] [-] simonebrunozzi|5 years ago|reply
The exact quote [0] by Andrew Tanenbaum is: "Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway.".
Obligatory xkcd [1].
I met Andy Tanenbaum in 2008 at Vrije Universiteit in Amsterdam. I was the Technology Evangelist for AWS in Europe, giving a seminar there on cloud computing.
I loved him. Funny, smart. I didn't even know he was American until I met him in person (having studied computer science, you're not exactly sure of someone's nationality solely based on his last name).
[0]: https://en.wikiquote.org/wiki/Andrew_S._Tanenbaum
[1]: https://what-if.xkcd.com/31/
[+] [-] brippalcharrid|5 years ago|reply
[+] [-] peternicky|5 years ago|reply
[+] [-] k__|5 years ago|reply
[+] [-] mullen|5 years ago|reply
If it is above 50G and on my personal computer, I encrypt the data and then physically mail a USB stick with the data on it. Trying to arrange the downloading/uploading of 50G of data from my personal computer to another personal computer is a real pain. The people that I would send/receive that much data to/from, that is stored on my personal computer are usually people who don't know much about ftp, scp or easily sharing files over the Internet. Sending a USB stick is just so much easier and in many cases, faster. I make sure the recipients know how to decrypt the data before sending the data.
If it is on a server (For example, a side project instance in AWS), then I drop it into S3 bucket, export it and send the URL to the recipient. I just eat the cost of them downloading it. Usually I am making money off the work anyways, so it is the cost of doing business.
[+] [-] lowwave|5 years ago|reply
Consider BunnyCDN way cheaper than s3.
[+] [-] quietbritishjim|5 years ago|reply
I do the same thing with OneDrive. Of course that's the same thing and I'm just agreeing with your answer, there are any number of DropBox-like services (including DropBox!). OneDrive is nice if you have Office 365 because you can password protect a link and send the password via a separate channel, which makes the process pretty secure (if you trust Microsoft with your data).
[+] [-] kvn_95|5 years ago|reply
Between OSX, AirDrop works very well. I have sent >10GB files between Macs, quite quick as well.
I have never send a 10TB file so I wouldn't know. None of my drives are that large yet :)
[+] [-] theobeers|5 years ago|reply
[0]: https://github.com/schollz/croc
[+] [-] mettamage|5 years ago|reply
Edit: magic wormhole is awesome! Thanks! :D
[+] [-] kilroy123|5 years ago|reply
[+] [-] emit_time|5 years ago|reply
[+] [-] Zenbit_UX|5 years ago|reply
[+] [-] ashton314|5 years ago|reply
[+] [-] unilynx|5 years ago|reply
Fastest way to transfer a collection of files on a local network and doesn't require temporary storage for the archive
[+] [-] Matthias247|5 years ago|reply
[+] [-] rags2riches|5 years ago|reply
[+] [-] BrandonM|5 years ago|reply
[+] [-] jve|5 years ago|reply
However no-one mentioned a super simple service: https://wetransfer.com/ - Simple as drag & drop, enter recipient address, SEND. Pretty simple if you want non techie to send you something.
[+] [-] sillysaurusx|5 years ago|reply
It's like a private dropbox.
For files on the order of <= 10GB, magic wormhole is lovely: https://techcrunch.com/2017/06/27/magic-wormhole-is-a-clever...
`sudo pip3 install magic-wormhole` is an automatic "must run this command" on all my servers. Simple, secure way of sending files from A to B, with no bullshit. No account creation, even.
[+] [-] anderspitman|5 years ago|reply
Here's a couple of my projects:
https://patchbay.pub/
code[0]
Sender:
Receiver: https://fbrg.xyzcode[1]
This one works in the browser. You select a file and it gives you a link you can share with others. The underlying tech[2] is more complicated (relies on WebSockets) than patchbay, but the server is currently more reliable. I'm in the process of improving the patchbay server to be more robust, and I think it will eventually replace fibridge completely.
My current project is building something along the lines of Google Drive, but much simpler and designed to be self-hosted from within your home.
[0]: https://github.com/patchbay-pub/
[1]: https://github.com/anderspitman/fibridge-proxy-rs
[2]: https://github.com/omnistreams/omnistreams-spec
[+] [-] BenjiWiebe|5 years ago|reply
[+] [-] tbronchain|5 years ago|reply
I gave that question a few tries but I feel part of the problem is the market being saturated by giants doing half the job. Another part of it is the lack of interoperability regarding file sharing between operating systems. I mean - a native right click>send to>user - native notification to the user with a solution to direct p2p download from that person. No software needed, seemless integration. Why is that so hard?
I really wish the big boys would give that a try rather than giving us toy-like features and price bump.
[+] [-] StavrosK|5 years ago|reply
[+] [-] akerro|5 years ago|reply
For my 12TiB of data I use Syncthing when I need to sync them more often, rsync.
I used rsync several times for billions of smaller files totalling to 300GiB, but really all depending on how I connect nodes. I prefer syncthing, but when only ssh is available, then rsync is good too.
Currently largest synced directory by syncthing (that shares usage stats) is over 61384 GiB :)) https://data.syncthing.net/
[+] [-] superkuh|5 years ago|reply
If it's for more than 1 person I upload it to a VPS if it's small (<20 GB) or make a torrent if it's not.
[+] [-] itake|5 years ago|reply
$ python -m http.server 8000
and then you can start ngrok to expose the file
$ ngrok http 8000
that will give you an URL to share with whoever wants it.
[+] [-] adzm|5 years ago|reply
ngrok is an amazing utility though!
[+] [-] anderspitman|5 years ago|reply
[+] [-] GRBurst|5 years ago|reply
For local network:
I use miniserve ( https://github.com/svenstaro/miniserve ) which is just a simple http server. There are similar tools for when I want to share it from the smartphone.
Through the internet it really varies:
Sometimes it is Firefox send ( https://send.firefox.com/ )
For photos, I use a self hosted photo solution piwigo ( https://github.com/Piwigo/Piwigo )
In earlier days it has been a self hosted nextcloud ( https://github.com/nextcloud/server ) instance. I still use it when the files are getting too large for Firefox send.
I also tried the already mentioned wormhole but this works only with tec ppl.
[+] [-] cpach|5 years ago|reply
https://github.com/FiloSottile/age
[+] [-] Paul-ish|5 years ago|reply
I've never needed to send TBs of data.
[+] [-] jedimastert|5 years ago|reply
[0]: https://news.ycombinator.com/item?id=15440571
[+] [-] LinuxBender|5 years ago|reply
[+] [-] erezsh|5 years ago|reply