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
- Download the
.dmgfrom the card above - Open it; drag ProxyPro.app into Applications
- Do the Gatekeeper workaround above that matches your macOS
- 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:
cd ~/Downloadsgrep ' proxypro-0.1.0-arm64.dmg$' SHA256SUMS | shasum -a 256 -c -# proxypro-0.1.0-arm64.dmg: OKFor 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:
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.gztar -xzf engine.tar.gzexport PROXYPRO_ENGINE="$PWD/proxypro-engine"npx proxypro-harness # boots the engine + MCP server on 127.0.0.1:9091Installing 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).
git clone https://github.com/trongitnlu/proxypro.gitcd proxypromake bootstrap # one-time: install Go protoc plugins + pnpm depsmake engine # universal arm64+amd64 engine binarymake dist # electron-builder packages .app + .dmgopen app/dist/mac/ProxyPro.app # or drag from app/dist into ApplicationsRequirements: macOS 14+, Node 20 LTS, pnpm 9+, Go 1.22+. See the Quickstart for full details.
Why two distribution forms?
.dmgfor 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
- Local build:
make release VERSION=vX.Y.Z(builds + smoke-tests both arch dmgs + skill zip; stamps the engine version) - 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, thenbrowser_launch→browser_goto→ the request appears in the GUI capture list →browser_close - 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 inapp/dist/using the exact filenames consumed byproxypro-harness. - Tag + push:
git tag -a vX.Y.Z -m "..." && git push origin vX.Y.Z. - Create a draft release containing both
.dmgfiles, all three engine tarballs,proxypro-claude-skill.zip, and the generatedSHA256SUMS. Runbash 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, theRelease Linux enginesworkflow independently native-builds both Linux binaries as CI evidence and verifies the remote engine contract plus all six entries inSHA256SUMS; it never replaces an already-checksummed release asset. - Only after the remote contract passes, publish
proxypro-harnessfromharness/; first run the strict pin checkbash scripts/verify-harness-release.sh vX.Y.Z remote. ItsengineReleasemust equalvX.Y.Z. - Edit the
hrefon the two LinkCards above + the enginecurlURL in the “Standalone engine” section to point at the new version (DMG URL pattern isgithub.com/trongitnlu/proxypro/releases/download/vX.Y.Z/proxypro-X.Y.Z-<arch>.dmg) - Git push — Cloudflare Pages rebuilds + redeploys automatically