A premium, feature-rich fork of Zen Browser with built-in, end-to-end encrypted sync.
Zen Browser ++ builds on the privacy-first foundations of Mozilla Firefox and the beautiful vertical-tab paradigm of Zen Browser, adding a polished, self-hostable sync for your workspaces and tabs — encrypted on-device so the relay never sees your data.
- 🔒 Zen Sync — end-to-end encrypted sync of spaces, tabs, groups and folders across devices, against a self-hostable relay. See limeflash/zen-sync.
- 🪟 Redesigned sync setup — an intuitive, localized (EN/RU) configuration pane with step-by-step device-pairing instructions.
- 🛟 Fail-safe account management — connect, disconnect and switch accounts instantly, with robust error handling.
- 🎨 Modern, Fluent UI — native settings cards, matching accent colors and refined spacing.
- 🛡️ Private by default — your keys, salts and passphrase never leave the device in plaintext.
The sync feature lives in its own repository — limeflash/zen-sync —
and is consumed here as a git submodule at src/zen/sync:
| Part | What it is |
|---|---|
| client | The in-browser module (this repo, via the submodule): crypto, relay calls, conflict-safe reconciliation, and the settings pane. |
| server | A self-hostable, zero-knowledge FastAPI relay — stores only ciphertext. |
How it works (details in the sync repo's ARCHITECTURE and API docs):
- A passphrase derives an AES-256-GCM key + auth token (PBKDF2, 100k iters).
- Your state is encrypted on-device and pushed to your relay as opaque blobs.
- Other devices pull and decrypt — the relay only ever sees ciphertext.
Run your own relay in minutes (Docker or uvicorn); see the
server README. Then
open Settings → Zen Sync, enter your Relay URL + passphrase, and pair devices.
Zen Browser ++ is a full Firefox fork — building it compiles the browser engine.
- Node.js v20+
- Mozilla's build toolchain — MozillaBuild
on Windows;
mach bootstrapon macOS/Linux. - A Clang ≥ 19 toolchain (see
configs/).
git clone --recursive https://github.com/limeflash/zen-browser-plus
cd zen-browser-plus
# already cloned without --recursive?
git submodule update --init --recursivenpm install
npm run build # full engine build (the first build takes a while)
npm run package # produce an installer/package under engine/.../dist
npm start # run the built browserFor UI-only iteration use npm run build:ui. Release builds for Windows,
macOS (incl. arm64) and Linux are produced by the workflows in
.github/workflows.
We stand on the shoulders of giants:
- Mozilla Firefox — the secure, privacy-first engine that powers the modern web.
- Zen Browser — the beautiful, innovative vertical-tab desktop browser this fork builds upon.
Licensed under the Mozilla Public License, v. 2.0.