this post was submitted on 17 Mar 2025
89 points (94.9% liked)

Selfhosted

44530 readers
1372 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
 

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

(page 2) 32 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 day 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.

[–] [email protected] 2 points 1 day ago (1 children)

Not sure if this works for you but I didnt see it mentioned. I use plex for my media server, so I would just put whatever it is on there and then someone else can log in remotely and download it through the app on their mobile, and I think also via the website too.

I know this works if the person is downloading from android but haven't tested otherwise.

[–] [email protected] 2 points 1 day ago (1 children)

That should work for media files at least, but I believe they'll also need Plex pass to be able to download anything.

load more comments (1 replies)
[–] [email protected] 2 points 1 day ago

Reminds me I had been needing to find something for this too. Looks like I had thought about using Croc.

[–] [email protected] 7 points 1 day ago* (last edited 1 day 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.

[–] [email protected] 2 points 1 day ago

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

[–] [email protected] 14 points 1 day ago (2 children)

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

[–] [email protected] 4 points 1 day ago (2 children)

Okay can you explain why thats a sarcastic answer? Is one of those first three steps way harder than I think it is?

load more comments (2 replies)
load more comments (1 replies)
[–] [email protected] 18 points 1 day ago (1 children)
load more comments (1 replies)
[–] [email protected] 3 points 1 day ago
[–] [email protected] 2 points 1 day ago (1 children)

Wormhole.app, can't recall if they have a limit atm

[–] [email protected] 2 points 1 day ago (3 children)

I use wormhole, but when I've wanted to use that website for receiving, I can never tell how to do it.

Can you actually use that site to receive files?

[–] [email protected] 3 points 1 day ago* (last edited 14 hours ago) (1 children)

Whoever uploaded them has to send you a link to them. It does have a limit of 10gb, but it's pretty reliable in my experience.

load more comments (1 replies)
load more comments (2 replies)
[–] [email protected] 3 points 1 day ago

I have a minio instance that I use to distribute files

[–] [email protected] 6 points 1 day ago (2 children)

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

[–] [email protected] 2 points 1 day ago

Absolutely, that is definitely preferred when possible!

load more comments (1 replies)
[–] [email protected] 4 points 1 day 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.

[–] [email protected] 2 points 1 day ago
[–] [email protected] 6 points 1 day ago
[–] [email protected] 1 points 1 day ago

I tell them to start their Nextcloud client. Or if they don't have it, give them the share link.

[–] [email protected] 1 points 1 day ago

I host pingvin for people to send stuff to me. To send, usually I'll just move the file into a folder that exposed to Nginx with indexing and send that link. Otherwise I'll also just use my pingvin instance.

[–] [email protected] 2 points 2 days ago

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

[–] [email protected] 16 points 2 days ago (1 children)

You could try wormhole. It makes a direct connection.

[–] [email protected] 8 points 1 day ago

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

[–] [email protected] 35 points 2 days ago (2 children)
[–] [email protected] 1 points 2 days ago (9 children)

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?

[–] [email protected] 5 points 1 day ago

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

[–] [email protected] 7 points 1 day ago* (last edited 1 day 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.

[–] [email protected] 29 points 1 day ago (7 children)

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

load more comments (7 replies)
load more comments (6 replies)
[–] [email protected] 4 points 2 days ago (2 children)

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

[–] [email protected] 9 points 1 day ago

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

load more comments (1 replies)
load more comments
view more: ‹ prev next ›