Cloud-managed VPN for macOS and Windows. Sign in, receive a Tono-issued exit catalog and signed traffic policy, then connect directly to the selected exit. The Cloudflare Worker manages accounts and configuration; it does not relay the user's traffic.
- macOS: SwiftUI app with a privileged helper for PF, DNS and Core lifecycle.
- Windows: Tauri app with a privileged service for WFP, DNS and Core lifecycle.
- Transports: VLESS Reality and catalog-authorized Hysteria 2. Availability depends on the issued node configuration, not merely client support.
- Protection: OS-level fail-closed enforcement; no unprivileged sidecar fallback and no certificate-verification bypass.
- Operations: ops2 is the operator console, separate from the customer apps.
macOS uses sing-box as its product Core; Windows still uses Tono's
patched Mihomo. The macOS sing-box build is not a customer release.
Ubuntu desktop and the tono CLI are planned, not shipped products.
Tono is its own product. Reused components and license obligations are recorded in third-party notices; old privileged upgrade names remain compatibility details, not the product identity.
| Reader | Entry point |
|---|---|
| Contributor | Contribution workflow |
| Developer / build operator | Build and test execution |
| Architecture reviewer | System map |
| Release reviewer | Ship gates and release lines |
| Ops developer | Ops plan and console |
| Coding agent | Agent instructions |
| Further documentation | Document map |
The maintainer's MacBook is the editing and review machine, not a second macOS-and-Windows build farm. Native compilation, large test suites and packaging belong on build workers; frontend fixtures and focused lightweight checks can stay local.
This repository is public. Routine builds and automated checks use GitHub's
standard hosted runners: macos-26, windows-2025 and ubuntu-24.04 for
portable/web work. Fixed OS labels avoid implicit major-version migrations;
checked-in toolchain pins still matter. Do not replace them with latest
without a reviewed compatibility change.
Mac Studio and the Windows machine are native acceptance devices, not required CI workers. Mac Studio no longer serves as a residential exit. Keep GUI, PF/WFP, DNS, sleep and installed-update qualification separate from build success, and signing/publication behind the existing ship gates.
No self-hosted registration is required. The former tono-build repository is
retired. See the execution guide for trust boundaries,
exact-SHA evidence and cache policy.
| Directory | Purpose |
|---|---|
apps/macos/ |
SwiftUI client and privileged helper |
apps/windows/ |
Tauri app, service and portable Rust crates |
services/control-plane/ |
Cloudflare Worker, D1 and static assets |
services/ops-console/ |
Operator UI |
services/exit-agent/ |
VPS roster and metering |
services/home-agent/ |
Residential-exit usage reporter; not a Mac Studio assignment |
ops-panel/ |
SSH quality collector |
tooling/scripts/ |
Build, test, release and operations tooling |
A GitHub tag, a candidate installer or a green build is not proof of a customer-channel release. The next customer publication is governed by SHIP_PLAN; open protection and upgrade gates remain open until the required evidence exists. Ops UI polish is not a customer ship gate.
release/macos and release/windows own their platform release lines. main
is the reviewed integration point and the only production Worker source.
Sparkle and windows-updates promotion remains an explicit, gated operation;
moving builds to another machine does not authorize publication.