v1.1.2
v1.1.2 Release Notes
๐ New Features
- One-click VPS deployment - Deploy buttons for Hetzner, Linode, Vultr, DigitalOcean with cloud-init automation
- Domain-less mode - Run MoaV without a domain using WireGuard, Conduit, Snowflake, and Admin dashboard (self-signed certs)
- Home server support - Documentation for Raspberry Pi / ARM64 deployment with Dynamic DNS guides (DuckDNS, Cloudflare)
- Admin dashboard improvements:
- User Bundles section with download functionality
- Works in domain-less mode with self-signed certificates
- Shows server public IP instead of localhost
- Install script - -b BRANCH flag for testing feature branches
- moav test -v - Verbose flag for debugging connection issues
- moav update - Now shows current branch and warns if not on main/master
โก Performance
- sing-box optimizations - Disabled sniff_override_destination, disabled multiplex padding, enabled TCP Fast Open, use local DNS
(significant speed improvement)
๐ง Changes
- moav stop now uses docker compose stop instead of down (preserves container state, use -r to remove)
- Service selection "ALL" now respects ENABLE_* settings (only starts enabled services)
- Disabled services show indicators in status display (* suffix) and menu ((disabled) text)
- Bootstrap auto-detects and saves SERVER_IP to .env if not set
- Certbot exits gracefully in domain-less mode (#11 )
- moav test prefers IPv4 configs over IPv6, treats IPv6 network failures as warnings
๐ Bug Fixes
- WireGuard traffic not flowing - Added missing iptables FORWARD rule for return traffic (#2)
- WireGuard "Permission denied" - Fixed Docker 29 compatibility with Alpine
- WireGuard config parsing - Fixed trailing "=" being stripped from base64 keys
- WireGuard QR codes - Fixed "Invalid QR Code" error (non-hex IPv6 address)
- WireGuard-wstunnel - Fixed QR code not being generated in user bundles
- Admin dashboard - Fixed using self-signed cert instead of Let's Encrypt (now waits for certbot)
- Admin dashboard - Fixed "sing-box API timeout" error (streaming endpoint fix)
- Conduit status - Fixed showing "never" even when running (#7)
- Reality URL - Fixed & characters replaced with placeholder in README.html (#8)
- Architecture mismatch - Fixed Dockerfile.client for multi-arch support (#4)
- Bootstrap - Fixed failures in domain-less mode (missing exports, conditional config generation)
- User generation - Fixed errors when configs are missing or grep returns no matches
- moav test - Fixed IPv6 address parsing, now validates fields and shows actual sing-box errors
๐ Documentation
- VPS deployment guide (docs/DEPLOY.md)
- Home server / Raspberry Pi setup guide
- Updated troubleshooting for WireGuard, admin dashboard, and domain-less mode
Full Changelog: v1.1.1...v1.1.2