Skip to content

Download

ProxyPro ships in three forms: a pre-built .dmg for macOS (Apple Silicon or Intel, ad-hoc signed) hosted on GitHub Releases, a standalone engine binary for headless npx proxypro-harness use, and the source tree on GitHub for anyone who’d rather build it themselves.

Pre-built .dmg

Install

  1. Download the .dmg from the card above
  2. Open it; drag ProxyPro.app into Applications
  3. Do the Gatekeeper workaround above that matches your macOS
  4. Continue with the Quickstart for cert install + proxy setup

Verify

Download SHA256SUMS from the same GitHub release, then verify only the DMG you selected. For Apple Silicon:

Terminal window
cd ~/Downloads
grep ' proxypro-0.1.0-arm64.dmg$' SHA256SUMS | shasum -a 256 -c -
# proxypro-0.1.0-arm64.dmg: OK

For Intel, replace arm64 with x64. The release gate generates the manifest from an exact six-asset contract (both DMGs, three standalone engines and the skill zip) and immediately verifies every digest before upload. The build-from-source path remains available for independent reproduction from the tagged commit (v0.1.0-alpha.26).

Standalone engine (headless / npx proxypro-harness)

The proxypro-harness npm package ships the MCP server + Playwright glue but not the Go engine. On macOS or Linux, the recommended path is simply npx proxypro-harness: it selects the release asset for the current OS/CPU, verifies its SHA-256 digest, and caches the extracted engine. Supported targets are macOS arm64/x64 (one universal asset) and Linux arm64/x64 (per-architecture assets).

To manage the binary manually, download the matching standalone engine from the release and point PROXYPRO_ENGINE at it. This macOS example uses the universal asset; Linux asset names end in linux-amd64.tar.gz or linux-arm64.tar.gz:

Terminal window
curl -L -o engine.tar.gz \
https://github.com/trongitnlu/proxypro/releases/download/v0.1.0-alpha.26/proxypro-engine-0.1.0-alpha.26-darwin-universal.tar.gz
tar -xzf engine.tar.gz
export PROXYPRO_ENGINE="$PWD/proxypro-engine"
npx proxypro-harness # boots the engine + MCP server on 127.0.0.1:9091

Installing the .dmg already embeds this same engine, so GUI users need none of the above.

Build from source

The source build is small (~2 min on M-series macs) and gives you a fresh, ad-hoc-signed .app with no Gatekeeper warning (since macOS won’t have quarantined a file you compiled).

Terminal window
git clone https://github.com/trongitnlu/proxypro.git
cd proxypro
make bootstrap # one-time: install Go protoc plugins + pnpm deps
make engine # universal arm64+amd64 engine binary
make dist # electron-builder packages .app + .dmg
open app/dist/mac/ProxyPro.app # or drag from app/dist into Applications

Requirements: macOS 14+, Node 20 LTS, pnpm 9+, Go 1.22+. See the Quickstart for full details.

Why two distribution forms?

  • .dmg for non-developers — drag-to-Applications experience.
  • Source build for contributors — also useful if you don’t trust the binary and prefer to compile yourself.

Release notes

Latest: v0.1.0-alpha.26 (2026-09-02) — Scenario format v1.7, and decrypted HTTP/1.1 answers again: press_key and select_option become first-class scenario actions; every HTTP/1.1 client reaching a decrypted host now gets a response, where before only HTTP/2 worked; and native request steps traverse the proxy instead of bypassing it, so expect_network, extract, and OpenAPI contract assertions finally see their flows.

Previously: v0.1.0-alpha.25 (2026-08-27) — parallel Scenario suites with declared shared resources, deterministic setup/teardown, quarantined dirty resources that survive restart, and a scheduling policy lifecycle backed by a tamper-evident decision ledger.

Earlier: v0.1.0-alpha.22 (2026-08-16) — Setup Doctor, structured capture workflows, performance diagnostics, release integrity, and compact desktop navigation. See the GitHub release for full notes, or the changelog for the cumulative history.

All releases live at github.com/trongitnlu/proxypro/releases.

For maintainers — how this page is updated

  1. Local build: make release VERSION=vX.Y.Z (builds + smoke-tests both arch dmgs + skill zip; stamps the engine version)
  2. Manual browser E2E (the smoke script doesn’t cover browser_*): launch the packaged app, claude mcp add --transport http proxypro http://127.0.0.1:9091/mcp, confirm the browser tools are listed, then browser_launchbrowser_goto → the request appears in the GUI capture list → browser_close
  3. Build and verify all standalone engines with make verify-engine-artifacts VERSION=X.Y.Z. This creates the macOS universal, Linux amd64, and Linux arm64 tarballs in app/dist/ using the exact filenames consumed by proxypro-harness.
  4. Tag + push: git tag -a vX.Y.Z -m "..." && git push origin vX.Y.Z.
  5. Create a draft release containing both .dmg files, all three engine tarballs, proxypro-claude-skill.zip, and the generated SHA256SUMS. Run bash scripts/verify-harness-release.sh vX.Y.Z remote, then publish the draft. This guarantees Linux users never observe a published release with missing engine assets. After publication, the Release Linux engines workflow independently native-builds both Linux binaries as CI evidence and verifies the remote engine contract plus all six entries in SHA256SUMS; it never replaces an already-checksummed release asset.
  6. Only after the remote contract passes, publish proxypro-harness from harness/; first run the strict pin check bash scripts/verify-harness-release.sh vX.Y.Z remote. Its engineRelease must equal vX.Y.Z.
  7. Edit the href on the two LinkCards above + the engine curl URL in the “Standalone engine” section to point at the new version (DMG URL pattern is github.com/trongitnlu/proxypro/releases/download/vX.Y.Z/proxypro-X.Y.Z-<arch>.dmg)
  8. Git push — Cloudflare Pages rebuilds + redeploys automatically