跳转到内容

Android 应用

rVPN Android 应用使用 Android 内置的 VPN 服务建立全隧道 VPN 连接。所有设备流量都通过加密隧道路由,无需手动配置代理。

  • Android 15.0 或更高版本(API 35+)
  • 一台已部署的 rVPN 服务器
  • 你的服务器地址,以及来自其他设备的 .rvpn 配置文件导出或来自服务器管理员的预共享密钥包

从 Google Play 下载

Terminal window
curl -LO https://assets.rvpn.org/1.2.6/rvpn-android.apk

然后在设备上打开该 APK 进行安装。

应用围绕配置文件组织——每个配置文件包含服务器地址、身份密钥、预共享密钥包以及分流规则。你最多可拥有 10 个配置文件,并从主屏幕在它们之间切换。

打开应用。在主屏幕上,点击配置文件卡片(“No active profile”),或前往设置选项卡 → 管理配置文件

你有两个选择:

如果有人向你分享了 .rvpn 文件,点击导入图标。选择文件。配置文件会以已填入所有密钥的形式进入你的列表。

点击 + 按钮。在配置文件编辑器中填写:

  • Name — 任意名称(例如 “Home HK”)
  • Colour — 用于快速识别配置文件的色块
  • Server Addresswss://your-server.com/api/v1/ws/tun
  • Identity Key — 点击 Generate Identity 为该配置文件创建新的 X3DH 身份
  • Prekey Bundle — 点击 Import Prekey… 并选择服务器管理员提供的 JSON 文件

Identity Key 和 Prekey Bundle 行在填入后会显示绿色对勾。点击 Save

回到主屏幕,点击大的 Connect 按钮。首次连接时 Android 会提示你允许 rVPN 建立 VPN 连接——请批准。应用会:

  1. 通过 TLS 1.3 WebSocket 连接到你的服务器
  2. 建立前向保密加密(X3DH + Double Ratchet)
  3. 从服务器接收隧道 IP 地址
  4. 将所有流量路由通过 Android VPN 接口

连接后,主屏幕会显示分配到的 IP、会话运行时长以及实时的发送/接收字节数。再次点击按钮即可断开。

在主屏幕上,点击活动配置文件卡片以打开配置文件管理。点击另一个配置文件将其激活。如果隧道已启用,应用会断开、切换并使用新配置文件重新连接。

只将国际流量路由通过 VPN,本地流量直连。

打开活动配置文件的编辑器(设置 → 管理配置文件 → 点击你的配置文件)。在 Traffic 下:

  • Split Tunnel — 打开
  • Bypass Countries — 选择一个或多个国家,其 CIDR 范围将绕过隧道(内置下拉包含 CN、US、GB、DE、FR、JP、KR、SG、HK、AU、CA、IN、BR、RU)
  • Bypass Domains — 额外的直连域名
  • Tunnel Domains — 即便启用分流也强制通过隧道的域名

保存。下次连接将使用新规则。

(应用 v1.2.9 及以上版本。)

配置文件可以把特定域名或 IP 段的流量通过其他 rVPN 服务器(出口)转发,其余流量仍走该配置文件自己的(主)服务器。典型用法:所有流量默认走香港,把 google.com 改走美国出口,让按地理位置分发的内容以美国视角解析。每个出口都必须是可达的 rVPN 服务器——流量在每一条路径上仍然是端到端加密的。

出口服务器从你已有的其他配置文件中选择——不支持手动填写服务器。打开活动配置文件的编辑器 → Exit ServersAdd Exit Server,选择你要使用的那个配置文件。服务器地址、已固定的 TOFU 指纹和预共享密钥包会从该配置文件带入,出口名称由配置文件名自动生成。每个出口持有自己的服务器身份固定值,独立于配置文件本身的固定值。

每个出口都有 Route DomainsRoute IPs

  • 裸域名是后缀匹配:google.com 会路由 google.com 所有子域名;*.google.com 只匹配子域名。两字符 TLD 和短域名都能正常使用。
  • IP 字段接受 CIDR(例如 1.1.1.0/24)。

当路由内的域名被解析时,隧道会把应答中的地址记入 ip→出口 映射(按应答的 TTL 保留),之后到这些 IP 的连接会走同一个出口。静态 CIDR 规则直接匹配。其余流量走主服务器。

路由流量永远不会静默回退到主出口:如果某个出口服务器宕机,它的路由流量会直接失败,而不会泄漏到其他出口。额外的出口在首次有路由流量时才启动,并各自独立重连——应用显示的隧道状态始终反映主服务器。

规则在隧道启动时加载——修改出口服务器或路由后,请断开并重新连接。

每个出口通过自己的隧道走 DNS-over-HTTPS 解析,因此路由域名得到的是该出口本地的应答(不会有地理 DNS 的意外)。

配置文件的导出/导入会携带完整的多服务器配置。带身份密钥导出时会内嵌各出口的预共享密钥包;旧版本应用导出的文件可以正常导入,出口列表为空。

CLI 客户端从 v1.3.3 起有独立的、基于 TOML 的多服务器池(仅限 SOCKS5)——见客户端配置参考。它与本功能不共享配置。

默认情况下,DNS 通过隧道解析。如需使用自定义上游解析器,请编辑配置文件 → NetworkDNS Servers 并输入以逗号分隔的列表(例如 1.1.1.1, 8.8.8.8)。

首次使用即信任默认在每个配置文件中启用。应用会在首次成功连接时接受并固定服务器的身份。固定值以规范的 ik:1:<base32> 形式写入,并存放在配置文件本身。

若服务器日后使用了不同的密钥,应用会弹出 Server identity changed 对话框,同时显示已固定和当次收到的两个固定值,并提供三个选项:取消删除配置文件信任新身份。若运营方通过带签名的轮换仪式更换密钥,应用会静默更新固定值 —— 不会弹出对话框。

如需更严格的验证,可在首次连接前,将运营方提供的固定值(ik:1: 形式)粘贴到配置文件的 Server Fingerprint 字段中。

完整模型 —— 固定值格式、轮换仪式、威胁模型 —— 请参考 服务器身份固定

  • 确认服务器地址正确且以 wss:// 开头
  • 确认 Identity Key 行显示绿色对勾
  • 确认 Prekey Bundle 行显示绿色对勾
  • 确保设备上没有其他 VPN 处于活动状态
  • 确认服务器 443 端口可达

服务器的 IP 池已耗尽。请联系服务器管理员在 rvpn.toml 中扩大 DHCP 范围。

  • 确认配置文件编辑器中已启用分流
  • 确认绕过国家代码(例如 CN,而非 China
  • 切换飞行模式以刷新路由表
  • 尝试不同的 DNS 服务器
  • 检查服务器负载
  • 确认分流未把太多流量走直连

如需更多故障排查帮助,请参见 故障排查指南