⚠️ Prerelease for testing — not for production. Stable
moav updatewill not pull this; install it explicitly (below). This is rc.6: rc.5 plus a new CLI automation layer.
New in rc.6 — automation-friendly CLI (#336)
--jsonoutput onmoav status,moav doctor [check],moav user list/add/remove/revoke, andmoav test --json— scriptable, stable output for dashboards and automation.- Non-interactive
install.sh— setMOAV_NONINTERACTIVE=1(or--non-interactive) withMOAV_DOMAIN/MOAV_EMAIL/MOAV_ADMIN_PASSWORD, andMOAV_BOOTSTRAP=1to runmoav bootstrap --yesat the end. One-command, promptless installs for testers and fleets.
Added in 2.3.0
- sing-box → 1.14.0 (all pins), validated against the real 1.14
sing-box check. (#329) - Snell — new protocol, ON by default. Lightweight TCP proxy, HTTP obfs, no TLS/domain. Shared-key. Needs a Snell v5 client — Surge 5 / Stash / Clash Mi / Mihomo / Clash Meta for Android / FlClash (not v2rayNG/Hiddify). (#329)
- Hysteria2 gecko obfuscation — opt-in via
HYSTERIA2_OBFS_TYPE=gecko(needs a client core of sing-box ≥ 1.14 or hysteria ≥ 2.9.2). (#329)
Changed — component bumps (#332)
- Grafana 13.2.0 → 13.2.1 (security: CVE-2026-12704, CVE-2026-14199), plus telemt 3.5.7, Xray-core v26.9.9, slipstream v2026.04.22.1, MasterDNS v2026.06.13.
Fixed
- XDNS made Xray ≥ 26.9 compatible (VLESS Encryption). (#331)
moav update: Discard fully resets, and-b <ref>accepts a tag..envinline-comment leak fixed. Telegram release link-preview pinned to the release page. (#329, #331)
Install / upgrade for testing
# fresh install (interactive):
curl -fsSL moav.sh/install.sh | bash -s -- -b v2.3.0-rc.6
# fresh install (NEW: non-interactive, promptless):
curl -fsSL moav.sh/install.sh | \
MOAV_NONINTERACTIVE=1 MOAV_DOMAIN=vpn.example.com MOAV_EMAIL=you@example.com \
MOAV_ADMIN_PASSWORD='choose-a-strong-one' MOAV_BOOTSTRAP=1 bash -s -- -b v2.3.0-rc.6
# upgrade an existing test box:
moav update -b v2.3.0-rc.6 && moav build && moav start && moav regenerate-users
moav doctor && moav test <user>Please report
image build failures, any protocol that fails moav test (esp. Snell + XDNS), the new non-interactive install path, or moav update problems.
Changes since rc.5: v2.3.0-rc.5...v2.3.0-rc.6
Full diff since stable: v2.2.4...v2.3.0-rc.6
Note: the install command below fetches the latest stable release, not
this candidate. To try this build specifically, use thegit checkoutsteps in
the notes above.
Quick Install
curl -fsSL https://moav.sh/install.sh | bashThis will install MoaV to /opt/moav and guide you through setup.
Documentation
moav.sh/docs — full documentation
Get started
- Quick Start — install to first user in ~10 minutes
- Client Setup — connect from phones and desktops
- DNS Configuration — records, delegations, freeing port 53
Reference
- CLI Reference — every command and flag
- Setup Guide — every option, in depth
- Monitoring — Grafana dashboards and metrics
- Troubleshooting — symptom-first fixes
Understand it
- Supported Protocols — per-protocol ports, ciphers, stealth
- Architecture — container topology and bundle flow
- Threat Model — what is and is not protected
- OPSEC Guide — operator-side hardening
Help out
- Support MoaV — run a server, contribute, translate, donate
- Translating the Docs — one page is a complete contribution
Running it with an AI agent? llms.txt is a compact
orientation for coding agents; llms-full.txt is the
whole corpus. Both ship as release assets.