Live data from Hacker News

Ask HN: What is your favorite method of sending large files?

news.ycombinator.com

171–180 of 363 posts

Re: Ask HN: What is your favorite method of sending large files?

#171

I self-host a Nextcloud instance. If it's too big for a browser download, Bittorrent is the way to go.

This is interesting. What conditions would make a file too big for a browser download? If the server supports range requests (I'm almost certain Nextcloud does), then the browser can download in chunks and just retry any failed chunks.

Re: Ask HN: What is your favorite method of sending large files?

#173
post #145

Earlier quoted context omitted.

That’s a really cool idea actually

Same thing happens in Greece with buses. It's a very popular way for moms to send home-made food to their single/university student sons.

I remember watching a Top Gear special in India which showed the delivery system for hot food for workers from their wives - the food was placed in metal tins, loaded into pallets, driven to trains, offloaded from trains, and driven to the workers. The reliability of the system was surprisingly high IIRC

Re: Ask HN: What is your favorite method of sending large files?

#174
post #141

Earlier quoted context omitted.

Sometimes I wonder if the bad connotation due to piracy made this protocol not standard (in a sense, that's not widely adopted, and people need dedicated clients, instead of it working for example in browsers). 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 rig…

WebTorrent [1] can be used to run BitTorrent on the web. It's actually integrated into the Brave browser which is a nice feature. Other browsers might catch on soon. [1] https://webtorrent.io/

Caution: Don't open this page on a metered connection, immediately starts downloading a 130MB movie file.

Re: Ask HN: What is your favorite method of sending large files?

#175
post #110

You can create a simple python http server to expose files in a directory to the local web: $ 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.

Note that the built-in web server does not support resuming downloads, unless that changed recently. twistd works well and just as simple.

ngrok is an amazing utility though!

Re: Ask HN: What is your favorite method of sending large files?

#177
post #163
post #141

Earlier quoted context omitted.

WebTorrent [1] can be used to run BitTorrent on the web. It's actually integrated into the Brave browser which is a nice feature. Other browsers might catch on soon. [1] https://webtorrent.io/

WebTorrent is pretty limited though: > ... a browser-based WebTorrent client or "web peer" can only connect to other clients that support WebTorrent/WebRTC. (from https://webtorrent.io/faq ) This essentially splinters the world into the bittorrent and webtorrent halves, which makes it far less useful.

WebTorrent is part of libtorrent now, so should be part of all torrent clients based on it, e.g. qBittorrent:

https://github.com/arvidn/libtorrent/pull/4123

Re: Ask HN: What is your favorite method of sending large files?

#178
post #86

Bittorrent. No, really. Lots of nice behaviors when transferring large amounts of data between arbitrary endpoints. 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 eith…

> Unlike HTTP, you get reasonable retry behavior on network hiccups Seriously. Zmodem/resume was doing better in 1986.

wget -c, it ain't hard.

Re: Ask HN: What is your favorite method of sending large files?

#179
post #86

Bittorrent. No, really. Lots of nice behaviors when transferring large amounts of data between arbitrary endpoints. 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 eith…

Just be careful - unless you mark that torrent private it'll get posted to the DHT and crawlers like BtDig will pick it up and list it publicly.

For this reason I prefer using something like Syncthing which is designed more with this purpose in mind.

Re: Ask HN: What is your favorite method of sending large files?

#180

Earlier quoted context omitted.

Magic Wormhole is good. These days I use croc,[0] which I find even better. [0]: https://github.com/schollz/croc

I never understood why croc chose to copy the features of Magic Wormhole but implement them in an incompatible way. Partially out of my annoyance with this I implemented a port of Magic Wormhole in Go that fully interoperates with the official python version: https://github.com/psanford/wormhole-william

I initiated the croc project. Others have asked me the same thing, so I'll bite:

I chose not to copy the features of magic wormhole because it seemed to me (at the time) to be very complicated and lacking in features crucial to myself (namely restarting transfers [1], sending folders without zipping them).

This has been to my benefit, I think, because I can iterate on croc quickly without having to conform to the wormhole spec and I've since added features still not available in wormhole (like restarting transfers [1], and ipv6 support [2]).

That being said, I really like magic wormhole and consider it my inspiration. And I'm glad that you ported it to Go!

[1]: https://github.com/warner/magic-wormhole/issues/88

[2]: https://github.com/warner/magic-wormhole/issues/354

Post reply on HN