跳转至

客户端配置 (Chinese Translation)

R-VPN 客户端通过 TOML 配置文件进行配置。

配置文件位置

默认位置(按顺序检查): 1. 通过 --config 参数指定的路径 2. 当前目录下的 client.toml 3. ~/.config/rvpn/client.toml

配置参考

Server 配置节

[server] 节用于配置与 VPN 服务器的连接。

[server]
# 服务器 WebSocket URL(默认:"wss://localhost:443/connect")
server_address = "wss://vpn.example.com/connect"

# TLS SNI 主机名,用于隐蔽连接(可选)
sni_hostname = "www.example.com"

# 身份密钥文件路径(默认:"identity.key")
identity_key_file = "identity.key"

# 服务器公钥,用于额外认证(可选)
server_public_key = "base64encodedkey..."

# 服务器预密钥包 JSON 文件路径(可选)
prekey_bundle = "prekey-bundle.json"
选项 类型 默认值 说明
server_address 字符串 "wss://localhost:443/connect" VPN 服务器的 WebSocket URL
sni_hostname 字符串 (无) TLS SNI 主机名,用于隐蔽连接
identity_key_file 字符串 "identity.key" 客户端身份密钥文件路径
server_public_key 字符串 (无) 服务器公钥,用于认证
prekey_bundle 字符串 (无) 预密钥包 JSON 文件路径

SOCKS5 配置节

[socks5] 节用于配置 SOCKS5 代理服务器。

[socks5]
# SOCKS5 代理监听地址(默认:"127.0.0.1:1080")
listen_address = "127.0.0.1:1080"

# 启用 UDP 关联支持(默认:true)
udp_associate = true

# 启用认证(默认:false)
auth_enabled = false

# 认证用户名(auth_enabled = true 时必需)
auth_username = "user"

# 认证密码(auth_enabled = true 时必需)
auth_password = "password"
选项 类型 默认值 说明
listen_address 字符串 "127.0.0.1:1080" SOCKS5 服务器绑定地址
udp_associate 布尔值 true 启用 UDP 关联支持
auth_enabled 布尔值 false 需要认证
auth_username 字符串 (无) 认证用户名
auth_password 字符串 (无) 认证密码

TUN 配置节

[tun] 节用于配置全 VPN 模式的 TUN 设备。

[tun]
# 接口名称(默认:"rvpn0")
interface_name = "rvpn0"

# 虚拟 IP 地址,CIDR 表示法(默认:"10.200.0.2/24")
ip_address = "10.200.0.2/24"

# DNS 服务器(默认:["1.1.1.1", "8.8.8.8"])
dns_servers = ["1.1.1.1", "8.8.8.8"]

# 通过 VPN 路由的网络(默认:["0.0.0.0/0"])
routes = ["0.0.0.0/0"]

# MTU - 最大传输单元(默认:1420)
mtu = 1420
选项 类型 默认值 说明
interface_name 字符串 "rvpn0" TUN 接口名称
ip_address 字符串 "10.200.0.2/24" 虚拟 IP 地址(CIDR 表示法)
dns_servers 数组 ["1.1.1.1", "8.8.8.8"] 要使用的 DNS 服务器
routes 数组 ["0.0.0.0/0"] 通过 VPN 路由的网络(CIDR)
mtu 整数 1420 最大传输单元

Performance 配置节

[performance] 节用于调整性能参数。

[performance]
# 工作线程数(默认:4)
worker_threads = 4

# 接收缓冲区大小,字节(默认:262144)
recv_buffer_size = 262144

# 发送缓冲区大小,字节(默认:262144)
send_buffer_size = 262144
选项 类型 默认值 说明
worker_threads 整数 4 异步工作线程数
recv_buffer_size 整数 262144 套接字接收缓冲区大小(字节)
send_buffer_size 整数 262144 套接字发送缓冲区大小(字节)

Split Tunnel 配置节

[split_tunnel] 节用于配置分流隧道行为。

[split_tunnel]
# 启用分流隧道(默认:false)
enabled = true

# 绕过网络的文件路径,CIDR 格式(可选)
bypass_networks_file = "bypass_networks.txt"

# 绕过域名的文件路径(可选)
bypass_domains_file = "bypass_domains.txt"

# 强制走 VPN 的网络文件路径,CIDR 格式(可选)
tunnel_networks_file = "tunnel_networks.txt"

# 强制走 VPN 的域名文件路径(可选)
tunnel_domains_file = "tunnel_domains.txt"

# 自动重载间隔,秒,0 表示禁用(默认:300)
auto_reload_interval = 300

# 内置绕过国家(默认:["CN"])
builtin_bypass_countries = ["CN", "HK"]

# 启用广告拦截(默认:false)
block_ads = false

# 自定义广告拦截列表文件路径(可选)
ad_block_file = "ad_block.txt"
选项 类型 默认值 说明
enabled 布尔值 false 启用分流隧道
bypass_networks_file 字符串 (无) 绕过 VPN 的网络文件
bypass_domains_file 字符串 (无) 绕过 VPN 的域名文件
tunnel_networks_file 字符串 (无) 强制走 VPN 的网络文件
tunnel_domains_file 字符串 (无) 强制走 VPN 的域名文件
auto_reload_interval 整数 300 自动重载间隔,秒(0 = 禁用)
builtin_bypass_countries 数组 ["CN"] 内置绕过的国家代码
block_ads 布尔值 false 启用内置广告拦截
ad_block_file 字符串 (无) 自定义广告拦截列表文件

详见 Split Tunneling 文档。

Network 配置节

[network] 节用于配置网络行为。

[network]
# 启用 IPv6 支持(默认:true)
ipv6_enabled = true

# 优先使用 IPv4 而非 IPv6(默认:true)
prefer_ipv4 = true

# 启用 DNS 缓存(默认:true)
dns_cache_enabled = true

# DNS 缓存 TTL,秒(默认:300)
dns_cache_ttl = 300

# 最大 DNS 缓存条目数(默认:1000)
dns_cache_size = 1000

# 自定义 DNS 服务器,覆盖系统默认(可选)
dns_servers = ["1.1.1.1", "8.8.8.8"]
选项 类型 默认值 说明
ipv6_enabled 布尔值 true 启用 IPv6 支持
prefer_ipv4 布尔值 true 优先使用 IPv4
dns_cache_enabled 布尔值 true 启用 DNS 缓存
dns_cache_ttl 整数 300 DNS 缓存 TTL,秒
dns_cache_size 整数 1000 最大 DNS 缓存条目数
dns_servers 数组 [] 自定义 DNS 服务器(覆盖系统设置)

完整示例

# 服务器连接
[server]
server_address = "wss://vpn.example.com/connect"
identity_key_file = "identity.key"
prekey_bundle = "prekey-bundle.json"

# SOCKS5 代理模式
[socks5]
listen_address = "127.0.0.1:1080"
udp_associate = true

# TUN 设备配置
[tun]
interface_name = "rvpn0"
ip_address = "10.200.0.2/24"
dns_servers = ["1.1.1.1", "8.8.8.8"]
routes = ["0.0.0.0/0"]
mtu = 1420

# 中国/香港流量分流隧道
[split_tunnel]
enabled = true
builtin_bypass_countries = ["CN", "HK"]
auto_reload_interval = 300

# 性能调整
[performance]
worker_threads = 4
recv_buffer_size = 262144
send_buffer_size = 262144

# 网络设置
[network]
ipv6_enabled = true
prefer_ipv4 = true
dns_cache_enabled = true
dns_cache_ttl = 300

命令行选项

# 使用自定义配置连接
rvpn --config /path/to/config.toml

# 连接到指定服务器(覆盖配置)
rvpn --server wss://vpn.example.com/connect

# 指定预密钥包(覆盖配置)
rvpn --bundle /path/to/prekey-bundle.json

# 以 TUN 模式运行(默认是 SOCKS5)
rvpn --tun

# 详细输出
rvpn -v        # 调试级别
rvpn -vv       # 跟踪级别

# 显示帮助
rvpn --help

# 显示版本
rvpn --version

环境变量

变量 说明
RVPN_CONFIG 配置文件路径
RVPN_LOG 日志级别(error, warn, info, debug, trace)

配置优先级

配置按以下顺序应用(后者覆盖前者):

  1. 默认值
  2. 配置文件
  3. 环境变量
  4. 命令行参数

下一步