151

I have a Samba mount at home (behind NAT, accessible via wireguard VPN), which works very well when accessing my home files when traveling (I travel a lot for work).

The only detail missing from this solution is sharing individual files with friends. I could give them access to my VPN, but that gives them access to everything, not just one thing I want to share. Also not all my friends are that tech savvy to manage connecting to a VPN.

What would be really great is to have a link-generator that punches a hole in the NAT to give them access to specific files. Are there any self-hosted solutions for that?

top 50 comments
sorted by: hot top controversial new old
[-] Hupf@feddit.org 47 points 1 month ago
[-] Cyber@feddit.uk 11 points 1 month ago

I think this summarises all the other answers here

[-] Prunebutt@slrpnk.net 42 points 1 month ago* (last edited 1 month ago)

Do you have a public-facing internet-presence? If so, then I've heard good things about copyparty.

I'm using Nextcloud for this, but that seems a bit overkill for your usecase.

Edit: they explain how to use a cloudflare tunnel, so no public IP needed, actually.

[-] bridgeenjoyer@sh.itjust.works 11 points 1 month ago

How do I learn all these terms?

[-] gedaliyah@lemmy.world 26 points 1 month ago

Having come from zero knowledge, to now self-hosting for over a year, I can tell you that you just search for them one at a time. Sometimes they will make sense. Sometimes not yet.

Stick around here, ask questions, and look things up.

[-] Prunebutt@slrpnk.net 3 points 1 month ago

I'm not sure if I'm using all of those 100% correctly (e.g. "Public facing"). But either use a search engine,, or just ask.

What terms do you have in mind that you want to learn about?

[-] bridgeenjoyer@sh.itjust.works 2 points 1 month ago

Sorry I meant more what's in that git summary,

Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps

I know FTP but the rest I dont really understand. Im often confused by stuff on git.

[-] AllHailTheSheep@sh.itjust.works 4 points 1 month ago* (last edited 1 month ago)

I haven't looked at that GitHub but I'm familiar with most of the terms so here goes (verify them if you wish, I can't promise full accuracy).

portable file server with accelerated resumable uploads: portable most likely means it's easy to transfer from one server to another should you ever upgrade servers or anything else. resumable means you can pause the transfers if you desire.

dedup: it will automatically deduplicate files. so if you upload the same file twice it will just use the one you previously uploaded, saving space.

webdav is for distributed authoring and versioning. I don't know a crazy amount about it but assume it means there's some code in place that aids with collaboration as far as sending a file, working on it, and reuploading goes.

ftp: file transfer protocol.

tftp: trivial file transfer protocol. good for small things but iirc it's not inherently secure

zerconf: plug and play. no messing with configs needed.

media indexer/all in one file: most likely indexes media uploaded and stores the generated thumbnails in one big file. most likely this is so it'll be easier to transfer the install to another server if needed (you can move one big file containing all the thumbnails instead of a bunch of tiny ones).

no deps: no dependencies, everything you need is self contained in that repo.

again, double check things your curious about but that's my interpretation of what most would agree is kind of just a keyword filled description lol

load more comments (1 replies)
[-] jobbies@lemmy.zip 32 points 1 month ago
[-] bridgeenjoyer@sh.itjust.works 2 points 1 month ago

Just make sure not to shorten the name of that using the linux command for copy

[-] B0rax@feddit.org 16 points 1 month ago

Are both parties online at the same time?

Maybe something like this is a good solution: https://github.com/magic-wormhole/magic-wormhole

It will figure out the fastest p2p connection and send even very large files without hassle.

[-] e0qdk@reddthat.com 15 points 1 month ago

Just run a web server and expose the specific files you want to share through that?

[-] Aquila@sh.itjust.works 41 points 1 month ago

Yea just draw the rest of the owl duh! 🙄

[-] lIlIllIlIIIllIlIlII@lemmy.zip 3 points 1 month ago
python3 -m http.server
load more comments (1 replies)
[-] LordCrom@lemmy.world 11 points 1 month ago

Try nextcloud. It can generate links to files like this.

[-] deltapi@lemmy.world 2 points 1 month ago

100% this. I have one running in a lxc, and I expose it to the world through a CloudFlare tunnel so I needn't worry about dyndns or people probing my public IP.

[-] LordCrom@lemmy.world 2 points 1 month ago

Mind if u ask how much that cloudflare front end costs you a month for how many hits?

[-] deltapi@lemmy.world 2 points 1 month ago

I'm on their free tier. If you don't have a domain you need to get one, but CloudFlare does offer domain registration basically at-cost.
Because I'm on free, I can't break down my analytics like a paid account can. i can say though that for the past 30 days my account has generated 886k requests and 47.56GB of bandwidth. I can't tell you how much of that is nextcloud and how much is other stuff, like audiobookshelf, but hopefully this helps answer you.

[-] Willdrick@lemmy.world 8 points 1 month ago

https://file.pizza/ just because the pizza toppings URLs are fun and nasty

[-] meonkeys@lemmy.world 1 points 1 month ago
[-] kokomo@lemmy.kokomo.cloud 8 points 1 month ago
[-] ki9@lemmy.gf4.pw 2 points 1 month ago

Could be tho. Link to github ("fork me") at the bottom.

[-] n4sdaq@lemmy.dbzer0.com 5 points 1 month ago

Do you have a domain? If you do, maybe try Nginx Proxy Manager and SFTPGo. I previously used File Browser but the developers made some fairly large breaking changes and I never went back. SFTPGo lets you add accounts easily and I have specific folder setup for sharing with friends. It has a clean interface too. If you don't have a domain, maybe try Tailscale?

[-] perishthethought@piefed.social 5 points 1 month ago

You can consider using a Pikapods service for this. It's dead simple to strand up a server when you need one.

https://www.pikapods.com/apps#storage

They have Gokapi and/or PrivateBin for just about a buck per month. You can turn the service on and off whenever you like. Good company to work with, IME, too.

[-] kokomo@lemmy.kokomo.cloud 5 points 1 month ago
[-] herseycokguzelolacak@lemmy.ml 2 points 1 month ago

it looks awesome tbh, thanks

[-] sem 5 points 1 month ago

Not selfhosted but after I found catbox.Moe I haven't had yo worry about sharing files.

[-] beella@lemmings.world 2 points 1 month ago

I would not rely on catbox for the long term.

[-] BuckWylde@lemmy.world 3 points 1 month ago

That's always sound advice

[-] AbidanYre@lemmy.world 5 points 1 month ago

There are a few implementations of wormhole that might work.

If you're ok with exposing a server to the internet, I've had good luck with sharry. https://eikek.github.io/sharry/

I've also had good luck running a Nextcloud instance to share with friends and family. But that is probably overkill here.

[-] stonkage@aussie.zone 4 points 1 month ago* (last edited 1 month ago)
[-] meonkeys@lemmy.world 4 points 1 month ago

this link is broken? I had to copy+paste it

[-] stonkage@aussie.zone 1 points 1 month ago

Cheers, fixed it

[-] q7mJI7tk1@lemmy.world 4 points 1 month ago

I use Filebrowser Quantum if you are happy opening up a port for it. It supports 2fa. Also requires Docker which isn't too difficult.

load more comments (2 replies)
[-] BigTrout75@lemmy.world 4 points 1 month ago

Another vote for Syncthing. Might be a little too complicated for some though

[-] rustyricotta@lemmy.dbzer0.com 4 points 1 month ago

It's not quite self hosted, but Soulseek allows you to share share private directories with buddies. Soulseek might require a port forward.

Other than that, there are the many pasteboard solutions that have been mentioned. They'll either require a port forward or reverse proxy (nginx etc.) to access outside the network though.

[-] lambalicious@lemmy.sdf.org 4 points 1 month ago

Any particular reason why you can't do something like host a Send instance instead? Better to treat "filesystem behind the network" and "files to share" as two different things: one is imanent, the other is punctual and sporadic.

[-] yaroto98@lemmy.world 4 points 1 month ago

I use Pingvin. You upload a file to it and it generates a link. Has expiration on the link.

You can allow anonymous uploads or not, give friends logins etc.

I have it locked down to just me with a login and I use it to let others download the files.

[-] comrade_twisty@feddit.org 3 points 1 month ago

Last I checked it was abandoned and no one is maintaining a fork either.

[-] yaroto98@lemmy.world 2 points 1 month ago

Good to know, thanks.

load more comments (1 replies)
[-] OldQWERTYbastard@lemmy.world 3 points 1 month ago

I haven't bothered to set up anything that complex, but mega.nz gives you an encrypted 50GB of free space. I'm not crazy about supporting Kim Dotcom's crazy ass, but it periodically solves problems for me.

I was also a founding member of box.com so there's another free 50.

[-] pix_wbmr@feddit.org 1 points 1 month ago

This is still a selfhosted sub isn't it?

[-] HotChickenFeet@sopuli.xyz 3 points 1 month ago* (last edited 1 month ago)

Does anyone use Blaze? ( https://github.com/blenderskool/blaze )

I always thought it looked promising, even supporting peer-peer transfer, so in theory if you are transferring to multiple destinations multiple folks would seed.

Edit: ah, ni commits for the last 2 years

[-] philophilsaurus@sh.itjust.works 3 points 1 month ago

I’ve been looking for something like this as well. Hopefully someone has a solution.

[-] Manodor@feddit.org 2 points 1 month ago

I use Warpinator in combination with tailscale

load more comments (2 replies)
[-] Wispy2891@lemmy.world 2 points 1 month ago
[-] freeearth@discuss.tchncs.de 1 points 1 month ago

you might configure Syncthing in that way

[-] meonkeys@lemmy.world 1 points 1 month ago

If I'm understanding the OP's use case, Syncthing is a poor choice for this. It's great for power-user secure syncing, but not for casual sharing.

[-] radieschen@slrpnk.net 1 points 1 month ago

Onion share might be an option.

load more comments
view more: next ›
this post was submitted on 30 Oct 2025
151 points (100.0% liked)

Selfhosted

53615 readers
544 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.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS