Share a large file with someone on the same home network at full local speed
Share a file publicly over the internet with an expiring, unauthenticated link
Self host a private file sharing service instead of using a third-party cloud service
Run a multi-user file sharing server with per-user storage quotas
| frum1/omnishare | aclark4life/home-depot-crawl | aetheria-labs1/storefront-skills | |
|---|---|---|---|
| Stars | 6 | 6 | 6 |
| Language | Python | Python | Python |
| Last pushed | — | 2014-08-10 | — |
| Maintenance | — | Dormant | — |
| Setup difficulty | moderate | moderate | easy |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | ops devops | developer | pm founder |
Figures from each repo's GitHub metadata at analysis time.
Requires Docker and, for public HTTPS access, a domain with ports 80 and 443 forwarded.
OmniShare is a self-hosted file sharing tool built for a specific everyday problem: sending a file to someone on your home network should not have to travel out to the internet and back. Most file sharing services only give a file one link, which either only works locally or only works from outside. OmniShare gives every uploaded file two links at once, a public one that works over the internet and a local one that works directly over your home network, and lets you pick whichever one fits the person you are sending it to. The tool runs as a single self-hosted server. Uploading a file requires a user account, since there is no open sign-up, and an admin creates accounts with their own storage limits from an admin panel. Downloading a file does not require an account at all, anyone with the link can grab the file, so links themselves act as the access control, and files can optionally be given an expiry time or a download limit for extra safety. Large uploads use a protocol that lets them resume automatically if the connection drops partway through. Behind the scenes, OmniShare bundles an optional reverse proxy called Caddy that can automatically get and renew a free HTTPS certificate for a public domain, while devices inside the home network reach the server directly by its local address without going through the internet at all. The whole setup runs from a Docker container using a lightweight SQLite database, so no separate database server is needed, and settings can be changed later from the admin panel itself. Getting started only requires Docker: downloading two configuration files, setting the server's local network address in an environment file, and running one command to start it. On first startup the server automatically creates an administrator account with a generated password. The project is written in Python, uses a Vue-based web interface built as a companion project, and is released under the GPL version 3 license.
A self-hosted file sharing server that gives every uploaded file both a public internet link and a fast local network link.
Mainly Python. The stack also includes Python, Docker, Vue 3.
Free to use and modify, but any modified version you distribute must also be released under the same open license.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
double-check against the repo, no cap.