AdguardTeam / AdguardTeam/AdguardForAndroid

Support "Allow apps to bypass VPN" functionality

未关闭
#5,723 6 条评论 11 个 reaction 已指派 0 人 在 GitHub 查看
Feature request Priority: P4 TechAudit Voting
主要语言
没有语言数据
星标
1.9k
派生
121
PR 合并指标
30 天内没有已合并 PR

描述

### Issue Details

### Current Behavior:​​

- AdGuard’s VPN routing is solely controlled by app package names.

- No option exists for apps to dynamically bypass the VPN, even if they support it (e.g., for latency-sensitive or battery-critical traffic).

### Problems This Solves:​

1. Google FCM Push Notifications:​​
Bypassing the VPN for FCM reduces battery drain and improves reliability while retaining ad/tracking filtering for other traffic.

1. ​​Game Streaming/P2P Apps:​​
Enables stable low-latency connections without requiring users to disable the VPN entirely.

### Documentation References

- [Android VPN Bypass Guide](https://developer.android.com/develop/connectivity/vpn#bypass_vpn )
- `VpnService.Builder.allowBypass()`: [API Spec](https://developer.android.com/reference/android/net/VpnService.Builder#allowBypass() )

### Proposed solution

### ​​Implementation:

- Call `VpnService.Builder.allowBypass()` when establishing the VPN interface.

### User Control:

- Add a toggle in AdGuard’s settings (e.g., "Allow apps to bypass VPN").
- Default: ​​**Disabled**​​ (maintains current behavior unless explicitly enabled).

### ​​Backward Compatibility:

- No impact on existing per-app routing rules (package-name-based filtering remains intact).

### Alternative solution

_No response_

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。