NekoBox Android 的 VPN 权限和 DNS 异常,优先查系统层,不要一上来删订阅。点 START 失败,多半是旧 VPN 配置、另一个 Android VPNService 应用或系统权限弹窗被拦;已连接但网页打不开,常见是 Private DNS、TUN DNS、分应用代理或电池限制互相打架。先按本文把系统入口走完,再决定要不要重导入配置。
本篇只针对 NekoBoxForAndroid 的 Android 版。GitHub 上游说明它是基于 sing-box 的 Android 通用代理工具,支持常见节点格式和 sing-box outbound;但订阅里的分流规则等信息可能不会完整保留。需要换订阅来源时,只选支持 sing-box / ClashMeta / v2rayN 常见格式的配套订阅线路,并在导出页面选 NekoBox 或 sing-box 相关格式。
这四类现象不要混在一起修
| 现象 | 更可能的层级 | 当下先看哪里 |
|---|---|---|
| 点 START 没反应,或没有系统授权弹窗 | Android VPNService 授权 | 系统设置 -> 网络和互联网 -> VPN,删除旧 NekoBox 记录 |
| 点 START 后一两秒断开 | 旧 VPN、路由、TUN 创建失败 | NekoBox Logs 里的 permission、tun、route 字样 |
| 状态显示 connected,但浏览器无法打开网页 | DNS、分应用代理、节点 outbound | Private DNS、NekoBox DNS 设置、日志里的 dns query |
| 锁屏几分钟后断开 | 电池限制、厂商后台策略 | 应用电池用量、自启动、后台运行权限 |
Android 官方 VPN 文档里有两个事实会影响 NekoBox:首次启用 VPN 应用时系统会要求用户确认授权;同一个用户或工作资料下通常只有一个活跃 VPN service,新服务启动会替换旧服务。也就是说,WireGuard、Karing、v2rayNG、Hiddify、浏览器内置 VPN 类能力都可能抢同一个系统入口。
Android 设置入口表
不同品牌会改菜单名,但设置项大致对应表格里的位置。排查时按表格从上往下做,别在同一轮里又换节点又改 DNS,又重装 APK。
| 要检查的对象 | Pixel / 原生 Android 路径 | 常见国产系统路径 | 建议动作 |
|---|---|---|---|
| VPN 配置 | 设置 -> 网络和互联网 -> VPN | 设置 -> 连接与共享 / 更多连接 -> VPN | 忘记旧 NekoBox、旧 Clash、旧 WireGuard 配置,只保留当前要测的一个 |
| 私有 DNS | 设置 -> 网络和互联网 -> 私有 DNS | 设置 -> WLAN / 连接 -> 私有 DNS | 临时改成自动;若仍失败再改关闭,验证后再恢复原主机名 |
| NekoBox 电池 | 设置 -> 应用 -> NekoBox -> 电池 | 应用管理 -> NekoBox -> 电池 / 省电策略 | 改成不受限制,允许后台运行 |
| 通知 | 设置 -> 应用 -> NekoBox -> 通知 | 通知与状态栏 -> NekoBox | 允许前台服务通知,避免系统把后台 VPN 当作静默任务处理 |
| 分应用代理 | NekoBox 内设置 | NekoBox 内设置 | 先关闭 allow list / block list,确认全局可用后再恢复 |
| 安装来源 | GitHub Release APK | 文件管理器安装包记录 | 使用 MatsuriDayo/NekoBoxForAndroid Release,不混用来路不明 APK |
点 START 前,把旧 VPN 配置清掉
NekoBox 第一次接管流量时会触发 Android 的 VPN 授权弹窗。你点过“拒绝”、卸载后重装、从 Google Play 版换到 GitHub Release 版,或者之前装过同类客户端,系统里都可能留有旧记录。
处理顺序:
- 退出 NekoBox,不要让它在后台尝试重连。
- 打开 Android 的 VPN 页面,删除不用的 NekoBox、Karing、WireGuard、Hiddify、v2rayNG 配置。
- 关闭其他正在运行的 VPN 类应用。
- 重新打开 NekoBox,点 START,看到系统授权弹窗时选择允许。
- 若系统直接返回失败,进入 NekoBox 的 Logs 页面,看第一条红色错误。
如果手机有工作资料,个人资料和工作资料可能各有自己的 VPN 状态。公司设备或 MDM 管理设备还可能禁用用户自建 VPN,这类情况不是 NekoBox 配置能修的。
DNS 异常先测 Private DNS,再看 NekoBox DNS
“connected 但打不开网页”最容易被误判成节点失效。NekoBox 走 TUN 后,Android 系统 DNS、Private DNS、NekoBox 内部 DNS 和订阅里的 route / dns 字段会同时参与结果。
按这个顺序缩小范围:
- Android 私有 DNS 改为自动,重新连接 NekoBox。
- 仍失败时,把私有 DNS 临时关闭,再测一次。
- NekoBox 内关闭复杂分流或分应用代理,先让所有 App 走同一条路径。
- 打开 Logs,观察是否有
dns、timeout、no route、refused、remote error。 - 若只有某个 App 失败,回到分应用代理;若所有域名都失败,再看 TUN 和 DNS。
Private DNS 使用 DoT 主机名时,系统会先尝试连到指定 DNS 服务。这个连接如果被 TUN 路由带进 NekoBox,又被 NekoBox 的 DNS 规则转回系统,就会出现循环或超时。排查阶段把它临时改掉,是为了确认问题是否来自 DNS 链路,不是要求长期不用 Private DNS。
电池限制会让 connected 变成假状态
不少 Android 厂商会在锁屏后收紧后台任务。NekoBox 这种需要保持前台服务通知、TUN 接口和 sing-box 核心运行的应用,被省电策略处理后,界面可能还停在 connected,但实际流量已经断了。
建议这样设:
| 品牌/系统 | 常见入口 | 需要打开或放开的项 |
|---|---|---|
| Pixel / 原生 Android | 应用信息 -> 电池 | 不受限制、允许通知 |
| Samsung One UI | 应用信息 -> 电池 | 不受限制,不放入睡眠应用 |
| 小米 HyperOS / MIUI | 应用信息 -> 省电策略 | 无限制、自启动、后台运行 |
| OPPO / OnePlus / realme | 电池 -> 更多设置 / 应用耗电管理 | 允许后台运行、允许自启动 |
| vivo / iQOO / OriginOS | 电池 -> 后台耗电管理 | 允许后台高耗电 |
| 荣耀 / 华为 | 电池 -> 应用启动管理 | 手动管理并允许后台活动 |
测试时不要只看 NekoBox 首页状态。锁屏 10 分钟后,打开浏览器访问同一个测试页面,再回 NekoBox 看 Logs 是否还在刷新;如果日志停在锁屏前,电池策略仍在拦。
订阅只导入节点,规则缺失也会像 DNS 故障
NekoBoxForAndroid 的 README 写得很清楚:它支持一些广泛使用的订阅格式以及 sing-box outbound,但只解析 outbound,也就是节点;分流规则等信息可能被忽略。很多 Clash YAML 里 DNS、rule-providers、proxy-groups 写得很复杂,导入到 NekoBox 后不一定等价。
出现这些情况,要回到订阅格式:
- 节点列表有了,但策略组、规则组没有按原客户端出现。
- 只有直连 App 能访问,浏览器或商店类 App 失败。
- Logs 里没有权限错误,却反复出现 route / dns 不命中。
- 同一订阅在 Clash Verge Rev 正常,在 NekoBox 表现不同。
做法是换成 NekoBox / sing-box 友好的导出格式,或者只用 NekoBox 做节点连接,把复杂分流留给更适合 YAML 策略组的客户端。
验证是否修好:三步就够
不要用“感觉变快了”当结论。排查完成后,用同一个 Wi-Fi、同一个节点、同一组 App 做这三步:
- 系统状态:Android 状态栏出现 VPN key 图标;VPN 页面只显示 NekoBox 一个活跃配置。
- DNS 结果:浏览器打开
https://1.1.1.1/help或你常用的 DNS 检测页,能看到 DNS 请求有返回;把 Private DNS 恢复原设置后再测一次。 - 应用路径:Chrome、Telegram、YouTube 或你实际要用的 App 各打开一次;如果只某个 App 失败,再查 NekoBox 的分应用代理。
还有一个低成本交叉测试:切到移动数据重新连一次。如果 Wi-Fi 下失败、移动数据下正常,多半是当前 Wi-Fi 的 DNS、网关或路由器策略;如果两边都失败,再回到 NekoBox 授权、TUN 和订阅格式。
哪些 NekoBox Android 场景要另开一条线查
此篇没有覆盖 root 防火墙、企业 MDM、Android TV 盒子、国产系统精简 ROM、Magisk 模块和旁路由接管 DNS 的场景。NekoBox 也不是所有协议新参数的第一适配客户端;如果你依赖最新 sing-box 字段,先看 NekoBoxForAndroid Release 是否已经跟进。
上游 GitHub Release 页面显示最新版本为 1.4.2,维护节奏比活跃期慢。老用户继续用 NekoBox 没问题;新设备如果反复遇到 DNS 和后台保活问题,可以把同一订阅导出给 SFA、Karing 或 Hiddify 做对照。
Android 端继续查哪些客户端问题
- sing-box Android 配置教程:适合把 NekoBox 和 SFA 的 sing-box 字段放在一起比。
- Hiddify VPN 权限冲突排查:同样是移动端 VPN 授权和后台策略问题。
- Karing / Hiddify / v2rayNG Android 对比:需要换客户端时,用来判断 Android 端替代方案。