iOS 应用
rVPN iOS 应用与你的服务器建立全隧道 VPN 连接。所有设备流量都通过加密隧道路由。
- iOS 16.0 或更高版本
- 一台已部署的 rVPN 服务器
- 你的服务器地址,以及来自其他设备的
.rvpn配置文件导出或来自服务器管理员的预共享密钥包
从 App Store 安装 rVPN。
添加你的第一个配置文件
Section titled “添加你的第一个配置文件”应用围绕配置文件组织——每个配置文件包含服务器地址、身份密钥、预共享密钥包以及分流规则。你最多可拥有 10 个配置文件,并从主屏幕在它们之间切换。
打开应用。在主屏幕上,点击配置文件卡片(“No Profile Selected”)打开配置文件切换器,或前往设置选项卡 → 管理配置文件。
你有两个选择:
导入现有配置文件
Section titled “导入现有配置文件”如果有人向你分享了 .rvpn 文件(来自其他设备导出或由管理员提供),请从主屏幕卡片打开配置文件切换器,并点击底部的导入图标。选择文件。配置文件会以已填入所有密钥的形式进入你的列表。
从头创建配置文件
Section titled “从头创建配置文件”点击 Add New Profile。在配置文件编辑器中填写:
- Name — 任意名称(例如 “Home HK”)
- Colour — 用于快速识别配置文件的色块
- Server Address —
wss://your-server.com/api/v1/ws/tun - Identity Key — 点击 Generate 创建新的 X3DH 身份,或 Import 加载已有密钥文件
- Prekey Bundle — 点击 Import Prekey Bundle 并选择服务器管理员提供的 JSON 文件
Identity Key 和 Prekey Bundle 行在填入后会显示绿色对勾。点击右上角的 Save。
回到主屏幕,点击大的 Connect 按钮。首次连接时 iOS 会提示你允许 VPN 配置——请批准以继续。应用会:
- 通过 TLS 1.3 WebSocket 连接到你的服务器
- 建立前向保密加密(X3DH + Double Ratchet)
- 从服务器接收隧道 IP 地址
- 将所有流量路由通过 VPN
连接后,主屏幕会显示分配到的 IP、会话运行时长以及实时的发送/接收字节数。再次点击按钮即可断开。
切换配置文件
Section titled “切换配置文件”在主屏幕上,点击活动配置文件卡片以打开配置文件切换器。点击另一个配置文件将其激活。如果隧道已启用,应用会断开、切换并使用新配置文件重新连接。
分享配置文件
Section titled “分享配置文件”要将某个配置文件转交给另一台设备 —— 你的 iPad、朋友的手机、另一台 Mac —— 可以将其导出为 .rvpn 文件,然后通过你喜欢的方式(AirDrop、信息、文件)分享。
从主屏幕卡片打开配置文件切换器,在需要分享的配置文件上向左滑动,点击 导出。iOS 会询问是否包含身份密钥:
- 不包含身份密钥 —— 更安全。接收方可以查看该配置文件,并使用自己的密钥材料连接(他们需要来自同一服务器管理员的预共享密钥包)。跨用户或分享到不完全可信的场合时请选此项。
- 包含身份密钥 —— 接收方可以直接在另一台设备上原样连接。仅在另一台设备是你自己的、或你完全信任接收方时选择此项。导出的文件会包含你的私钥。
随后 iOS 显示分享面板 —— AirDrop、文件、信息,任选。文件以 .rvpn 扩展名生成。
一旦你至少成功连接过一次,导出的文件还会携带服务器已固定的身份(ik:1: 指纹)。这意味着接收方的客户端在服务器出示不同密钥时会拒绝连接,无需另行带外核验 —— 发送方通过转交文件为服务器做了背书。完整模型请参考 服务器身份固定。
只将国际流量路由通过 VPN,本地流量直连。
打开活动配置文件的编辑器(设置 → 管理配置文件 → 点击你的配置文件)。在 Traffic 下:
- Split Tunnel — 打开
- Bypass Countries — 逗号分隔的国家代码,其 CIDR 范围将绕过隧道(默认为
CN) - Bypass Domains — 额外的直连域名
- Tunnel Domains — 即便启用分流也强制通过隧道的域名
保存。下次连接将使用新规则。
默认情况下,DNS 通过隧道解析。如需使用自定义上游解析器,请编辑配置文件 → Network → DNS Servers 并输入以逗号分隔的列表(例如 1.1.1.1, 8.8.8.8)。
服务器身份 (TOFU)
Section titled “服务器身份 (TOFU)”首次使用即信任 (TOFU) 默认在每个配置文件中启用,会在首次成功连接时接受并固定服务器的身份。固定值以规范的 ik:1:<base32> 形式写入,并存放在配置文件本身。
若服务器日后使用了不同的密钥,应用会弹出 Server identity changed 对话框,同时显示已固定和当次收到的两个固定值,并提供三个选项:取消、删除配置文件 或 信任新身份。若运营方通过带签名的轮换仪式更换密钥,应用会静默更新固定值 —— 不会弹出对话框。
如需更严格的验证,可在首次连接前,将运营方提供的固定值(ik:1: 形式)粘贴到配置文件的 Server Fingerprint 字段中。
若配置文件在你点击 Connect 时缺少身份密钥或预共享密钥包,应用现在会在启动隧道之前弹出明确的提示(“配置文件 “X” 需要身份密钥和预共享密钥包。请编辑配置文件并生成身份 / 导入预共享密钥包。”)—— 不再出现无声无息、原地打转的”连接中…”。
完整模型 —— 固定值格式、轮换仪式、威胁模型 —— 请参考 服务器身份固定。
”Failed to start VPN”
Section titled “”Failed to start VPN””- 确认服务器地址正确且以
wss://开头 - 确认 Identity Key 行显示绿色对勾
- 确认 Prekey Bundle 行显示绿色对勾
- 确认服务器 443 端口可达
”No IP assigned”
Section titled “”No IP assigned””服务器的 IP 池已耗尽。请联系服务器管理员在 rvpn.toml 中扩大 DHCP 范围。
- 确认配置文件编辑器中已启用分流
- 确认绕过国家代码(例如
CN,而非China) - 切换飞行模式以刷新路由表
- 尝试不同的 DNS 服务器
- 检查服务器负载
- 确认分流未把太多流量走直连
如需更多故障排查帮助,请参见 故障排查指南。