1.1 KiB
Drop
Minimal password-protected file sharing. Upload one file up to 4 GiB, choose its lifetime in days, and copy a direct five-character link. Links accept either letter case. Images display inline; other files download with their original names. Expired files are deleted automatically.
./install.sh
cat .passwd
./run.sh
The installer uses an existing Node.js >=22.13 with npm, or downloads Node.js 24.18.0 into .runtime/node on Linux/macOS x64/arm64. It installs backend dependencies from package-lock.json and creates a random .passwd only when that file does not exist. TypeScript and tsx are not needed; the backend is plain JavaScript.
The server listens on 127.0.0.1:8787. Put a reverse proxy in front of it for public access, for example:
http://drop.example.com {
reverse_proxy 127.0.0.1:8787
}
Keep the project directory writable. Uploaded files and SQLite metadata live in data/. .passwd, data/, dependencies and the local Node runtime are excluded from Git. Edit .passwd to change the password; existing sessions will be invalidated.