fix: apply BLOCKED_APPS to VpnService builder in Android SS/Xray mode#18
Merged
Merged
Conversation
Contributor
|
Thanks. Tested on an Android emulator (API 37) with two working Xray/VLESS configurations. All works. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Android VpnService setup in XrayVPNService.kt only excluded the
app's own package from the VPN tunnel via addDisallowedApplication(packageName).
The BLOCKED_APPS list passed from Dart (via startVless's blockedApps param)
was received into XrayConfig but never actually applied to the VpnService.Builder.
This meant per-app VPN exclusion (split tunneling) silently did nothing in
VPN mode when using Shadowsocks/Xray-based configs, even though the same
feature worked correctly for other connection types.
Fix: loop through config.BLOCKED_APPS and call addDisallowedApplication()
for each package, same as already done for the app's own package.
Tested on a real Android device — confirmed apps added to blockedApps now
correctly bypass the VPN tunnel while others remain protected.