No description
| public | ||
| uploads | ||
| .gitignore | ||
| netlify.toml | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
katdrop
a minimal, smooth file transfer service with 10-minute auto-deletion.
Backend API: The official backend is powered by a permanent Cloudflare Tunnel at
https://katdrop-api.oiupoyt.space.
features
- minimal dark interface with smooth interactive particle background
- real-time backend status indicator (
online/offline) - live upload byte progress and percentage
- drag & drop files anywhere to upload instantly
- 10-minute auto-deletion timer per file with live countdown
- safe path verification and collision-free file naming
- anti-abuse IP rate limiting (120 req/min, 25 uploads/5min)
- storage quota guard (4GB cap protecting disk exhaustion)
- delete token authorization (only uploader can delete their file)
- anti-XSS download isolation (
Content-Security-Policy: default-src 'none'; sandbox+ force attachment) - strict CORS domain whitelist (
*.oiupoyt.space,localhost)
configuration
The deployed frontend at https://katdrop.oiupoyt.space connects out of the box to the official permanent backend at https://katdrop-api.oiupoyt.space. No URL parameters or configuration required.
To connect to a custom private backend, pass ?api=...:
https://katdrop.oiupoyt.space/?api=https://your-custom-backend.com
usage
# install dependencies
npm install
# start server
npm start
Runs by default on http://localhost:3000 (or falls back to an available port if 3000 is in use).
endpoints
GET /health- health check & uptimePOST /upload- upload files (file)GET /files- list active files with remaining TTLGET /uploads/:filename- download fileDELETE /delete/:filename- delete file
license
MIT