Skip to content

feat(android): implement split tunneling (per-app proxy) support#79

Open
SteeaaN wants to merge 1 commit into
TrustTunnel:masterfrom
SteeaaN:feature/android-split-tunnel
Open

feat(android): implement split tunneling (per-app proxy) support#79
SteeaaN wants to merge 1 commit into
TrustTunnel:masterfrom
SteeaaN:feature/android-split-tunnel

Conversation

@SteeaaN

@SteeaaN SteeaaN commented Jun 2, 2026

Copy link
Copy Markdown

Related Issue

Relates to TrustTunnel/TrustTunnelFlutterClient#27
Partially addresses #24 (This implements application-based split tunneling for Android).

Summary

This PR implements application-based split tunneling (per-app proxy) specifically for the Android platform. It allows defining an inclusion or exclusion list of Android package names to route through the VPN.

Note: A corresponding PR implementing the UI for this feature will be opened in TrustTunnelFlutterClient.

Changes

  • Added perAppProxy (bool), bypassApps (bool), and proxyApps (list) properties to the Kotlin VpnServiceConfig to receive configuration from the Flutter plugin.
  • Modified VpnService.kt to apply addAllowedApplication and addDisallowedApplication rules to the Android VpnService.Builder during tunnel creation.

Tests

  • New or updated tests cover the changes
  • All existing tests pass (make test)
  • Benchmarks updated (if performance-relevant)

Checklist

  • Documentation updated (if applicable)
  • CHANGELOG.md updated (if user-visible change)
  • No secrets or credentials committed

Added perAppProxy, bypassApps, and proxyApps logic to VpnService and VpnServiceConfig to allow routing or bypassing specific apps.
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