this post was submitted on 05 Jun 2025
22 points (95.8% liked)

Selfhosted

44306 readers
366 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.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I find myself often having to transfer a random files from another person's device to mine. Existing file sharing solutions aren't exactly ideal because they either require me to remember a very long URL (file shares), or requiring me to log in on others' device (cloud). I'm wondering if there's a program where anyone can upload files, but can only be viewed and downloaded from the server by authenticated users. I understand it's not wise to accept files from unauthenticated users, but it would be so damn convenient. If there isn't one, I suppose that would be my next project.

all 22 comments
sorted by: hot top controversial new old
[–] cwista@lemmy.world 1 points 51 minutes ago

I really like using Gokapi for this, like your own file paste bin to throw between PCs or send to people. Upload via link is development as well. https://github.com/Forceu/Gokapi

[–] dominiquec@lemmy.world 6 points 1 day ago

NextCloud allows you to share a folder but for upload only.

[–] iii@mander.xyz 1 points 1 day ago* (last edited 1 day ago) (1 children)

I'm wondering if there's a program where anyone can upload files, but can only be viewed and downloaded from the server by authenticated users.

Email does that. Anyone can send it to your mailbox, only you can download it.

[–] Object@sh.itjust.works 1 points 1 day ago* (last edited 1 day ago) (1 children)

Actually, that's what I've done. It gets a bit tedious when the file size gets a bit big.

[–] magikmw@lemm.ee 3 points 1 day ago

You may be surprised but a private (self-hosted) torrent tracker is how I did this when I had crappy internet and had to send over a bunch of pictures and video to family.

You can encrypt the data before sending, although it still should be fairly safe, speeds don't matter much, there's no storage to pay for or risk leaking.

[–] fartsparkles@lemmy.world 6 points 2 days ago (1 children)

What’s the context in which you’re needing to share files?

My first thought is host your own FTP server and send people credentials to log into it with and upload.

[–] Object@sh.itjust.works 5 points 2 days ago* (last edited 2 days ago) (3 children)

I am a teaching assistant, and occasionally people ask me why their code isn't working. I take it to my device so they can continue their work whilst I figure out the issue. I want to minimise the uploading complexity, and the time it takes to upload one.

[–] irmadlad@lemmy.world 3 points 1 day ago

If it's code, would a private pastebin work for you?

[–] Grimm665@lemm.ee 2 points 2 days ago

Maybe Gitolite if it's for code?

[–] fartsparkles@lemmy.world 1 points 2 days ago (2 children)

If you’re on the same network, take a look at snapdrop. It’s basically cross platform AirDrop.

[–] Mordikan@kbin.earth 2 points 2 days ago

"Snapdrop is now LimeWire". I didn't even know LimeWire still existed.

[–] twice@lemmy.world 1 points 2 days ago (1 children)

Looks like the project is dead…

[–] fartsparkles@lemmy.world 1 points 1 day ago

I’m sure there’s a decent fork. Read the code; there’s not much to it!

[–] CaptainPedantic@lemmy.world 3 points 2 days ago* (last edited 2 days ago) (1 children)

There's PairDrop. It might have what you need. It's for transferring files rather than uploading and then downloading later. You could get creative with authentication. Maybe put files in an encrypted archive file.

[–] Object@sh.itjust.works 1 points 2 days ago (1 children)

I'll have to see if it works in my environment, but otherwise it looks cool! Thank you.

[–] CaptainPedantic@lemmy.world 1 points 1 day ago

Certainly!

I've never used this one, but it could also work for you.

[–] IsoKiero@sopuli.xyz 2 points 2 days ago (1 children)

You could get around with a normal file share service (assuming you already are using one) via tinyurl or similar redirect. I don't know how much the free services track you or if they have other security implications, but I have couple of domains laying around and it would be pretty trivial to just create HTTP redirect from "class-a.up.mydomain.foo" to my nextcloud upload link.

[–] Object@sh.itjust.works 1 points 1 day ago

I honestly did not know Nextcloud allowed uploads without login. I definitely need to check that out.

[–] dgdft@lemmy.world 2 points 2 days ago

While I’m sure there’s a pre-canned tool out there for you, if you have basic software experience (which you seem to), this is one of those times where it’s usually most efficient to hack together a dumb CGI script and call it a day.

This prompt should get you most of the way there, using your llm of choice:

Write a minimalist cgi script to help upload files to a server. Upon a GET request, serve a light page with a centered form that takes in a file and a submission code. Submission codes will be stored on individual lines of a plaintext file. Adding new codes to this file is out of scope - but the codes will be 8-char hex strings (do validate that submission strings are not empty!). The script should accept the submission as a POST, and save the file to an upload dir if the submission code is valid.

Vet the output, harden as needed, setup a systemd service to serve with busybox httpd, and optionally reverse-proxy. If you’ve done this sorta thing before, you can probably knock it out in a half hour.

[–] DaGeek247@fedia.io 1 points 1 day ago

I use https://file.pizza/. It's open source and has password protection options and everything.

[–] ryokimball@infosec.pub 1 points 2 days ago

Firefox Send is open source, even though the public service is no longer offered.

Here are some public instances and instructions for self hosting: https://github.com/timvisee/send-instances/tree/master?tab=readme-ov-file