跳转至

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

  1. 设置 → 网络设置
  2. 选择 "手动代理配置"
  3. SOCKS 主机:127.0.0.1
  4. 端口:1080
  5. 选择 "SOCKS5"
  6. 点击确定

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

curl --socks5 127.0.0.1:1080 https://example.com

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 中继。在您的应用中启用:

[socks5]
udp_associate = true

故障排除

连接被拒绝

确保客户端正在运行:

netstat -an | grep 1080

认证失败

验证配置中的凭据。

速度慢

检查您的网络连接和服务器负载。

下一步