[PR #2555] Support locations change #2844

Open
opened 2026-10-14 21:05:40 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amnezia-client/pull/2555
Author: @cd-amn
Created: 5/1/2026
Status: 🔄 Open

Base: dev ← Head: feat/locations_change


📝 Commits (10+)

  • c78b791 feat: decouple routing/killswitch from protocol handling
  • 88af215 fix: add missing Qt includes to updateController
  • 1726c1c fix: NM down/up reconnection problem
  • 49a469a fix: deleteRoutePrefix incorrectly called insertRoute for specific prefixes
  • ec2640b feat: killswitch/routing teardown only on explicit protocol stop
  • d3040b5 feat: revoke old endpoint from KS allowlist after server switch
  • d26651d feat: let callers specify WireGuard interface name per tunnel
  • 37b4111 feat: decouple TUN name from XrayProtocol to support dual tunnels
  • d280a93 feat: use per-tunnel ifname instead of hardcoded WG_INTERFACE in platform helpers
  • 488df3c feat: enable base Daemon to create and swap WireguardUtils without knowing platform type

📊 Changes

88 files changed (+2964 additions, -1280 deletions)

View changed files

📝 client/cmake/sources.cmake (+4 -0)
📝 client/core/controllers/api/subscriptionController.cpp (+6 -0)
📝 client/core/controllers/api/subscriptionController.h (+2 -0)
📝 client/core/controllers/connectionController.cpp (+3 -0)
📝 client/core/controllers/connectionController.h (+3 -0)
📝 client/core/controllers/coreSignalHandlers.cpp (+12 -0)
📝 client/core/controllers/gatewayController.cpp (+1 -1)
📝 client/core/controllers/updateController.cpp (+2 -0)
📝 client/core/protocols/openVpnProtocol.cpp (+24 -57)
📝 client/core/protocols/vpnProtocol.cpp (+24 -1)
📝 client/core/protocols/vpnProtocol.h (+6 -0)
📝 client/core/protocols/wireGuardProtocol.cpp (+17 -15)
📝 client/core/protocols/wireGuardProtocol.h (+2 -3)
📝 client/core/protocols/xrayProtocol.cpp (+56 -101)
📝 client/core/protocols/xrayProtocol.h (+10 -6)
➕ client/core/tunnel.cpp (+158 -0)
➕ client/core/tunnel.h (+79 -0)
📝 client/core/utils/networkUtilities.cpp (+24 -7)
➕ client/core/vpnTrafficGuard.cpp (+715 -0)
➕ client/core/vpnTrafficGuard.h (+45 -0)

...and 68 more files

📄 Description

No description provided


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/amnezia-vpn/amnezia-client/pull/2555 **Author:** [@cd-amn](https://github.com/cd-amn) **Created:** 5/1/2026 **Status:** 🔄 Open **Base:** `dev` ← **Head:** `feat/locations_change` --- ### 📝 Commits (10+) - [`c78b791`](https://github.com/amnezia-vpn/amnezia-client/commit/c78b79175d49c5af98c9143baa17df226ce69cbe) feat: decouple routing/killswitch from protocol handling - [`88af215`](https://github.com/amnezia-vpn/amnezia-client/commit/88af21560a8055a7f6f26a3e7780eb84c81b1864) fix: add missing Qt includes to updateController - [`1726c1c`](https://github.com/amnezia-vpn/amnezia-client/commit/1726c1c56d4c780193278e17e09ad5f31145e657) fix: NM down/up reconnection problem - [`49a469a`](https://github.com/amnezia-vpn/amnezia-client/commit/49a469a98a8c4ccddefebf092670f094fe4c252b) fix: deleteRoutePrefix incorrectly called insertRoute for specific prefixes - [`ec2640b`](https://github.com/amnezia-vpn/amnezia-client/commit/ec2640b9bddc8c66a17f03d33622b7037177e7d4) feat: killswitch/routing teardown only on explicit protocol stop - [`d3040b5`](https://github.com/amnezia-vpn/amnezia-client/commit/d3040b5676508accf17e86f8803bc698264c315f) feat: revoke old endpoint from KS allowlist after server switch - [`d26651d`](https://github.com/amnezia-vpn/amnezia-client/commit/d26651d15234a36e8db55f91298a045c4bee93ea) feat: let callers specify WireGuard interface name per tunnel - [`37b4111`](https://github.com/amnezia-vpn/amnezia-client/commit/37b4111a9845f32580c1d7e72bc12389d9926350) feat: decouple TUN name from XrayProtocol to support dual tunnels - [`d280a93`](https://github.com/amnezia-vpn/amnezia-client/commit/d280a93ec10a46a2c64a2f178b019f5a774e976e) feat: use per-tunnel ifname instead of hardcoded WG_INTERFACE in platform helpers - [`488df3c`](https://github.com/amnezia-vpn/amnezia-client/commit/488df3c2cf478fdddb6bca1bd3d85b47f8e3c0e9) feat: enable base Daemon to create and swap WireguardUtils without knowing platform type ### 📊 Changes **88 files changed** (+2964 additions, -1280 deletions) <details> <summary>View changed files</summary> 📝 `client/cmake/sources.cmake` (+4 -0) 📝 `client/core/controllers/api/subscriptionController.cpp` (+6 -0) 📝 `client/core/controllers/api/subscriptionController.h` (+2 -0) 📝 `client/core/controllers/connectionController.cpp` (+3 -0) 📝 `client/core/controllers/connectionController.h` (+3 -0) 📝 `client/core/controllers/coreSignalHandlers.cpp` (+12 -0) 📝 `client/core/controllers/gatewayController.cpp` (+1 -1) 📝 `client/core/controllers/updateController.cpp` (+2 -0) 📝 `client/core/protocols/openVpnProtocol.cpp` (+24 -57) 📝 `client/core/protocols/vpnProtocol.cpp` (+24 -1) 📝 `client/core/protocols/vpnProtocol.h` (+6 -0) 📝 `client/core/protocols/wireGuardProtocol.cpp` (+17 -15) 📝 `client/core/protocols/wireGuardProtocol.h` (+2 -3) 📝 `client/core/protocols/xrayProtocol.cpp` (+56 -101) 📝 `client/core/protocols/xrayProtocol.h` (+10 -6) ➕ `client/core/tunnel.cpp` (+158 -0) ➕ `client/core/tunnel.h` (+79 -0) 📝 `client/core/utils/networkUtilities.cpp` (+24 -7) ➕ `client/core/vpnTrafficGuard.cpp` (+715 -0) ➕ `client/core/vpnTrafficGuard.h` (+45 -0) _...and 68 more files_ </details> ### 📄 Description _No description provided_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#2844
No description provided.