github MotherofallVPNs/MoaV v1.7.8

latest releases: v1.9.0, v1.8.6, v1.8.5...
one month ago

Component refresh (Xray, telemt, wstunnel) with a new XDNS multi-resolver fallback for hostile networks, much faster xray builds, and hardened build resilience for restricted regions.

Highlights

🌐 XDNS multi-resolver fan-out (XDNS_RESOLVERS) — XDNS client bundles now round-robin DNS queries across multiple public resolvers in a single mKCP session (default 1.1.1.1,8.8.8.8). When one resolver gets throttled or null-routed — the daily reality during Iran shutdowns — the tunnel keeps moving on the others. Configurable in .env; direct-mode bundles correctly skip it.

⚡ xray builds in seconds, not minutes — the server image now installs the official prebuilt Xray binary for the pinned tag (the same one the client already used, FinalMask/XDNS included) and only compiles from source as a fallback. The from-source compile was a leftover from the pre-1.7.4 main-branch era.

🛡️ Build resilience for restricted networks — all Go-from-source images now use GOPROXY=…|goproxy.cn|direct (pipe = fall through on any error, including the 403 Google's module CDN throws under rate-limiting) with GOSUMDB=off. Fixes hard build failures like klauspost/compress@v1.17.4: 403 Forbidden. Overridable in .env.

🩺 moav doctor logs — new check that finds oversized container logs (*-json.log > 100 MB) and offers to truncate them in place — useful for clearing accumulated logs from pre-1.7.6 containers created before log rotation existed.

🔄 Config-aware moav update — after pulling, it now detects changed server config templates and prints the full ordered apply sequence (build → bootstrap → regenerate-users → start) instead of a bare build hint, including the reminder that moav start (not restart) is what recreates containers on rebuilt images.

Component updates

┌───────────┬──────────┬─────────┬──────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ Component │   From   │   To    │                                                Notes                                                 │
├───────────┼──────────┼─────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Xray-core │ v26.3.27 │ v26.5.9 │ mKCP unaggressive congestion default (XDNS stability win), XHTTP memory-leak fix, XDNS               │
│           │          │         │ multi-resolver support, single-UDP-socket multi-resolver                                             │
├───────────┼──────────┼─────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ telemt    │ 3.4.10   │ 3.4.11  │ Security hardening (constant-time API auth, fail-closed deny-lists, PROXY-protocol rejection),       │
│           │          │         │ persistent quota state, REST quota-reset, new TLS/connection metrics                                 │
├───────────┼──────────┼─────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────┤
│ wstunnel  │ 10.5.3   │ 10.5.5  │ Bugfixes: HTTP-proxy password log leak, TLS/DNS resolution, Android compat                           │
└───────────┴──────────┴─────────┴──────────────────────────────────────────────────────────────────────────────────────────────────────┘

⚠️ Upgrade note — no action required

Xray v26.5.9 renamed the inbound clients/accounts key to users, but kept the old keys as backward-compatible aliases. Your existing configs/xray/config.json keeps working as-is — no crash, no re-bootstrap needed. MoaV's templates emit users for fresh installs. Optional cleanup: moav bootstrap migrates the on-disk config to the new key (idempotent, preserves keys + user UUIDs). To get the new XDNS_RESOLVERS default into existing user bundles, run moav regenerate-users.

To update:

  moav update                       # pull + sync .env versions
  moav build xray telemt wstunnel --no-cache
  moav start                        # recreate containers on the new images
  • DNS-tunnel docs: new Reachable DNS resolvers guidance (docs/protocols.md) with findns/dns-mns scanner links, cross-referenced from DNS.md, CLIENTS.md, and the bundled xdns.txt.
  • TROUBLESHOOTING.md "Disk space full": in-place log truncation steps + docker builder prune -af.
  • Dockerfile.client xray pin bumped to match the server; stale moav.sh fallback versions corrected.

Full Changelog: v1.7.7...v1.7.8


Quick Install

curl -fsSL moav.sh/install.sh | bash

This will install MoaV to /opt/moav and guide you through setup.

Documentation

moav.sh/docs — Full documentation

Don't miss a new MoaV release

NewReleases is sending notifications on new releases.