Commit Graph

270 Commits

Author SHA1 Message Date
infosave2007 77115fb2a0 fix: Cleanup debug logging in ServerMonitoring 2026-01-30 15:30:32 +03:00
infosave2007 c677509f22 fix: Cleanup debug logging in ServerMonitoring 2026-01-30 15:30:32 +03:00
infosave2007 11ab3cbc88 fix: Add X-ray support to ServerMonitoring for background stats collection 2026-01-30 15:21:32 +03:00
infosave2007 ce615e14a1 fix: Add X-ray support to ServerMonitoring for background stats collection 2026-01-30 15:21:32 +03:00
infosave2007 0b759f7b32 fix: Update vpn_clients speed columns in ServerMonitoring for real-time display 2026-01-30 15:14:29 +03:00
infosave2007 7d4129747a fix: Update vpn_clients speed columns in ServerMonitoring for real-time display 2026-01-30 15:14:29 +03:00
infosave2007 1c95b34cf6 feat: Enforce 1 user 1 connection for X-ray and fix active stats speed 2026-01-30 15:04:23 +03:00
infosave2007 47b97d9a76 feat: Enforce 1 user 1 connection for X-ray and fix active stats speed 2026-01-30 15:04:23 +03:00
infosave2007 8bf3467460 feat: Added readme API new endpoints 2026-01-29 08:56:28 +03:00
infosave2007 2f38cd58a3 feat: Added readme API new endpoints 2026-01-29 08:56:28 +03:00
infosave2007 da9ef48f76 feat: Реализован API для удаления клиентов, добавлен отладочный скрипт статистики XRay и метод InstallProtocolManager::install сделан публичным. 2026-01-27 16:15:00 +03:00
infosave2007 0e144f2d01 feat: Реализован API для удаления клиентов, добавлен отладочный скрипт статистики XRay и метод InstallProtocolManager::install сделан публичным. 2026-01-27 16:15:00 +03:00
infosave2007 836b4bdb84 cleanup: remove duplicate amnezia-wg protocol from migration
Only amnezia-wg-advanced should be used (installed via migration 044).
The simple amnezia-wg was a duplicate causing confusion.
2026-01-27 15:33:57 +03:00
infosave2007 7254bd1547 cleanup: remove duplicate amnezia-wg protocol from migration
Only amnezia-wg-advanced should be used (installed via migration 044).
The simple amnezia-wg was a duplicate causing confusion.
2026-01-27 15:33:57 +03:00
infosave2007 ed2cf87418 fix(awg): reload wg0 interface after adding client to apply AWG params
Without interface reload, AWG obfuscation params (Jc, S1, S2, H1-H4) are not
applied to the kernel, and connections fail because client uses AWG but
server uses standard WireGuard protocol.
2026-01-27 15:17:16 +03:00
infosave2007 b2b5d8643b fix(awg): reload wg0 interface after adding client to apply AWG params
Without interface reload, AWG obfuscation params (Jc, S1, S2, H1-H4) are not
applied to the kernel, and connections fail because client uses AWG but
server uses standard WireGuard protocol.
2026-01-27 15:17:16 +03:00
infosave2007 3dae76c41a fix(awg): reserve server gateway IP (.1) in client IP assignment
Previously only .0 was reserved, causing first client to get 10.8.1.1 (server IP).
Now both .0 and .1 are reserved, clients start from 10.8.1.2.
2026-01-27 15:12:49 +03:00
infosave2007 3ba372e60a fix(awg): reserve server gateway IP (.1) in client IP assignment
Previously only .0 was reserved, causing first client to get 10.8.1.1 (server IP).
Now both .0 and .1 are reserved, clients start from 10.8.1.2.
2026-01-27 15:12:49 +03:00
infosave2007 ddaf9360be fix(awg): fix AWG Advanced install script - create container before generating keys
- Container now starts FIRST with docker run, then wg genkey is called inside it
- After config creation, explicitly reload wg0 interface with 'ip link del wg0' + 'wg-quick up'
- This ensures AWG obfuscation parameters (Jc, S1, S2, H1-H4) are applied to kernel
- Removed duplicate 'amnezia-xray' protocol from migration 047
2026-01-27 14:46:38 +03:00
infosave2007 cb3165670a fix(awg): fix AWG Advanced install script - create container before generating keys
- Container now starts FIRST with docker run, then wg genkey is called inside it
- After config creation, explicitly reload wg0 interface with 'ip link del wg0' + 'wg-quick up'
- This ensures AWG obfuscation parameters (Jc, S1, S2, H1-H4) are applied to kernel
- Removed duplicate 'amnezia-xray' protocol from migration 047
2026-01-27 14:46:38 +03:00
infosave2007 dad3aa93f4 feat: XRay Reality key backup and restoration
- Modified migrations/048_enable_xray_stats.sql to accept existing keys via env vars (PRIVATE_KEY, SHORT_ID)
- Updated InstallProtocolManager.php to extract and store reality_private_key after XRay installation
- Added key restoration logic in buildExports() to reuse saved keys during reinstallation
- Fixed VpnClient.php to correctly parse JSON stats output from XRay API
- Security fix: removed exposed port 2375 from docker-compose.yml (dind container)
2026-01-26 21:41:26 +03:00
infosave2007 ca51fa62dd feat: XRay Reality key backup and restoration
- Modified migrations/048_enable_xray_stats.sql to accept existing keys via env vars (PRIVATE_KEY, SHORT_ID)
- Updated InstallProtocolManager.php to extract and store reality_private_key after XRay installation
- Added key restoration logic in buildExports() to reuse saved keys during reinstallation
- Fixed VpnClient.php to correctly parse JSON stats output from XRay API
- Security fix: removed exposed port 2375 from docker-compose.yml (dind container)
2026-01-26 21:41:26 +03:00
infosave2007 904d725c7b Fix: Read keys from host file in sync script to prevent container deadlock 2026-01-24 21:36:13 +03:00
infosave2007 a2b6cdd41f Fix: Read keys from host file in sync script to prevent container deadlock 2026-01-24 21:36:13 +03:00
infosave2007 94be6f9b2f Fix: Add missing $ in sync script and skip invalid clients 2026-01-24 21:16:57 +03:00
infosave2007 486c9a862a Fix: Add missing $ in sync script and skip invalid clients 2026-01-24 21:16:57 +03:00
infosave2007 f51606b6f7 Feat: Auto-sync existing clients to AmneziaWG server (Fix) 2026-01-24 20:43:55 +03:00
infosave2007 8b0a95c7a1 Feat: Auto-sync existing clients to AmneziaWG server (Fix) 2026-01-24 20:43:55 +03:00
infosave2007 373a987063 Add script to sync clients from DB to AmneziaWG server 2026-01-24 20:39:20 +03:00
infosave2007 cd984870d7 Add script to sync clients from DB to AmneziaWG server 2026-01-24 20:39:20 +03:00
infosave2007 a92a12073f Fix: Case-sensitive AWG params and XRay Identifier logic 2026-01-24 20:34:07 +03:00
infosave2007 9969014d3e Fix: Case-sensitive AWG params and XRay Identifier logic 2026-01-24 20:34:07 +03:00
infosave2007 5cacdcfae9 Fix: Randomize AmneziaWG obfuscation parameters (H1..H4) in install script logic 2026-01-24 20:21:46 +03:00
infosave2007 a86e0cac9a Fix: Randomize AmneziaWG obfuscation parameters (H1..H4) in install script logic 2026-01-24 20:21:46 +03:00
infosave2007 86d67226d5 Fix: Client deletion UI, Enable XRay stats, fix dns_servers schema 2026-01-24 19:53:23 +03:00
infosave2007 e3f0e954ac Fix: Client deletion UI, Enable XRay stats, fix dns_servers schema 2026-01-24 19:53:23 +03:00
infosave2007 6f15b62ef1 fix(db): Add missing migration 047 to create protocols table 2026-01-24 15:35:41 +03:00
infosave2007 071c37cb39 fix(db): Add missing migration 047 to create protocols table 2026-01-24 15:35:41 +03:00
infosave2007 de10268ab4 fix(qr): Generate full X-Ray Client config JSON to match Native Amnezia format 2026-01-24 14:56:13 +03:00
infosave2007 0139c31557 fix(qr): Generate full X-Ray Client config JSON to match Native Amnezia format 2026-01-24 14:56:13 +03:00
infosave2007 fdbb18c9df fix(qr): Pass raw VLESS URI in last_config without JSON wrapper 2026-01-24 14:50:55 +03:00
infosave2007 1018f96fc4 fix(qr): Pass raw VLESS URI in last_config without JSON wrapper 2026-01-24 14:50:55 +03:00
infosave2007 5097186757 fix(qr): Use raw URI for X-Ray QR codes to ensure compatibility 2026-01-24 14:35:12 +03:00
infosave2007 4554a77033 fix(qr): Use raw URI for X-Ray QR codes to ensure compatibility 2026-01-24 14:35:12 +03:00
infosave2007 7735a25256 fix(client): Propagate show_text_content setting from protocol to client view 2026-01-24 14:28:53 +03:00
infosave2007 0268e26c85 fix(client): Propagate show_text_content setting from protocol to client view 2026-01-24 14:28:53 +03:00
infosave2007 57e331239c feat(xray): Implement universal client addition with fallback
- Added InstallProtocolManager::addClient and fallback logic for X-Ray VLESS
  to update server configuration (server.json) and restart container.
- Updated VpnClient::create to invoke InstallProtocolManager::addClient for
  scripted protocols, enabling dynamic user addition.
- Ensured UUID generation for X-Ray clients.
2026-01-24 14:08:43 +03:00
infosave2007 e4d4b4bdc0 feat(xray): Implement universal client addition with fallback
- Added InstallProtocolManager::addClient and fallback logic for X-Ray VLESS
  to update server configuration (server.json) and restart container.
- Updated VpnClient::create to invoke InstallProtocolManager::addClient for
  scripted protocols, enabling dynamic user addition.
- Ensured UUID generation for X-Ray clients.
2026-01-24 14:08:43 +03:00
infosave2007 dde0ff9ea1 fix(qr): Use raw VLESS URI in last_config->config
Instead of generating a JSON config for X-Ray, pass the raw VLESS URI string
wrapped in a JSON object  inside .
This matches the behavior of WireGuard config handling in the master branch
and is likely the expected format for Amnezia Android X-Ray import.
2026-01-24 13:48:57 +03:00
infosave2007 657fbf8df0 fix(qr): Use raw VLESS URI in last_config->config
Instead of generating a JSON config for X-Ray, pass the raw VLESS URI string
wrapped in a JSON object  inside .
This matches the behavior of WireGuard config handling in the master branch
and is likely the expected format for Amnezia Android X-Ray import.
2026-01-24 13:48:57 +03:00