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.34).

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.34/proxypro-engine-0.1.0-alpha.34-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.34 (2026-10-27) — Present several scenarios in a row: after Open suite, Scenario Studio’s Demo playlist presents the picked files one after another in Demo mode, with a Next card that waits for Start and a stop on any failure. The Studio toolbar fits on one row, results move into Run, Suite, Scheduling and Audits tabs, and the editor keeps its height. Changed-file runs rerun Scenarios that share a resource with the change instead of every Scenario on the same API. Harness 0.12.0.

Previously: v0.1.0-alpha.33 (2026-10-13) — Present a scenario live: Scenario Studio’s Demo mode adds Pause, Resume and Step, step breakpoints, network breakpoints with an inspector, pacing, element highlight and a visible browser; scenario format v1.11 adds a pause step with a note, and an agent can present a scenario in Studio over MCP while you keep the controls. Steps now wait for requests that are still in flight, and the sidebar collapses to an icon rail. Harness 0.11.0.

Earlier: v0.1.0-alpha.29 (2026-10-07) — Mock APIs from a repo: the engine serves an OpenAPI file or a stateful mock stack as a real loopback origin, the AI writes that file from your code with /mock-repo, every mock server gets a live docs page with “Try it”, the Desktop gains a Mock servers view with an on/off toggle per server, and the MCP panel installs the ProxyPro skills in one click. Harness 0.7.0 adds proxypro-harness mock.

Earlier: v0.1.0-alpha.28 (2026-09-23) — A redesigned desktop shell and self-cleaning MCP sessions: a left sidebar and one shared visual system across every view, in-app dialogs that fix three prompts Electron never supported, MCP sessions that dispose themselves when an agent exits or calls session_finish, and a system proxy toggle that names the VPN overriding it. It also carries the unpublished v0.1.0-alpha.27 work: AI Copilot file attachments and the native run_scenario tool.

Earlier: 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.

Earlier: 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_launch → browser_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