On occasion I find myself needing to send a file at least a few gigabytes in size to a friend across our slow ISPs but haven’t found a satisfying solution. I usually end up creating a private torrent with the announce address of my own IP. Even though it’s slow - it basically never reaches my max upload speed for some reason, it is at least resilient if there are ever any network glitches.
Does anyone else face this same challenge?
EDIT: Thank you for the awesome suggestions! I have some homework to do on these
RFC 2549: https://www.rfc-editor.org/rfc/rfc2549
This problem was solved years ago: https://spectrum.ieee.org/pigeonbased-feathernet-still-wingsdown-fastest-way-of-transferring-lots-of-data
You could try wormhole. It makes a direct connection.
Super easy. Spin up an OpenVPN server, forwarding the right ports to your server. Now spin up an Apache server with the folder your file’s in as server root. Send the client config for your VPN to your friend, along with the local address of your HTTP server. Now they can install the OpenVPN client on their PC and download the file from your HTTP server. Once you’re done, tear down all your servers, and don’t forget to unforward the ports. Couldn’t be easier.
/s
Okay can you explain why thats a sarcastic answer? Is one of those first three steps way harder than I think it is?
Cause that’s not simple or easy at all. It takes a fair bit of knowledge to set up all of these things.
openvpn and apache can be very time consuming to set up if you do it for the first time
My largest file transfer I have done via USB disk. You simply don’t transfer multiple terabytes over the net.
I’ve used:
But for slower connections bittorrent is the best option by far because it doesn’t care about interruptions, and verifies the data as it goes. Just gotta make sure you’re port forwarding the client.
Before I moved I used to use my web server.
My Domain . Com / files . Zip And I would set a password on the zip. After they download it, they tell me and I remove the file.
If they are local, you can just put it on a thumb drive and physically transfer it.
Absolutely, that is definitely preferred when possible!
If they’re not local, you can put it on a pen drive and mail it to them.
Me and my friend used netcat to transfer 30 GB of files put into a zip. Very fun, would not recommend
I’d go for syncthing over nextcloud for your specific usecase. Nextcloud isn’t good for unreliable connections and they’re sticking with the annoying decision of not supporting server to server synchronization.
I literally just set up a container for Erugo for this exact thing. It worked perfectly and was super easy to do. It’s just a self-hosted version of wetransfer. Could be helpful…
I have a minio instance that I use to distribute files
You can OnionShare if you’re worried about privacy.
Create share links allowing anyone with the link (+ optional password) to browse and download individual files, or whole folder contents.
If someone needs to send me a file, I can create a user for them in a few seconds; so they can upload to that as well.