101
submitted 2 weeks ago* (last edited 2 weeks ago) by ReducedArc@lemmy.world to c/selfhosted@lemmy.world

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

top 50 comments
sorted by: hot top controversial new old
[-] TheFinn@discuss.tchncs.de 38 points 2 weeks ago
[-] Cano@lemm.ee 5 points 2 weeks ago

You can use syncthing to transfer files across the internet? How? I thought it was only for local networks

[-] MangoPenguin 10 points 2 weeks ago

By default out of the box it will transfer over the internet if it needs to.

[-] oldfart@lemm.ee 4 points 2 weeks ago

It just works, there's no "how". Take one of the devices outside, connect to the internet, done.

[-] NaibofTabr@infosec.pub 3 points 2 weeks ago

Er, wait, are you using Syncthing for its intended purpose of syncing files across devices on your local network? And then exposing that infrastructure to the internet? Or are you isolating Syncthing instances?

[-] iii@mander.xyz 31 points 2 weeks ago

Syncthing is not limited to local network. It's hole punching is one of the major features

[-] oppy1984@lemm.ee 6 points 2 weeks ago

Yep, I've got a buddy in another country that I needed to share a group of files with, it was several gigs and we were both editing things.

We setup a syncthing connection and once we were synced it just worked. I also use it on my LAN to sync personal files, but to share with him we both just set up a folder and I just shared that one folder with him while the rest of my shares stayed private on the LAN.

Syncthing is amazing.

[-] kratoz29@lemm.ee 3 points 2 weeks ago

The fact that Syncthing seems to solve CGNAT on its own has me wondering why there are not more solutions for the server/home side.

Why does Wireguard or any other VPN not work like Tailscale or Zerotier?

Why don't torrent clients can't work with IPv6 to seed more?

Why doesn't Plex adopt a similar mechanic like Syncthing to expose the media over the Internet instead of being a prisoner of CGNAT?

I know I am just throwing different options with my personal frustrations lol, but I hope you get what I am trying to mean, Plex, torrent and home VPN users shouldn't become masters at networking, especially when the documentation for the tools IS NOT ENOUGH.

[-] WhyJiffie@sh.itjust.works 10 points 2 weeks ago

Why does Wireguard or any other VPN not work like Tailscale or Zerotier?

tailscale and zerotier are wireguard, but with a public server that helps with NAT. Syncthing uses a public server for that too.

wireguard was specifically made to be as simple and minimalistic as possible.

Why don't torrent clients can't work with IPv6 to seed more?

is there such a problem? honest question. But I think that might be a different issue

Why doesn't Plex adopt a similar mechanic like Syncthing to expose the media over the Internet instead of being a prisoner of CGNAT?

maybe they just don't see working on it profitable enough

[-] kratoz29@lemm.ee 4 points 2 weeks ago

tailscale and zerotier are wireguard, but with a public server that helps with NAT. Syncthing uses a public server for that too.

wireguard was specifically made to be as simple and minimalistic as possible.

Zerotier wasn't always Tailscale was it?

is there such a problem? honest question. But I think that might be a different issue

You need to be connectable to download from all the peers, likewise non connectable users can't download from you, and how do you become connectable? By opening your ports, something that might seem archaic from somebody who has totally embraced IPv6.

maybe they just don't see working on it profitable enough

Yeah maybe.

Just to clarify, I have several workarounds for the 3 issues that have involved spending more money or not to get rid of CGNAT.

  • For the 1st one... Well I already mentioned it, I am a ZT and Tailscale user, I did try Wireguard from a VPS once though, but I didn't like that I was entirely dependant of my upload speed, maybe I had my Iptables wrongly configured but I usually got faster speeds just using ZT or Tailscale (I didn't need to relay in the US VPS server).

  • For Torrenting... I actually haven't found a solution to use IPv6... I did use a container client to use my VPS at that time though, it being Digital Ocean and thus getting a DMCA letter for downloading TWD me being a LATAM user was... A kinda funny experience, with that said I stopped that project immediately, it was fun to give back to the community with my 24/7 NAS always seeding though.

  • For the last point... Well, I do use ZT and Tailscale to access the server myself, but when I want to expose it, I usually do it with a reverse proxy pointing out to my IPv6 address, and more recently using a Tailscale funnel, I haven't tried it thoroughly, but at least it seems to connect without using Plex's relays.

As you can see, one needs to be well prepared with workarounds to deal with CGNAT.

[-] WhyJiffie@sh.itjust.works 2 points 2 weeks ago* (last edited 2 weeks ago)

Zerotier wasn't always Tailscale was it?

it is not tailscale. but also it seems I was wrong and its not wireguard either

You need to be connectable to download from all the peers, likewise non connectable users can't download from you, and how do you become connectable? By opening your ports, something that might seem archaic from somebody who has totally embraced IPv6.

I know what opening ports is, I only have v4. But I thought you have difficulties with bittorrent over v6. or is it that you still need to open ports for v6, in the firewall or something?

load more comments (1 replies)
load more comments (2 replies)
[-] brickfrog@lemmy.dbzer0.com 8 points 2 weeks ago* (last edited 2 weeks ago)

Syncthing is not just for LAN use. Even their homepage mentions transmitting data over the internet

https://syncthing.net/

I've been using it to sync devices over the internet for years. It's also how people use it to sync from say their desktop to their phones, remote server, etc.

If you watch your network firewall Syncthing does reach out to servers on the internet to help it find other devices so e.g. if you enter the other device's ID (example ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG-ABCDEFG) it can reach out over the internet to find that specific ID to pair with. I think Syncthing uses a sort of DHT resolver to find other devices, I know on my firewall I had to whitelist Syncthing's servers to make it work.

I was going to try to link you some references but their forums seem to have connection issues at the moment, you may want to search around later if you're interested how Syncthing works over the internet.

[-] MangoPenguin 5 points 2 weeks ago

Syncthing is designed to be used over the internet, it's why it supports NAT hole punching, relay servers, and discovery servers.

[-] Swarfega@lemm.ee 5 points 2 weeks ago

It's very much a WAN solution too. I use it to push my files to a Pi Zero W that's 200 miles from my house. I use it as an off site store of my files. The Pi is connected as an untrusted device in Syncthing so that all files sit encrypted at rest.

[-] Appoxo@lemmy.dbzer0.com 5 points 2 weeks ago* (last edited 2 weeks ago)

Syncthing has public relays enabling it to work (dunno if one or none need to be public) without both parties being exposed.

load more comments (2 replies)
[-] Mio@feddit.nu 3 points 2 weeks ago

The user can choose. Please note you first much accept another client by its fingerprint.

[-] fubarx@lemmy.world 26 points 2 weeks ago
[-] plim@feddit.dk 19 points 2 weeks ago
[-] Brunette6256@sh.itjust.works 2 points 2 weeks ago

Wormhole or croc

[-] Knossos@lemmy.world 17 points 2 weeks ago

You could try wormhole. It makes a direct connection.

[-] eight_byte@feddit.org 8 points 2 weeks ago

Or croc which is very similar. I think it also allows to resume file transfers.

[-] hperrin@lemmy.ca 16 points 2 weeks ago

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

[-] admin@lemmy.haley.io 17 points 2 weeks ago

I have non-ironically gotten responses like this

[-] Retro_unlimited@lemmy.world 12 points 2 weeks ago

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.

load more comments (1 replies)
[-] Treczoks@lemmy.world 12 points 2 weeks ago

My largest file transfer I have done via USB disk. You simply don't transfer multiple terabytes over the net.

[-] bigDottee@geekroom.tech 10 points 2 weeks ago

I’d have to have friends across the internet that wanted files first…

[-] eneff@discuss.tchncs.de 9 points 2 weeks ago

I really like Wormhole for this exact purpose.

[-] MangoPenguin 9 points 2 weeks ago* (last edited 2 weeks ago)

I've used:

https://send.tresorit.com/

https://wormhole.app/

https://pairdrop.net/

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.

[-] Typewar@infosec.pub 8 points 2 weeks ago

Me and my friend used netcat to transfer 30 GB of files put into a zip. Very fun, would not recommend

[-] monogram@feddit.nl 7 points 2 weeks ago
[-] zewm@lemmy.world 7 points 2 weeks ago

If they are local, you can just put it on a thumb drive and physically transfer it.

[-] ReducedArc@lemmy.world 2 points 2 weeks ago

Absolutely, that is definitely preferred when possible!

load more comments (1 replies)
[-] danielquinn@lemmy.ca 6 points 2 weeks ago
[-] Darkassassin07@lemmy.ca 6 points 2 weeks ago

FileBrowser

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.

[-] manicdave@feddit.uk 5 points 2 weeks ago

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.

[-] grimer@lemmy.world 5 points 2 weeks ago

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

[-] JRaccoon@discuss.tchncs.de 4 points 2 weeks ago

My use case is a bit different than yours but still worth mentioning, I think; I have Sharry running in Docker and it makes sharing and receiving files super easy. All downloads and uploads are resumable so they work well even in unstable networks.

I used vaultwarden just the other day for this purpose. I mean, I use vaultwarden daily as a password manager, but it also has secure file transfer.

[-] MightyCuriosity@sh.itjust.works 3 points 2 weeks ago
[-] RonnyZittledong@lemmy.world 3 points 2 weeks ago

I have a minio instance that I use to distribute files

[-] Appoxo@lemmy.dbzer0.com 3 points 2 weeks ago

If its a file from my seedbox: Direct share link (optional pw)
Local file: OneDrive

[-] Tabooki@lemm.ee 3 points 2 weeks ago

Nextcloud is great for this

[-] theskyisfalling@lemmy.dbzer0.com 2 points 2 weeks ago

Just share the folder on soulseek. Probably not advisable for any sensitive information though xD

[-] deprecateddino@lemmy.world 2 points 2 weeks ago
[-] Moonrise2473@feddit.it 2 points 2 weeks ago

i like zipline but i use it for smaller files where download resumability is not a key factor

[-] miss_demeanour@lemmy.dbzer0.com 2 points 2 weeks ago
load more comments
view more: next ›
this post was submitted on 17 Mar 2025
101 points (100.0% liked)

Selfhosted

45449 readers
283 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS