Skip to content

feat(android): implement split tunneling (per-app proxy) UI#70

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

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

Conversation

@SteeaaN

@SteeaaN SteeaaN commented Jun 2, 2026

Copy link
Copy Markdown

Related Issue

Closes #27

Summary

This PR introduces the UI and state management for the Android-specific Split Tunneling (Per-App Proxy) feature.

Depends on the native core PR: TrustTunnel/TrustTunnelClient#79

Changes

  • UI: Created a new PerAppProxyScreen to display and filter installed Android apps using the installed_apps plugin.
  • Platform Check: The "Per-app proxy" menu item in settings is strictly visible only on Android to prevent crashes or confusing UX on iOS/macOS.
  • Storage: Added SharedPreferences logic in SettingsDataSource to persist the chosen per-app routing preferences.
  • Integration: Modified VpnDataSource and configuration_codec to inject the routing preferences into the Tun plugin model before starting the tunnel.
  • UX: Added a dynamic "Restart required" banner that prompts the user to apply changes if the VPN is currently active.

Checklist

  • Code generation is up to date (make init)
  • Dart analysis passes with no issues
  • Documentation updated (if applicable)
  • No secrets or credentials committed

Added Per-App Proxy screen, SharedPreferences storage, and dynamic restart banner for VPN routing
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.

App-based traffic routing

1 participant