Magpie collects proxies, checks which ones work, and serves them through stable rotating endpoints. Keep a usable proxy pool for your applications without manually sorting through stale lists and replacing dead proxies.
Run it on your own infrastructure with Docker Compose, manage it in the web dashboard, and connect your applications through the API or a rotating proxy.
- Collects proxies automatically from web sources and supports imports of proxy lists and provider endpoints.
- Continuously checks HTTP, HTTPS, SOCKS4, and/or SOCKS5 proxies, with checker rules for different tags.
- Provides rotating proxy endpoints that select healthy upstream proxies.
- Tracks proxy health, latency, uptime, and reputation.
- Supports tags, search, filters, and exports for provider hostnames, IPv4, and IPv6 proxies.
- Supports shared workspaces with roles and invitations.
- Sends workspace and pool-health alerts by email, Slack, Discord, or webhook.
Magpie requires either Docker Desktop or the Docker Engine with Docker Compose.
macOS/Linux:
curl -fsSL https://magpie.tools/install.sh | bashWindows PowerShell:
irm https://magpie.tools/install.ps1 | iexThe installer asks for a proxy encryption key, creates a magpie/ deployment
directory, generates the remaining credentials, and starts the stack.
git clone https://github.com/Magpie-Tools/magpie.git
cd magpie
cp .env.example .envEdit .env and replace the example PROXY_ENCRYPTION_KEY and database password.
Then migrate and start:
docker compose run --rm backend --migrate-only && docker compose up -dOpen http://localhost:5050 and register your first account. The first registered account becomes the administrator in the default local configuration.
Keep PROXY_ENCRYPTION_KEY unchanged across restarts and upgrades. Existing
encrypted credentials depend on it. Redis queue credentials are plaintext by
default, so keep Redis private. See the installation guide
for configuration and the deployment guide
before exposing Magpie on a public server.
Take a coordinated backup
of PostgreSQL, Redis, configuration, and keys before upgrading. Keep
PROXY_ENCRYPTION_KEY unchanged and update the frontend and backend together.
For an installer-created deployment, run the update command from the directory
containing magpie/:
macOS/Linux:
curl -fsSL https://magpie.tools/update.sh | bashWindows PowerShell:
irm https://magpie.tools/update.ps1 | iexFor a cloned repository, run this from its root:
./scripts/update-stack.shOr in Windows Command Prompt:
scripts\update-stack.batThe helpers pull updated images, stop the backend, run database migrations, and restart after the migration succeeds. Stop any additional backend replicas before running the helper.
See the upgrade guide for image versions, production deployments, migration notes, and rollback.
Start with your first proxy, then use the guides for rotating proxies, checker settings and tag rules, and alerts. The full documentation also covers the API, configuration, security, and troubleshooting.
| Repository | Content |
|---|---|
| magpie | Docker Compose, installation, updates, and release validation |
| magpie-backend | Go API, checker, scraper, background jobs, and rotating proxy listeners |
| magpie-frontend | Angular web application |
| magpie-docs | User guides, API reference, and operations documentation |
| magpie-website | Public website at magpie.tools |
Join Discord for discussion or open an issue to report a bug.
See the contributing guide for local development and validation.
Magpie is licensed under the GNU Affero General Public License v3.0. See LICENSE.
The AbuseIPDB logo is used with permission.




