Android VPN 开启后,并不意味着所有应用都必须经过同一条代理线路。对于需要访问特定地区服务、测试不同网络路径,或希望本地应用继续直连的场景,分流规则会比全局代理更合适。它的基本思路是:先确定哪些应用需要进入 VPN,再决定其他应用是直连、拒绝连接,还是按照域名与规则进一步判断。
不同客户端对“应用分流”的叫法可能不同,例如按应用代理、仅代理选中应用、绕过选中应用、允许列表、排除列表或 Per-App VPN。名称虽然不同,判断逻辑却很接近。设置前要先弄清楚当前模式是“选中的应用走代理”,还是“选中的应用绕过代理”。如果把两种模式理解反了,常见结果就是目标应用无法连接,或者原本想直连的应用反而经过了远端线路。
Android VPN 分流到底是怎么工作的
Android 的 VPN 客户端通常通过系统 VPNService 建立一个虚拟网络接口。客户端获得系统授权后,可以接收符合条件的网络流量,再根据规则决定将请求送往代理节点,或放行到本地网络。应用分流是这个过程中的一层判断:客户端先识别发起请求的应用,再结合域名、IP、协议和规则集处理流量。
最容易理解的是两种应用列表模式。第一种是代理列表模式,也可以叫允许列表:只有你选中的应用进入 VPN,其余应用保持直连。第二种是绕过列表模式,也可以叫排除列表:大部分应用进入 VPN,只有选中的应用保持直连。二者的选择取决于你的目标。如果只是让某个视频、AI 工具或海外应用使用代理,通常优先考虑代理列表;如果希望手机大多数流量都经过 VPN,只排除银行、局域网工具或本地服务,则可以考虑绕过列表。
2
常见应用分流模式
3
主要检查层次
90+
可选国家覆盖
200+
可选线路
除了应用列表,很多 Android 客户端还支持规则模式或 TUN 模式。规则模式主要根据域名、IP 地址、地理区域或规则集选择直连与代理;TUN 模式则通过虚拟网卡接收更广泛的系统流量,使不支持传统代理设置的应用也有机会按照规则处理。TUN 并不等于所有流量都自动走代理,它只是扩大了客户端能够接管和判断的流量范围,最终路径仍由代理模式和规则决定。
代理列表与绕过列表如何区分
- ✅ 只想让指定应用代理时,优先选择“仅代理选中应用”或类似的允许列表模式。
- ✅ 想让多数应用代理、少数本地应用直连时,再考虑“绕过选中应用”模式。
- ✅ 保存设置后重新打开目标应用,避免旧连接继续沿用此前的网络路径。
- ❌ 不要看到“排除应用”就默认它代表代理应用,必须结合页面说明判断。
- ❌ 不要同时运行两个 VPNService 客户端,否则后启动的应用可能接管系统 VPN 权限。
应用分流和域名分流也不是同一层规则。即使已经把某个应用加入代理列表,它访问的域名仍可能受到客户端规则、DNS 设置或系统网络策略影响。反过来,即使域名规则指定走代理,如果该应用根本没有被 TUN 或 VPNService 接管,规则也可能无法生效。因此排查时要依次确认应用是否被选中、VPN 是否真正接管、域名规则是否匹配,以及 DNS 请求是否采用了预期路径。
哪些应用应该走代理,哪些应用适合直连
分流不应简单理解为“越多应用走代理越好”。每个应用都可能有不同的网络需求:需要固定地区出口的服务,更依赖稳定且一致的代理路径;局域网设备、家庭投屏和部分银行应用,则可能更适合保留直连。把所有应用都放进代理列表,会增加线路负载,也可能让本地服务出现访问路径变长、设备发现失败或登录验证异常等问题。
需要代理的应用通常包括对地区网络环境有要求的流媒体客户端、海外网站应用、需要特定出口位置的 AI 工具,以及在当前网络下无法正常建立连接的应用。对于这些应用,应优先确认它们是否能够被客户端识别。有些应用由多个进程组成,主应用、后台服务、WebView、下载组件可能使用不同的包名。只选择主图标而遗漏后台组件时,登录可以成功,但图片、音频或视频加载可能失败。
适合直连的应用包括本地银行、支付工具、运营商服务、家庭局域网管理工具和需要访问路由器地址的应用。企业办公软件是否直连则要按照组织的安全要求处理,不应因为分流方便而绕开公司的访问策略。游戏也不能一概而论:有些游戏服务器需要代理,有些游戏的账号区域、匹配和支付服务则可能依赖本地网络环境,最好分别测试登录、匹配、更新和内购页面。
| 应用类型 | 常见建议 | 需要观察的现象 | 容易忽略的问题 |
|---|---|---|---|
| 流媒体应用 | 按目标地区选择代理线路 | 登录、搜索、播放和切换清晰度 | 应用可能调用独立的 DRM 或后台服务 |
| AI 工具 | 让主应用及相关网页组件保持同一路径 | 登录、对话加载、文件上传与历史记录 | 地区判定可能受到 DNS、账号和出口 IP 共同影响 |
| 银行与支付 | 通常优先保留直连 | 验证码、设备验证和交易页面 | 代理出口变化可能触发额外安全校验 |
| 局域网工具 | 排除在 VPN 之外,或启用局域网绕过 | 发现路由器、打印机、电视和 NAS | VPN 的路由表可能阻断本地地址访问 |
| 游戏应用 | 先对比直连与代理,不要只看启动页面 | 登录、匹配、延迟表现和更新下载 | 登录服务与游戏服务器可能不在同一地区 |
如果客户端提供“绕过局域网”“允许局域网访问”或类似选项,家庭设备之间无法互相发现时可以优先检查这一项。但开启后也要知道,局域网绕过只影响本地地址访问,不代表目标应用的公网请求会自动直连。应用列表、路由规则和局域网选项可能同时生效,排查时最好一次只调整一项。
在 Android 上设置指定应用代理
不同客户端的按钮位置会随着版本变化,但操作顺序基本一致。以下流程适用于支持订阅导入、应用分流或 TUN 的 Android 客户端,包括官方客户端以及兼容 Clash、sing-box 等配置格式的应用。使用 Shadowrocket 时应注意它主要面向 Apple 平台,Android 设备不要根据 iOS 界面名称寻找完全相同的选项。
- 导入配置。打开服务商提供的官方入口,复制订阅链接,进入 Android 客户端的订阅、配置或远程配置页面。粘贴链接并更新配置,确认节点列表能够正常显示。不要把订阅链接公开发送给他人,链接可能包含获取配置所需的信息。
- 选择工作模式。如果客户端支持按应用分流,先选择规则模式或应用代理模式,不要一开始就使用全局模式。全局模式适合验证基础连接,但会让所有可接管流量进入代理,不能直接证明应用分流配置正确。
- 打开应用列表。在 VPN 设置、应用代理、分应用代理或 Per-App VPN 页面中,查看当前是“代理选中应用”还是“绕过选中应用”。将目标应用加入正确列表,同时暂时不要勾选过多无关应用,方便后续确认结果。
- 检查 TUN 设置。如果目标应用不使用系统 HTTP 代理,或普通应用代理模式下无法接管它,可以启用 TUN。第一次开启时 Android 会弹出 VPN 连接请求,确认授权即可。TUN 相关的自动路由、严格路由和 DNS 选项不要一次全部修改,先使用客户端默认值验证基础连接。
- 选择节点并连接。根据目标服务的地区需求选择对应线路。Shadowsocks、VMess、Trojan、Hysteria2、WireGuard 等协议的实际表现取决于服务端配置、客户端支持和当前网络环境,不应只根据协议名称判断速度。若订阅已下发参数,优先保持默认设置。
- 重新启动目标应用。断开并重新连接 VPN 后,关闭目标应用的后台任务,再重新打开。这样可以避免应用继续使用连接前建立的 DNS、登录会话或长连接。检查时不要同时切换节点、模式和应用列表,否则出现问题后很难知道是哪一项造成影响。
- 逐项验证。先确认目标应用能否打开,再检查登录、图片或视频加载、文件上传和长时间保持连接等功能。随后打开一个明确应直连的应用进行对照,确认分流不是“所有应用都走代理”。
如果客户端提供“连接后自动启动”“始终开启 VPN”或电池优化设置,可以根据使用需求处理。Android 的电池管理可能在后台挂起客户端,导致前台看似已连接,实际应用请求却无法持续通过 VPN。对于需要长期保持连接的场景,可以将客户端设置为不受严格电池优化影响,但这会增加耗电,应该结合手机系统的实际表现取舍。
TUN、DNS 与 IPv6 的常见影响
TUN 模式的作用是让客户端能够接收更多类型的流量,尤其是一些不读取系统 HTTP 或 SOCKS 代理设置的应用。它适合处理原生网络请求、部分游戏、独立下载组件和使用自定义网络库的应用。不过,TUN 接管范围越大,规则配置的重要性越高。没有合适的规则时,本地服务可能被错误送入代理,或者目标服务仍然因为规则匹配失败而直连。
DNS 是分流中经常被忽略的一环。应用请求域名时,首先需要把域名解析成地址。若 DNS 请求直连,而后续连接走代理,可能出现解析结果与目标出口地区不一致;若 DNS 全部交给远端处理,则本地服务的解析和访问也可能受到影响。客户端常见的 DNS 选项包括系统 DNS、远程 DNS、Fake-IP 和 redir-host 等,它们的具体行为取决于客户端实现。新手不必一次更改所有选项,遇到单个域名异常时再根据日志逐项核对。
IPv6 也可能造成“看起来已经连接,实际仍然直连”的情况。如果本地网络为应用提供了 IPv6 地址,而客户端只接管 IPv4,部分请求可能绕过预期的代理路径。是否启用 IPv6、是否建立 IPv6 路由,应按照客户端和节点的支持情况决定。不要仅凭浏览器可以打开网页就断定所有 Android 应用都经过了相同路径,因为不同应用可能优先使用不同地址族。
- ✅ 目标应用无法代理时,先确认它是否需要 TUN 才能被接管。
- ✅ 页面能开但接口失败时,检查 DNS、IPv6 与应用后台组件是否使用不同路径。
- ✅ 局域网设备无法发现时,检查局域网绕过与路由设置。
- ✅ 修改 DNS 后清理目标应用连接并重新测试,不要沿用旧会话判断。
- ❌ 不要把 TUN 当作自动加速开关,它不会替代节点选择和规则匹配。
分流不生效时的排查与恢复方法
最常见的问题是选错应用列表逻辑。例如页面写着“绕过选中应用”,用户却把需要代理的应用放进去,结果目标应用始终直连。第二类问题是 Android 的 VPN 权限没有真正建立,可能表现为状态栏没有 VPN 图标、客户端显示连接但系统网络仍然异常。此时应先断开,再重新连接并重新确认系统授权。
第三类问题是应用存在多个网络进程。主界面可以打开,但登录接口、图片、视频或文件服务由其他组件负责。可以暂时把相关浏览器或 WebView 组件加入同一代理范围进行对照,但不要长期扩大范围而不验证。若扩大范围后仍然失败,应检查节点、协议和目标服务本身,而不是继续添加应用。
第四类问题来自规则覆盖顺序。很多规则采用从上到下匹配的方式,前面的宽泛规则可能先匹配一个域名或地址范围,后面的应用规则就不会再执行。客户端日志通常可以显示请求使用了直连、代理还是拒绝动作。排查时应关注目标域名的实际匹配结果,而不是只看应用列表是否打勾。
- 确认只有一个 VPN 客户端在运行,并检查 Android 系统是否授予 VPN 权限。
- 确认当前模式是代理列表还是绕过列表,重新核对目标应用所在位置。
- 断开连接,强制关闭目标应用,再重新连接后测试。
- 暂时关闭复杂规则、自动切换和多余的 DNS 选项,使用单一节点验证基础连接。
- 检查 TUN、局域网绕过、IPv6 和电池优化设置是否与当前客户端兼容。
- 仍无法判断时恢复默认配置,重新导入订阅,不要继续叠加未经确认的手动规则。
恢复默认设置并不等于删除账户或改变服务端配置,通常只是把本地客户端的模式、应用列表、DNS 和路由选项还原。恢复前可以记录当前节点名称、模式和已选应用,方便确认是哪一步造成异常。若客户端支持导出本地配置,也应先保存备份;但不要把含有订阅信息的配置文件上传到公开位置。