Add dynamic AltStore source management with admin UI
- source.json is now served dynamically from R2 (no redeploy needed to publish releases)
- POST /api/admin/altstore/release publishes a new version (bearer token or session cookie auth)
- GET /admin/altstore is a protected admin UI: shows current release, publish form, verify/federate buttons
- altstore-r2.sh gains a `release` command that uploads ADP to R2 then calls the admin API in one step
- astro.config.mjs updated to route /altstore/source.json, /api/admin/*, /admin/* through the Worker
Setup required: run `wrangler secret put ADMIN_SECRET` then open /admin/altstore?token=<secret>
https://claude.ai/code/session_01RFjX945cF6zS1xdEJAEDM3