Skip to content

feat(android): add split tunneling support#31

Open
tagh6668-dot wants to merge 3 commits into
ShahabSL:mainfrom
tagh6668-dot:main
Open

feat(android): add split tunneling support#31
tagh6668-dot wants to merge 3 commits into
ShahabSL:mainfrom
tagh6668-dot:main

Conversation

@tagh6668-dot

Copy link
Copy Markdown

This Pull Request introduces split tunneling (per-app proxy / bypass) capabilities to the Android client.

Key Enhancements:

  1. Profile Configuration Support: Added split tunneling properties (splitTunnelingEnabled, splitTunnelingMode, splitTunnelingApps) to the ClientProfile model with backward-compatible JSON serialization.
  2. Dynamic Tunnel Routing: Integrated package-level routing rules (addAllowedApplication and addDisallowedApplication) into SkirkVpnService.kt with safety-wrapped exception handling.
  3. Polished User Interface: Designed and fully integrated a beautiful SplitTunnelingDialog with real-time app search, 'show system apps' filters, bulk select-all/none selectors, and dynamic app-icon rendering.
  4. Android 11+ Package Visibility: Added the QUERY_ALL_PACKAGES permission to allow accurate installed app retrieval across modern Android versions.
  5. Robust Release Builds: Enhanced release.yml to dynamically generate temporary self-signed keystores and fallback elegantly on missing OAuth secrets, making the build pipelines highly resilient.

Tested and fully verified on MIUI 14 (Android 13).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant