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?
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.
Not selfhosted but after I found catbox.Moe I haven’t had yo worry about sharing files.
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
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.
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.
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.
Thanks! I went looking for something better than nextcloud, and this one really fit the ticket.
Copyparty is amazing



