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?
https://xkcd.com/949/ has a few good hints.
Copyparty is amazing
Just make sure not to shorten the name of that using the linux command for copy
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.
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://file.pizza/ just because the pizza toppings URLs are fun and nasty
not self-hosted
I use owncloud
I use Warpinator in combination with tailscale
Does this require the recipient to install and sign up for Tailscale?
Yes. Both parties have to share the device on which they want to run warpinator out to the tailnet of the other person. If you already use tailscale for other personal stuff I’d recommend you make an additional tailscale account, you can use to connect to other peoples tailnets, as on linux you can simply switch between them with ‘tailscale switch <id>’
Another vote for Syncthing. Might be a little too complicated for some though
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.
deleted by creator
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.
I had Nextcloud running for several years (VM is the best way IMO, I would avoid the Docker AIO). However I found Filebrowser and it rocks as a file share service. Filebrowser Quantum is a fork with more feature as the original no longer has a maintainer. The most I’ve had someone upload to it was 300GB.
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.
I tried it but Copyparty worked better, it has a massive community suddenly and tons of cool features that mostly stay out of the way unless you enable them
Last I checked it was abandoned and no one is maintaining a fork either.
Good to know, thanks.
I’ve been looking for something like this as well. Hopefully someone has a solution.
This is still a selfhosted sub isn’t it?