跳转至

中文文档

基于双棘轮加密的隐形传输协议

R-VPN 是一款专为最高级别的隐蔽性和安全性设计的下一代 VPN 架构,完全使用 Rust 构建。

功能特性

  • 🔐 强安全性:X3DH 密钥交换 + 双棘轮算法,提供前向保密和事后安全
  • 🕵️ 真正隐形:通过 WebSocket + TLS 1.3 传输,与正常 HTTPS 流量无法区分
  • ⚡ 高性能:序列化的棘轮操作消除高负载下的解密失败
  • 🌍 分流隧道:内置中国域名绕过 + 广告拦截 + 强制隧道规则
  • 🔧 轻松部署:为客户端和服务器提供 Systemd 服务安装程序
  • 📱 双模式:SOCKS5 代理模式用于路由器 + TUN 模式用于完整 VPN
  • 🔄 稳定连接:连接清理和心跳检测,确保稳定重连
  • 🌐 DNS 缓存:支持 IPv6 过滤选项的 DNS 缓存
  • 🛡️ 扫描器防护:速率限制和扫描器防护

快速链接

概述

R-VPN 通过单个 WebSocket 连接在 443 端口上使用 TLS 1.3 进行多路复用,内置反向代理将 VPN 服务器隐藏在合法网站后面。该协议采用混合加密方法,结合:

  • X3DH(扩展三重迪菲-赫尔曼)用于初始密钥协商
  • 双棘轮算法 用于事后安全
  • ChaCha20-Poly1305 用于数据加密

使用场景

路由器网关部署(推荐)

在路由器上部署 R-VPN 客户端,为整个网络提供 VPN 访问,无需在单个设备上安装软件:

互联网 ←→ R-VPN 服务器
           路由器/网关(SOCKS5 模式的 R-VPN 客户端)
         [设备1] [设备2] [设备3]

单个设备部署

在单个设备上以 TUN 模式运行 R-VPN,实现完整的 VPN 隧道:

设备(TUN 模式的 R-VPN 客户端)←→ R-VPN 服务器 ←→ 互联网

安全特性

特性 状态
前向保密 ✅ X3DH 每会话密钥
事后安全 ✅ 双棘轮棘轮推进
流量混淆 ✅ TLS 1.3 + WebSocket
主动探测抵抗 ✅ 伪装网站
流量填充 ✅ 1KB 边界填充
连接稳定性 ✅ 心跳检测与清理
扫描器防护 ✅ 速率限制

架构

┌─────────────────────────────────────────────────────────────────┐
│                         客户端模式                              │
├─────────────────────────────────────────────────────────────────┤
│  ┌─────────────────────────────────────────────────────────┐   │
│  │                    SOCKS5 模式                          │   │
│  │  ┌──────────────┐    ┌─────────────┐    ┌───────────┐  │   │
│  │  │ :1080 SOCKS5 │◄──►│   路由器/   │◄──►│ WebSocket │  │   │
│  │  │   监听器     │    │   网关      │    │ + 双棘轮  │  │   │
│  │  └──────────────┘    └─────────────┘    │  加密      │  │   │
│  │                              ▲          └─────┬─────┘  │   │
│  │                              │                │        │   │
│  │                         iptables/nftables     │ TLS 1.3│   │
│  └───────────────────────────────────────────────┼────────┘   │
│                                                  │             │
│  ┌───────────────────────────────────────────────┼────────┐   │
│  │                      TUN 模式                 │        │   │
│  │  ┌─────────┐    ┌─────────────┐              │        │   │
│  │  │   TUN   │◄──►│ VPN 引擎    │◄─────────────┘        │   │
│  │  │ 设备    │    │ (数据包 I/O)│                       │   │
│  │  └─────────┘    └─────────────┘                       │   │
│  └───────────────────────────────────────────────────────┘   │
└───────────────────────────────────────────────────────────────┘
                           443 端口(TLS 1.3 上的 WebSocket)
┌─────────────────────────────────────────────────────────────────┐
│                         服务器                                  │
├─────────────────────────────────────────────────────────────────┤
│  ┌─────────────────────────────────────────────────────────┐   │
│  │              反向代理 / 网站                            │   │
│  │  ┌─────────────────────────────────────────────────┐   │   │
│  │  │  正常 HTTPS 流量 → 静态网站内容                 │   │   │
│  │  │  WebSocket 路径   → VPN 处理器                  │   │   │
│  │  └─────────────────────────────────────────────────┘   │   │
│  └─────────────────────────────────────────────────────────┘   │
│                              │                                  │
│  ┌───────────────────────────┼─────────────────────────────┐   │
│  │                           ▼                             │   │
│  │  ┌─────────────┐    ┌─────────────┐    ┌─────────────┐ │   │
│  │  │   WebSocket │◄──►│   双棘轮    │◄──►│   TUN 到    │ │   │
│  │  │   服务器    │    │   加密      │    │   互联网    │ │   │
│  │  └─────────────┘    └─────────────┘    └─────────────┘ │   │
│  └────────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────────┘

许可证

R-VPN 采用 AGPL-3.0 许可证。