[2.4.0] - 2026-10-29
Minor release: moav update can now run unattended (--yes / MOAV_NONINTERACTIVE=1), which is what the MoaV Deploy mobile app needs to update a server over SSH. No breaking changes; keys, users, and certificates are untouched.
Tip
MoaV Deploy mobile app is now in public beta
Mother of all VPNs, in your pocket. Install, run and manage your own MoaV server from your phone over SSH. No command line needed.
- Android (Google Play): https://play.google.com/store/apps/details?id=org.motherofallvpns.moavdeploy
- iOS (TestFlight): https://testflight.apple.com/join/7S972Bwk
- Source: https://github.com/MotherofallVPNs/moav-deploy-app
- Docs: https://moav.sh/docs/deploy/
Component refresh on top of the 2.3.1 audit: sing-box 1.14.3 -> 1.14.4 and Grafana 13.2.4 -> 13.3.0. Everything else stays at its 2.3.1 version (Xray-core v26.10.21, wstunnel 11.1.0, Psiphon Conduit CLI 2.1.0, Snowflake 2.15.2, telemt 3.5.14, Prometheus 3.15.1, cAdvisor 0.60.6, docker-socket-proxy v0.5.0) plus the XDNS server-side mKCP MTU fix. The 2.3.1 security details (Xray-core and Prometheus CA-root purge, Grafana CVE fixes) are in the [2.3.1] notes below.
Changed
- Component bumps: sing-box 1.14.3 -> 1.14.4 and Grafana 13.2.4 -> 13.3.0. Validated by the e2e suite on the test server.
Added
- Non-interactive
moav update(--yes/-y, orMOAV_NONINTERACTIVE=1in the environment, the same switchinstall.sh,bootstrap --yesand the--jsoncommands honour).updateused barereadprompts for the "Stash / Discard / Abort" menu on local changes and the two[Y/n].envquestions, so an unattended caller with no TTY (the MoaV Deploy app runs it over SSH) hung on the first prompt or limped through on empty-read defaults. Unattended it now takes the interactive defaults and says so: local changes are stashed (never discarded),.envversion pins are updated to the release's, new.env.examplevariables are appended, and nothing reads stdin or/dev/tty.--yesis exported so the_post-updatere-exec after a pull stays silent too. Interactive behaviour is unchanged, andupdatestill never restarts services. Follow withmoav build && moav startas before. Bash completion offers the flag. Regression test:tests/update-noninteractive-test.sh.
Full Changelog: v2.3.1...v2.4.0
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.