Android 版 VPN:始终开启、电池与安全
Android 如何运行 VPN、为什么连接会在后台断开、始终开启的 VPN 有什么作用,以及如何验证 APK。

Android 为 VPN 应用提供了专用的系统接口 VpnService。应用会创建一个虚拟适配器,设备的所有流量都会经过它。熟悉的“应用想要建立 VPN 连接”提示和状态栏中的钥匙图标就来自于此。
首次连接
- 从 Colitu for Android 页面安装应用。
- 点按“连接”。Android 会请求 VPN 权限;点按“确定”。只会询问一次。
- 状态栏中的钥匙图标表示隧道已建立。
如果你不清楚处理器架构,请下载通用 APK。近年来的大多数手机是 arm64-v8a;较旧的 32 位手机是 armeabi-v7a。
VPN 为什么会在后台断开
许多厂商的系统界面会积极地节省电量,并关闭后台服务,VPN 也不例外。该怎么做:
- 设置 → 应用 → Colitu → 电池 → 不受限制。
- 在小米(MIUI/HyperOS)上,启用 自启动,并在最近应用列表中锁定该应用。
- 在华为上,在应用启动管理中关闭 Colitu 的“自动管理”。
- 在三星上,将 Colitu 从“休眠中的应用”中移除。
始终开启的 VPN
Android 7 及更高版本有一项名为 始终开启的 VPN(Always-on VPN)的系统功能:设置 → 网络和互联网 → VPN → Colitu → 齿轮图标。重启或掉线后,Android 会让 VPN 重新启动。
同一界面中有 屏蔽没有 VPN 的连接(Android 8+)。它相当于系统级的断网保护 (kill switch):如果隧道中断,应用将无法直接访问互联网。请注意,在 VPN 连接之前完全没有互联网。
应用如何选择协议
Colitu 会记住在你的网络上最近一次可用的协议,并优先尝试它。如果它被封锁,应用会在后台继续往下尝试:Hysteria2、VLESS Reality、Trojan 或 Shadowsocks 2022。在低端设备上,应用会减弱动画效果,以免浪费资源。
应用安全
- Android Keystore。 会话令牌使用来自 Android Keystore 的密钥加密,这是系统密钥库,密钥无法从中导出。
- 证书固定。 与 Colitu API 的连接只接受由已知根密钥签发的证书。网络中被替换进来的证书(例如由企业代理替换的证书)会被拒绝。
- 更新检查。 安装更新之前,应用会将文件的 SHA-256 和签名证书的指纹与发布清单进行比对。
验证 APK
如果你是手动而不是通过应用下载的 APK,请进行校验:
- 将文件的 SHA-256 与下载页面上的值进行比对。
- 面向高级用户:
apksigner verify --print-certs Colitu-*.apk— 证书的 SHA-256 指纹必须与公布的一致。
应用的代码是开源的:github.com/colitu/android。