mirror of
https://github.com/narrrl/pl8list-rewind.git
synced 2026-11-03 16:41:26 +01:00
Harden the backend: read pool, tighter limits, crawler guards
Feed, likes, artist, track and the session lookup run on four
read-only SQLite connections, so a slow feed no longer blocks writes.
Reads are capped at 120 a minute per user and the audio and image
proxy at 3000 a minute per IP. Session rotation happens once when
requests race, and the page, assets and legal pages skip the session
lookup. Events and follows for unknown tracks or artists return 404,
and radio only explores artists already in the catalogue.
The crawler queue is capped at 20k jobs, an empty home page counts as
a failure, and 25 failures in a row log an error that pl8list may
have changed its API. A guest who signs in with "stay connected" gets
up to 200 likes and follows saved to pl8list. The old Python server is
removed; it lives on in 54a436a.
This commit is contained in:
1 parent
300674b8ac
commit
fbcff2266b
16 files changed
+331
-1383
No files matched your search
@@ -40,8 +40,8 @@ elsewhere). Debug builds of the server read `web/dist` from disk, so `npm run bu
|
||||
to see changes on :8790 too.
|
||||
|
||||
The server is the Rust crate in `backend/`, the front end is TypeScript in `web/` (Vite, no
|
||||
framework). The old Python server (`server.py` and friends) still works on the same database
|
||||
but not with this front end; to roll back, check out `54a436a`.
|
||||
framework). The old Python server is gone from the tree; it is in the history at `54a436a`,
|
||||
and still opens the same database.
|
||||
|
||||
Before going public in Germany, set the Impressum variables below. `/impressum` and
|
||||
`/datenschutz` are filled in from them at startup; the texts are in `backend/templates/`.
|
||||
|
||||
Reference in new issue
Block a user