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
Selfhosted
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:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
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.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
NextCloud allows you to share a folder but for upload only.
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.
Actually, that's what I've done. It gets a bit tedious when the file size gets a bit big.
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.
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.
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.
If it's code, would a private pastebin work for you?
Is a server a requirement? I haven't tried myself but localsend (p2p) comes to mind.
It would be desirable, as I don't have to be prepared whenever someone starts sending a file, but I suppose I can live without it. Thank you for the suggestion!
If you’re on the same network, take a look at snapdrop. It’s basically cross platform AirDrop.
"Snapdrop is now LimeWire". I didn't even know LimeWire still existed.
Looks like the project is dead…
I’m sure there’s a decent fork. Read the code; there’s not much to it!
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.
I'll have to see if it works in my environment, but otherwise it looks cool! Thank you.
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.
I honestly did not know Nextcloud allowed uploads without login. I definitely need to check that out.
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.
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