SOCKS5 模式¶
SOCKS5 代理模式是在桌面和移动设备上使用 R-VPN 的推荐方式。
概述¶
在 SOCKS5 模式下,R-VPN 运行一个本地 SOCKS5 代理服务器。应用程序连接到此本地代理,其流量通过加密的 VPN 隧道路由到 R-VPN 服务器。
┌──────────────┐ ┌─────────────┐ ┌─────────────┐
│ 应用程序 │────────►│ R-VPN 客户端 │────────►│ R-VPN 服务器 │
│ (浏览器) │◄────────│ (SOCKS5) │◄────────│ │
└──────────────┘ └─────────────┘ └─────────────┘
127.0.0.1:1080 wss://vpn.example.com
优势¶
- 无需 root 权限 - 无需管理员权限即可工作
- 应用级别 - 只有配置的应用程序使用 VPN
- 跨平台 - 适用于任何支持 SOCKS5 的平台
- 轻量级 - 最小系统集成
配置¶
SOCKS5 代理在 client.toml 的 [socks5] 部分进行配置:
# 服务器连接
server_address = "wss://vpn.example.com/connect"
identity_key_file = "identity.key"
prekey_bundle = "prekey-bundle.json"
[socks5]
listen_address = "127.0.0.1:1080"
udp_associate = true
配置选项¶
| 选项 | 默认值 | 描述 |
|---|---|---|
listen_address |
127.0.0.1:1080 |
SOCKS5 代理监听地址和端口 |
udp_associate |
true |
启用 UDP associate 支持 UDP 流量 |
auth_enabled |
false |
启用可选的用户名/密码认证 |
auth_username |
None |
认证用户名(当 auth_enabled 为 true 时) |
auth_password |
None |
认证密码(当 auth_enabled 为 true 时) |
启动 SOCKS5 代理¶
# 使用配置文件
rvpn --config client.toml
# 使用命令行
rvpn --server wss://vpn.example.com/connect \
--identity identity.key
配置应用程序¶
Firefox¶
- 设置 → 网络设置
- 选择 "手动代理配置"
- SOCKS 主机:
127.0.0.1 - 端口:
1080 - 选择 "SOCKS5"
- 点击确定
Chrome¶
使用 SwitchyOmega 等扩展程序或配置系统代理:
# macOS
export http_proxy=socks5://127.0.0.1:1080
export https_proxy=socks5://127.0.0.1:1080
# Linux
export http_proxy=socks5h://127.0.0.1:1080
export https_proxy=socks5h://127.0.0.1:1080
curl¶
iOS¶
配置 WiFi 代理设置:
- 服务器:127.0.0.1(本地使用需要代理应用或越狱)
- 或使用支持 SOCKS5 的应用
Android¶
使用 "SocksDroid" 等应用或在支持的应用中进行配置。
认证¶
为 SOCKS5 代理启用可选认证:
[socks5]
listen_address = "127.0.0.1:1080"
auth_enabled = true
auth_username = "myuser"
auth_password = "mypassword"
UDP 支持¶
SOCKS5 协议支持 UDP 中继。在您的应用中启用:
故障排除¶
连接被拒绝¶
确保客户端正在运行:
认证失败¶
验证配置中的凭据。
速度慢¶
检查您的网络连接和服务器负载。