mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-11-07 22:39:15 +00:00
POST /api/v1/license/job-pack checks the key with Keygen and the job against the license's metadata.jobs, then serves the newest pack the license and the app may get, from a private repository's releases or JOB_PACKS_DIR, or 204 when the app already has it. Each release is checked against contract 6 before it is served, and a release that fails, or takes over 10 seconds to check, is refused and remembered: the zip and name rules, the manifest, every signature line and every listed file. The last good packs keep serving while the store fails. Every license route now rate-limits by the client address from X-Real-Ip, and the job pack route also by the key's hash; idle buckets go an hour after their last use. scripts/list_job_packs.py shows what the store holds and why a release is refused. cryptography becomes a direct dependency. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_backend_app.py | ||