Architecture
Magpie is a multi-component system:
- Go
1.26API server (internal/app/serverinmagpie-backend) - background job routines (
internal/jobs/*inmagpie-backend) - rotating proxy listener manager (
internal/rotatingproxyinmagpie-backend) - Angular
21.1frontend (src/appinmagpie-frontend)
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