J0 beta

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.

ToolVersionNote
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.

  1. 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
  2. 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
  3. Pick a project

    A chooser opens first, Burp-style. Everything you capture lands in that one .jo file, and you can switch files without restarting. The proxy is already listening on 127.0.0.1:9090 by the time you reach the dashboard — there is no start button.

  4. 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.

One platform verified macOS on aarch64, by using it. The CI matrix covers three operating systems and has not been run, so Linux and Windows are unproven rather than broken — nobody knows which.
Nothing is signed No notarised bundle, no checksums, no SBOM. You are building from source you can read, which is a different trust model, not an absent one.
Your capture is sensitive A .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.