2026-06-28 14:49:44 +02:00
2026-06-28 14:48:05 +02:00
2026-06-28 14:48:05 +02:00
2026-06-28 14:49:44 +02:00
2026-06-28 14:48:05 +02:00
2026-06-28 14:48:05 +02:00

AzProx

IP rotation through Azure Functions. Like proxychains, but through the cloud.

Deploy lightweight HTTP proxy functions across Azure regions. Each Function App gets several outbound IPs, so prefixing a command with azprox routes its traffic through a rotating pool of Azure IPs.

azprox curl https://ifconfig.me     # different Azure IP per request
azprox python3 spray.py             # any tool, all HTTP(S) traffic rotated
azprox nuclei -u https://target.com

Install

git clone <repo> azprox && cd azprox
pip install -e .

Requires Python 3.10+ and the Azure CLI (az).

Quickstart

azprox init                      # use your current `az login` session
azprox deploy                    # 5 random EU regions (~3-5 min, remote build)
azprox status                    # show endpoints + live outbound IPs
azprox curl https://ifconfig.me  # go
azprox nuke                      # tear everything down when done

Commands

Command What it does
azprox init Authenticate (az CLI session, or --client-id/--secret/--tenant/--subscription for a service principal)
azprox deploy Deploy proxies. -n 10, --regions eu|us|apac|all, or --regions westeurope,uksouth
azprox status Health-check each endpoint, print outbound IP + latency
azprox serve Run a persistent local proxy (-p 8080, --random)
azprox regions List available regions
azprox nuke Delete the resource group and clear local state (--force to skip the prompt)
azprox <anything else> Run that command through the proxy

One active deployment at a time. State lives in ~/.azprox/.

How it works

  1. azprox deploy creates a Function App per region — each a small HTTP relay that strips identifying headers and forwards to your target.
  2. azprox <command> starts a local proxy, sets HTTP_PROXY/HTTPS_PROXY, and runs your command.
  3. The local proxy picks an endpoint per request; the function forwards from its own Azure outbound IP. The target sees a rotating Azure IP, no proxy headers.
your machine            Azure Functions              target
┌──────────┐    ┌───────────────────────────┐    ┌────────┐
│ azprox   │    │ westeurope    (N IPs)      │    │        │
│ curl ... │──► │ northeurope   (N IPs)      │──► │ target │
│          │    │ uksouth       (N IPs)      │    │  .com  │
└──────────┘    └───────────────────────────┘    └────────┘
 HTTP_PROXY       random / round-robin             sees rotating IPs

HTTPS: an HTTP_PROXY can't see inside a CONNECT tunnel, so azprox terminates TLS locally with a leaf cert from a local CA (~/.azprox/ca/), rewrites the decrypted request through the rotating function, and re-encrypts the reply. In azprox <command> mode the child's CA-bundle env vars are pointed at that CA, so curl, requests, httpx, wget, node, and git trust it automatically. The CA never leaves your machine.

Cost

Azure Functions Consumption plan: 1M executions/month free (permanent). Typical engagement volume is effectively free; idle costs nothing.

S
Description
Automated archival mirror of github.com/ar0x4/azproxy
Readme 140 KiB
Languages
Python 100%