21 lines
1.1 KiB
Markdown
21 lines
1.1 KiB
Markdown
# 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.
|
|
|
|
```sh
|
|
./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:
|
|
|
|
```caddyfile
|
|
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.
|