[PR #1899] [MERGED] feat: native split-tunneling for xray #2590

Closed
opened 2026-10-14 21:03:18 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/amnezia-vpn/amnezia-client/pull/1899
Author: @ygurov
Created: 9/30/2025
Status: ✅ Merged
Merged: 12/15/2025
Merged by: @vkamn

Base: dev ← Head: feature/split-tunneling


📝 Commits (10+)

  • d09c191 feat: integrated xray as a library and added split-tunneling
  • 249c0fe fix: added copying amnezia_xray.dll to build dir
  • d070e57 fix: changed path on darwin
  • 5ec99f4 chore: clean up getting default device
  • 9525cec chore: removed WSAGetLastError from sockopt logging
  • e9138c9 fix: get rid of debug logs in xray handlers
  • 4a6f0cf fix: minor fixes and xray debugging capabilities
  • 244038a fix: macos default interface fix
  • 790a32e fix: roll-back ipv6 sockopt for mac
  • d86b4e2 fix: bind IPv6 on Windows

📊 Changes

21 files changed (+455 additions, -207 deletions)

View changed files

📝 client/3rd-prebuilt (+1 -1)
📝 client/3rd/amneziawg-apple (+1 -1)
📝 client/android/xray/src/main/kotlin/Xray.kt (+1 -1)
📝 client/cmake/3rdparty.cmake (+2 -2)
📝 client/core/networkUtilities.cpp (+37 -15)
📝 client/core/networkUtilities.h (+2 -2)
📝 client/platforms/ios/PacketTunnelProvider+OpenVPN.swift (+2 -4)
📝 client/platforms/ios/PacketTunnelProvider+WireGuard.swift (+1 -1)
📝 client/platforms/ios/PacketTunnelProvider+Xray.swift (+22 -0)
📝 client/platforms/ios/PacketTunnelProvider.swift (+148 -15)
📝 client/platforms/linux/daemon/linuxroutemonitor.cpp (+1 -1)
📝 client/protocols/xrayprotocol.cpp (+17 -108)
📝 client/protocols/xrayprotocol.h (+4 -17)
📝 ipc/ipc_interface.rep (+3 -0)
📝 ipc/ipcserver.cpp (+11 -1)
📝 ipc/ipcserver.h (+2 -0)
📝 service/server/CMakeLists.txt (+35 -2)
📝 service/server/router_win.cpp (+24 -35)
📝 service/server/router_win.h (+5 -1)
➕ service/server/xray.cpp (+100 -0)

...and 1 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/1899 **Author:** [@ygurov](https://github.com/ygurov) **Created:** 9/30/2025 **Status:** ✅ Merged **Merged:** 12/15/2025 **Merged by:** [@vkamn](https://github.com/vkamn) **Base:** `dev` ← **Head:** `feature/split-tunneling` --- ### 📝 Commits (10+) - [`d09c191`](https://github.com/amnezia-vpn/amnezia-client/commit/d09c191fb44985448f671ae46403f0a7d37df2b1) feat: integrated xray as a library and added split-tunneling - [`249c0fe`](https://github.com/amnezia-vpn/amnezia-client/commit/249c0feca649c6dda72a77b162c275398e340067) fix: added copying amnezia_xray.dll to build dir - [`d070e57`](https://github.com/amnezia-vpn/amnezia-client/commit/d070e57c8464202e33b14dbfaa921727506ce8e7) fix: changed path on darwin - [`5ec99f4`](https://github.com/amnezia-vpn/amnezia-client/commit/5ec99f4803e07260c72aecb01353a457c67eab7a) chore: clean up getting default device - [`9525cec`](https://github.com/amnezia-vpn/amnezia-client/commit/9525cec63d9573d9cc15595551cdb74a02e2d9f5) chore: removed WSAGetLastError from sockopt logging - [`e9138c9`](https://github.com/amnezia-vpn/amnezia-client/commit/e9138c95b16759f0c4fa4fe8c742d21b3d336755) fix: get rid of debug logs in xray handlers - [`4a6f0cf`](https://github.com/amnezia-vpn/amnezia-client/commit/4a6f0cfa663135d226ae75a369f4703d9499756f) fix: minor fixes and xray debugging capabilities - [`244038a`](https://github.com/amnezia-vpn/amnezia-client/commit/244038a1280d94cde2c12972848046c2d60a91c4) fix: macos default interface fix - [`790a32e`](https://github.com/amnezia-vpn/amnezia-client/commit/790a32e7e91d964636c583aa938b194bdeeeec99) fix: roll-back ipv6 sockopt for mac - [`d86b4e2`](https://github.com/amnezia-vpn/amnezia-client/commit/d86b4e2f0b5b48d69b9f8db018c1a0e2f4ce805c) fix: bind IPv6 on Windows ### 📊 Changes **21 files changed** (+455 additions, -207 deletions) <details> <summary>View changed files</summary> 📝 `client/3rd-prebuilt` (+1 -1) 📝 `client/3rd/amneziawg-apple` (+1 -1) 📝 `client/android/xray/src/main/kotlin/Xray.kt` (+1 -1) 📝 `client/cmake/3rdparty.cmake` (+2 -2) 📝 `client/core/networkUtilities.cpp` (+37 -15) 📝 `client/core/networkUtilities.h` (+2 -2) 📝 `client/platforms/ios/PacketTunnelProvider+OpenVPN.swift` (+2 -4) 📝 `client/platforms/ios/PacketTunnelProvider+WireGuard.swift` (+1 -1) 📝 `client/platforms/ios/PacketTunnelProvider+Xray.swift` (+22 -0) 📝 `client/platforms/ios/PacketTunnelProvider.swift` (+148 -15) 📝 `client/platforms/linux/daemon/linuxroutemonitor.cpp` (+1 -1) 📝 `client/protocols/xrayprotocol.cpp` (+17 -108) 📝 `client/protocols/xrayprotocol.h` (+4 -17) 📝 `ipc/ipc_interface.rep` (+3 -0) 📝 `ipc/ipcserver.cpp` (+11 -1) 📝 `ipc/ipcserver.h` (+2 -0) 📝 `service/server/CMakeLists.txt` (+35 -2) 📝 `service/server/router_win.cpp` (+24 -35) 📝 `service/server/router_win.h` (+5 -1) ➕ `service/server/xray.cpp` (+100 -0) _...and 1 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>
bsakaguchi 2026-10-14 21:03:18 +00:00
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#2590
No description provided.