Architecture
Magpie is a multi-component system:
- Go
1.26API server (backend/internal/app/server) - background job routines (
backend/internal/jobs/*) - rotating proxy listener manager (
backend/internal/rotatingproxy) - Angular
21.1frontend (frontend/src/app)
Startup flow
At startup, backend:
- Loads settings from
data/settings.json(or embedded defaults) - Connects Redis and Postgres
- Initializes blacklist and optional redis sync hooks
- Loads existing proxies/sites into queues
- Starts rotating proxy listeners
- Starts periodic job routines
API style
- REST endpoints mounted under
/api - GraphQL endpoint mounted at
/api/graphql
Storage model
- PostgreSQL stores users, proxies, statistics, reputations, sites, rotators
- Redis provides queue/coordinator features used by runtime routines