What is a good self-hosted solution for sharing files with friends?
from herseycokguzelolacak@lemmy.ml to selfhosted@lemmy.world on 30 Oct 19:01
https://lemmy.ml/post/38283688

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?

#selfhosted

threaded - newest

philophilsaurus@sh.itjust.works on 30 Oct 19:05 next collapse

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

e0qdk@reddthat.com on 30 Oct 19:12 next collapse

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

Aquila@sh.itjust.works on 30 Oct 20:26 next collapse

Yea just draw the rest of the owl duh! 🙄

AtariDump@lemmy.world on 31 Oct 02:56 next collapse
lIlIllIlIIIllIlIlII@lemmy.zip on 31 Oct 12:20 collapse

python3 -m http.server
PHLAK@lemmy.world on 01 Nov 03:53 collapse

If you have Docker hand you can use my project Directory Lister to do just this quick and easily (Docker docs).

AbidanYre@lemmy.world on 30 Oct 19:20 next collapse

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. 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.

yaroto98@lemmy.world on 30 Oct 19:22 next collapse

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 on 30 Oct 19:25 next collapse

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

yaroto98@lemmy.world on 30 Oct 19:53 collapse

Good to know, thanks.

lepinkainen@lemmy.world on 31 Oct 10:42 collapse

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

Prunebutt@slrpnk.net on 30 Oct 19:23 next collapse

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 on 30 Oct 23:00 collapse

How do I learn all these terms?

gedaliyah@lemmy.world on 31 Oct 01:45 next collapse

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 on 31 Oct 06:55 collapse

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 on 31 Oct 13:54 collapse

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 on 31 Oct 14:39 collapse

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

kossa@feddit.org on 01 Nov 07:52 collapse

Webdav is just a http “file system”. You can then e.g. mount the storage space as a webfolder in your operating system.

paf@jlai.lu on 30 Oct 19:25 next collapse

I can’t remember any name but search for f2f (friend to friend) p2p. Basically a private way to share files over p2p to limited people you have accepted without any use of tracker like P2P use

freeearth@discuss.tchncs.de on 30 Oct 20:21 next collapse

you might configure Syncthing in that way

meonkeys@lemmy.world on 31 Oct 15:22 collapse

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.

stonkage@aussie.zone on 30 Oct 20:24 next collapse

https://selfh.st/apps/?tag=File+Sharing

meonkeys@lemmy.world on 31 Oct 15:20 collapse

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

stonkage@aussie.zone on 31 Oct 21:32 collapse

Cheers, fixed it

n4sdaq@lemmy.dbzer0.com on 30 Oct 21:05 next collapse

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?

HotChickenFeet@sopuli.xyz on 30 Oct 21:36 next collapse

Does anyone use Blaze? ( 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

jobbies@lemmy.zip on 30 Oct 21:57 next collapse

Copyparty is amazing

bridgeenjoyer@sh.itjust.works on 30 Oct 22:59 collapse

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

q7mJI7tk1@lemmy.world on 30 Oct 23:01 next collapse

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.

pulverizedcoccyx@lemmy.ca on 31 Oct 08:36 collapse

Thanks! I went looking for something better than nextcloud, and this one really fit the ticket.

q7mJI7tk1@lemmy.world on 31 Oct 14:15 collapse

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.

perishthethought@piefed.social on 31 Oct 00:09 next collapse

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.

lambalicious@lemmy.sdf.org on 31 Oct 00:46 next collapse

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.

sin_free_for_00_days@sopuli.xyz on 31 Oct 03:59 next collapse

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.

joshchandra@midwest.social on 01 Nov 14:07 collapse

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…

BigTrout75@lemmy.world on 31 Oct 05:06 next collapse

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

Wispy2891@lemmy.world on 31 Oct 05:43 next collapse

zipline.diced.sh

Manodor@feddit.org on 31 Oct 06:02 next collapse

I use Warpinator in combination with tailscale

running_system@feddit.org on 31 Oct 09:15 collapse

Does this require the recipient to install and sign up for Tailscale?

Manodor@feddit.org on 04 Nov 12:39 collapse

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>’

Hupf@feddit.org on 31 Oct 06:20 next collapse

xkcd.com/949/ has a few good hints.

Cyber@feddit.uk on 31 Oct 07:13 collapse

I think this summarises all the other answers here

B0rax@feddit.org on 31 Oct 10:30 next collapse

Are both parties online at the same time?

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

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

radieschen@slrpnk.net on 31 Oct 12:37 next collapse

Onion share might be an option.

Willdrick@lemmy.world on 31 Oct 13:04 next collapse

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

meonkeys@lemmy.world on 31 Oct 15:22 collapse

not self-hosted

kokomo@lemmy.kokomo.cloud on 31 Oct 15:34 next collapse

file.pizza can be self hosted, github.com/kern/filepizza

ki9@lemmy.gf4.pw on 02 Nov 09:06 collapse

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

kokomo@lemmy.kokomo.cloud on 31 Oct 15:37 next collapse

croc is really easy to setup as well, github.com/schollz/croc

herseycokguzelolacak@lemmy.ml on 31 Oct 20:18 collapse

it looks awesome tbh, thanks

rustyricotta@lemmy.dbzer0.com on 31 Oct 23:02 next collapse

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.

sem@lemmy.blahaj.zone on 01 Nov 03:20 next collapse

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

beella@lemmings.world on 01 Nov 16:13 collapse

I would not rely on catbox for the long term.

BuckWylde@lemmy.world on 01 Nov 17:22 collapse

That’s always sound advice

[deleted] on 01 Nov 04:07 next collapse

.

LordCrom@lemmy.world on 01 Nov 04:37 next collapse

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

deltapi@lemmy.world on 01 Nov 05:16 collapse

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 on 02 Nov 21:03 collapse

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

deltapi@lemmy.world on 02 Nov 23:17 collapse

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.

OldQWERTYbastard@lemmy.world on 01 Nov 08:58 next collapse

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 on 01 Nov 12:27 collapse

This is still a selfhosted sub isn’t it?

rustinmyeye@lemmy.ml on 01 Nov 14:19 next collapse

I use ownclowd

1984@lemmy.today on 02 Nov 11:03 collapse

An ordinary sftp server. No reason for this to be web based.