Download J0.
What you download is the source. There is no signed bundle, no installer and no checksums yet — that is Phase 7, and it has not been done. Shipping an unsigned binary and calling it a release would be the first lie on this site, so instead: four steps, and it runs.
What you need first.
These are the versions this was last built and tested with, on macOS on Apple
silicon, on 24 October 2026. The Rust toolchain is pinned in the repository,
so rustup will fetch the right one on the first build.
If Rust is not installed, the official installer is at
https://sh.rustup.rs. Note that a non-login shell will not have cargo on
its PATH automatically — hence the first line in step two.
| Tool | Version | Note |
|---|---|---|
| Rust | 1.99.0 | pinned in rust-toolchain.toml |
| Node | 26.8.1 | CI pins 22 LTS |
| pnpm | 10.34.5 | npm will not do — the lockfile is pnpm’s |
| Xcode | CLT only | full Xcode is needed only for signing, later |
Four steps.
From a clone to an intercepting proxy with a window on top of it.
-
Clone it
The repository is private today, so this command works for its owner and not yet for you. That is the honest state of it: the code is written, the site is up, and the repository has not been opened.
$ git clone https://github.com/0xcyberpj/JZero.git $ cd JZero -
Build and run it
The first build compiles the Rust workspace and will take a while. After that it is incremental.
# cargo on PATH, once per shell $ source "$HOME/.cargo/env" $ pnpm install $ pnpm tauri dev -
Pick a project
A chooser opens first, Burp-style. Everything you capture lands in that one
.jofile, and you can switch files without restarting. The proxy is already listening on127.0.0.1:9090by the time you reach the dashboard — there is no start button. -
Trust the certificate — if you want HTTPS
Point your browser’s proxy at
127.0.0.1:9090, then visit that address directly. J0 serves a landing page with the CA in PEM and DER. Installing it is your decision and your action; J0 will not touch a system trust store on its own.# a browser profile kept for this, rather than your daily one $ open http://127.0.0.1:9090
Check it yourself.
Nine gates, and they are the same ones the project runs before any claim is made about it. Each one either passes on your machine or it does not, which is a better answer than this page could give you.
The last line is Chrome-driven and opens a real browser, so it is kept out of the
default run. It needs --test-threads=1; the tests share one browser.
$ source "$HOME/.cargo/env"
# Rust
$ cargo fmt --all -- --check
$ cargo clippy --workspace --all-targets --locked -- -D warnings
$ cargo test --workspace --locked
$ cargo audit --deny warnings
$ cargo deny check
# Frontend
$ pnpm run typecheck && pnpm run lint
$ pnpm run test && pnpm run build
# Real-Chrome integration tests, on demand
$ cargo test -p jo-browser -- --ignored --test-threads=1
Before you rely on it.
Three things worth knowing, stated here rather than discovered later.
.jo file holds real traffic. The repository ignores .jo files, keys, certificates and HAR exports so one cannot be committed by accident — keep it that way.