VNT Android 是 VNT 的原生安卓客户端,用于把手机、电脑和服务器连接到同一个虚拟网络。无论设备位于家庭网络、公司网络还是移动网络,都可以通过虚拟 IP 互相访问,适合远程访问内网服务、设备互联和开发测试。
界面延续 VNT Web 移动端的布局和使用习惯,并提供适合手机操作的连接管理体验。
- 一键启动和停止虚拟网络,并在后台保持连接。
- 支持 P2P 直连与服务器中继,自动适应不同网络环境。
- 在网络总览中查看运行状态、虚拟 IP、在线设备和服务器连接情况。
- 查看成员设备的在线状态、连接模式、丢包率以及上传和下载流量。
- 查看当前路由、通信协议、Metric 和网络延迟。
- 创建和管理多套组网配置,方便在不同网络之间切换。
- 支持多个服务器地址、组网密码、自定义设备名称、虚拟 IP、MTU 和出栈网段。
- 支持按目标限制 P2P 打洞方式、子网映射、内置 NAT 控制和 IKEv2 客户端互通。
- 支持浅色与深色主题。
- 支持
arm64-v8a、armeabi-v7a和x86_64设备。
- 从项目的 GitHub Releases 页面下载适合设备的 APK 并安装。
- 打开 VNT,进入“组网配置”,新建一套配置。
- 填写服务器地址和网络编号;如果网络设置了密码,请同时填写组网密码。
- 返回“网络总览”,点击对应配置的启动按钮。
- 首次启动时允许系统创建 VPN 连接。连接成功后即可使用虚拟 IP 访问网络中的其他设备。
VNT 运行期间会显示常驻通知。可以从应用内停止组网。
| APK 架构 | 适用设备 |
|---|---|
arm64-v8a |
绝大多数现代安卓手机和平板,推荐优先选择 |
armeabi-v7a |
较老的 32 位 ARM 设备 |
x86_64 |
x86_64 安卓模拟器或少量 Intel 设备 |
如果不确定设备架构,通常选择 arm64-v8a。
| 配置项 | 说明 |
|---|---|
| 服务器地址 | VNT 服务器地址;多个地址可使用逗号或换行分隔 |
| 网络编号 | 用于加入指定的 VNT 虚拟网络 |
| 组网加密密码 | 与网络中其他设备保持一致;未设置密码时可留空 |
| 设备名称 | 当前手机在虚拟网络中显示的名称 |
| 自定义虚拟 IP | 可选;留空时由服务器分配 |
| MTU | 默认值适用于大多数网络,遇到特殊网络问题时再调整 |
| 出栈网段 | 需要通过 VNT 转发的目标网段,可配置多个 |
| 自动同步节点子网 | 自动获取其他在线节点公布的出口网段并更新 Android VPN 路由,默认关闭 |
| P2P 打洞方式规则 | 按目标虚拟 IP 或网段限制 IPv4/IPv6 的 TCP/UDP 打洞方式 |
| 出栈网段映射 | 将访问端使用的映射 CIDR 转换为出口端真实 CIDR,用于解决局域网网段冲突 |
| 关闭内置 NAT | 改用系统转发;仅适用于已配置 IP 转发、NAT、路由和防火墙的设备 |
| 允许 IKEv2 客户端 | 与服务端接入的 IKEv2/IPsec 客户端互通,默认关闭 |
配置保存在应用的本地私有存储中。删除应用数据或卸载应用会清除这些配置。
Android 客户端仅支持 TUN(三层)和无虚拟网卡模式,不提供桌面端的 TAP、指定网卡名称、绑定出口网卡和事件脚本配置。
开启“允许 IKEv2 客户端”后,客户端会信任已认证 VNT 服务端注入的 IKEv2 明文 IPv4 流量,并将发往 IKEv2 设备的流量固定交给服务端中继。该路径不受 VNT 节点间密码的端到端加密保护,只应连接受信任的服务端。
- Android 7.0 或更高版本。
- 可访问的 VNT 服务器以及有效的网络配置。
- VPN 权限:创建 VNT 虚拟网络连接。
- 通知和前台服务权限:在应用进入后台后继续保持连接并显示状态。
- 网络访问权限:连接 VNT 服务器和其他成员设备。
Android 同一时间通常只能启用一个 VPN 服务。启动 VNT 前,请先关闭可能冲突的其他 VPN 应用。
本地调试需要 Android Studio 和 JDK,并准备对应设备架构的 VNT 核心库。之后在项目目录运行:
./gradlew assembleDebug生成的调试安装包位于 app/build/outputs/apk/debug/。
推送 tag 后,GitHub Actions 会自动构建并发布三个架构的签名 APK。构建时优先使用 VNT 核心仓库的同名 Release;找不到同名版本时使用 latest Release。
- VNT 核心项目:https://github.com/vnt-dev/vnt
本项目基于 Apache License 2.0 开源。