Skip to content

Repository files navigation

VNT Android

Ask DeepWiki

VNT Android 是 VNT 的原生安卓客户端,用于把手机、电脑和服务器连接到同一个虚拟网络。无论设备位于家庭网络、公司网络还是移动网络,都可以通过虚拟 IP 互相访问,适合远程访问内网服务、设备互联和开发测试。

界面延续 VNT Web 移动端的布局和使用习惯,并提供适合手机操作的连接管理体验。

主要功能

  • 一键启动和停止虚拟网络,并在后台保持连接。
  • 支持 P2P 直连与服务器中继,自动适应不同网络环境。
  • 在网络总览中查看运行状态、虚拟 IP、在线设备和服务器连接情况。
  • 查看成员设备的在线状态、连接模式、丢包率以及上传和下载流量。
  • 查看当前路由、通信协议、Metric 和网络延迟。
  • 创建和管理多套组网配置,方便在不同网络之间切换。
  • 支持 VNTS 订阅链接,启动时获取最新配置并自动应用服务端更新。
  • 支持多个服务器地址、组网密码、自定义设备名称、虚拟 IP、MTU 和出栈网段。
  • 支持按目标限制 P2P 打洞方式、子网映射、内置 NAT 控制和 IKEv2 客户端互通。
  • 支持浅色与深色主题。
  • 支持 arm64-v8a、armeabi-v7a 和 x86_64 设备。

快速开始

  1. 从项目的 GitHub Releases 页面下载适合设备的 APK 并安装。
  2. 打开 VNT,进入“组网配置”,新建一套配置。
  3. 选择手动配置并填写服务器地址和网络编号,或选择订阅配置并粘贴 VNTS 签发的订阅链接。
  4. 返回“网络总览”,点击对应配置的启动按钮。
  5. 首次启动时允许系统创建 VPN 连接。连接成功后即可使用虚拟 IP 访问网络中的其他设备。

VNT 运行期间会显示常驻通知。可以从应用内停止组网。

APK 版本选择

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 客户端互通,默认关闭

配置保存在应用的本地私有存储中。删除应用数据或卸载应用会清除这些配置。

订阅配置只保存配置名称和订阅链接,不与手动参数混用。保存链接时不会访问服务端;每次启动时必须成功获取并验证最新配置。运行期间由 Rust 核心的订阅监听驱动更新:核心收到服务端推送的完整快照后通知应用,纯策略类变更原地生效,涉及虚拟 IP、MTU、路由的变更由应用按快照重建 VPN 接口,需要整体换代时由核心在内部重建组网实例(订阅连接不断);变更无法应用或组网实例自行停止时,应用报告错误并断开。

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。

相关项目

许可证

本项目基于 Apache License 2.0 开源。

About

No description, website, or topics provided.

Resources

Stars

172 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages