肉末
4d697692e0
feat: burn-after-read and expiry cleaner
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-14 12:53:58 +08:00
肉末
175a4ad0d1
feat: per-IP rate limit and write bans
...
Apply sliding-window 2/s limits and BannedIP checks on write routes.
Also force SVG attachment disposition and claim burn-after-read in DB
before streaming, deleting the file via BackgroundTask after the response.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-14 12:52:45 +08:00
肉末
f2a1f3a1d6
fix: burn file items after download, not metadata fetch
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-14 12:48:42 +08:00
肉末
eda7010cae
feat: file upload, allowlist, and download/preview
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-14 12:47:58 +08:00
肉末
0e59936e34
feat: public text items, wall, and detail API
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-14 12:43:53 +08:00
肉末
4d3cd2ac8b
feat: scaffold FastAPI app, config, and SQLite models
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-07-14 12:40:26 +08:00