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?
An ordinary sftp server. No reason for this to be web based.
Try nextcloud. It can generate links to files like this.
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.
Mind if u ask how much that cloudflare front end costs you a month for how many hits?
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.
Not selfhosted but after I found catbox.Moe I haven’t had yo worry about sharing files.
I would not rely on catbox for the long term.
That’s always sound advice
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.
croc is really easy to setup as well, https://github.com/schollz/croc
it looks awesome tbh, thanks
https://file.pizza/ just because the pizza toppings URLs are fun and nasty
not self-hosted
Could be tho. Link to github (“fork me”) at the bottom.
file.pizza can be self hosted, https://github.com/kern/filepizza
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.
https://xkcd.com/949/ has a few good hints.
I think this summarises all the other answers here
I use Warpinator in combination with tailscale
Another vote for Syncthing. Might be a little too complicated for some though
Copyparty is easy, but if you can both set up syncthing, that makes it a breeze. I have a sibling that lives across the Pacific and last time they visited I set up syncthing on their laptop and when either of us wants to share something, we just drop it in that folder and wait a minute or two.
Dang. I never thought of using the discovery servers for that purpose. Creative! Just hope that one side doesn’t accidentally delete everything in there…
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.
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.







