start.sh was generated once at install time with a hardcoded
10.8.1.0/24 subnet in iptables/NAT rules. When the user changed
the Address field in the server config via the web panel, the
config and client configs updated correctly but start.sh kept
the old subnet — breaking NAT/forwarding for the new network.
Changes:
- start.sh now reads SUBNET from the config file at runtime
via grep instead of using a compile-time hardcoded value
- save_server_config() regenerates start.sh on every config save
so existing containers with old hardcoded scripts are fixed
- _get_next_ip() computes the base network address from the
live config instead of AWG_DEFAULTS
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Changed generate_awg_params() to produce H1-H4 as min-max ranges
when use_ranges=True (AWG and AWG2 protocols)
- Ranges are guaranteed non-overlapping by splitting [1B, 4.29B] into
4 equal zones and picking a sub-range within each zone
- This matches the official AmneziaWG 2.0 spec requirement that
H-ranges must not intersect
- Legacy AWG (use_ranges=False) continues to use fixed single values
- Fixes "Unable to set device configuration" error in AmneziaWG 2.0.1
Windows client caused by overlapping H-ranges
Add public tunnel management and fix connection stability issues
- Add Tunnels block to settings with Local Server, Cloudflare Quick Tunnel, and ngrok support
- Implement one-click tunnel install, enable, stop, and delete actions
- Persist tunnel PID and public URL state across panel restarts
- Improve tunnel process detection and cleanup on Windows, Linux, and Docker
- Add tunnel translations and README documentation
- Fix settings save 422 when server list is empty and Remnawave auto-create is disabled
- Fix AWG Legacy config path resolution by detecting actual wg0.conf/awg0.conf inside container
- Fix Xray client add/toggle/remove flow to use runtime API without restarting the container
- Fix WireGuard Show config calls by routing get_client_config through the unified manager adapter
Add SOCKS5 support
Add AdGuard Home integration
Add node status and latency tracking
Add drag-and-drop server management
Upgrade Xray from v1.8 to v26.3.27 with backward compatibility
Fix Telemt dependency installation
Extend Telegram bot to support all protocols
Improve server cleanup process
Enhance API structure (system routes moved to a separate group)
Add JWT token generation for external integrations
Fix: return expiration_date in /api/users response
The users list API did not include expiration_date, although the frontend expected u.expiration_date for displaying and pre-filling the edit user modal.
Added expiration_date to the user object returned by /api/users, so the subscription expiration date is correctly shown and loaded into the edit form.
* Fixed a traffic reset error when creating a user
* The display of connection links for various protocols for the user has been fixed.
* Added menu hiding for users
* Added support for AmneziaDNS
* Added traffic reset functionality
* Fixed hideConnectionsSection is not defined error and false “Connection Error” when clearing the server
* Added basic management features (restart, delete, poll, clear)
* Fixed AWG 2.0 connection generation
* Optimized Check Server polling speed (now queries all protocols and services in parallel over a single SSH connection; ~5–6x faster)
Integrated Telemt (Telegram MTProxy) protocol support:
Full automated installation via Docker with TLS-emulation support.
Implemented file-based user management in config.toml for configuration persistence.
Integrated internal container API (port 9091) for real-time statistical data collection.
Enhanced User & Connection Management:
Added live traffic monitoring with automatic client disconnection upon reaching data quotas.
Implemented in-panel editing for existing Telemt connections (quotas, IP limits, and expiration dates).
Added support for manual toggling (enable/disable) of proxy users via TOML patching.
* Added support for Amnezia 2.0
* Added support for native installation of Amnezia 2.0
* Added display of messages when attempting to view files created by a native application
* Improved polling of native installation servers while preserving active protocols
* Added editing of the main config file via the web panel