开源 UniSpoke 客户端,提供命令行支持的 UniVPN/SecoClient 连接与 VPN 模式。
简介
UniSpoke 是一个实验性的开源 SSL VPN 客户端,旨在连接 Leagsoft UniVPN / 华为 SVN 网关,当前版本为 0.2.2。它提供命令行界面,支持 SOCKS5、HTTP 代理以及 VPN 模式(TUN/Wintun),兼容 Legacy 与 V1 网关。官方客户端多为图形界面,且官方发布页已下架。
主要特性
- 支持的网关
- Legacy 网关:已在真实网关验证
- V1 网关:已实现,未在真实 V1 网关运行
- 代理模式
- SOCKS5:CONNECT 与 UDP ASSOCIATE
- HTTP 代理:absolute-form 与 CONNECT,但本身不承载 UDP
- VPN 模式
- 创建 TUN/Wintun 网卡,按网关下发的 VIP、路由和 DNS 流量接管
- 数据面
- UDP 数据传输默认 auto,网关不支持时回退 TLS/TCP
- DNS 转发
- 隧道内解析,并提供本地 UDP DNS 转发
- 连接管理
- 重连时复用已认证会话,无需重新登录
- 兼容平台
- Linux、Windows、macOS,amd64/arm64
备注:构建与使用需要 Go 1.27.3+,具体命令见以下章节。
构建指南
- 需要的 Go 版本:Go 1.27.3+
- 构建命令:
- go build -o unispoke ./cmd/unispoke
- 常见跨平台构建示例:
- GOOS=linux GOARCH=amd64 go build -trimpath -o dist/unispoke-linux-amd64 ./cmd/unispoke
- GOOS=windows GOARCH=amd64 go build -trimpath -o dist/unispoke-windows-amd64.exe ./cmd/unispoke
- GOOS=darwin GOARCH=arm64 go build -trimpath -o dist/unispoke-macos-arm64 ./cmd/unispoke
使用方式
4.1 代理模式
- 运行示例:
./unispoke -gateway vpn.example.com:10443 -user alice -password 'secret' -ca /path/to/private-ca.pem - 默认监听:
- SOCKS5: 127.0.0.1:1080
- HTTP 代理: 127.0.0.1:8080
- 选项:-socks/-http 可自定义监听地址,留空禁用对应代理
- 测试代理:
curl --socks5-hostname 127.0.0.1:1080 http://10.20.1.5/
curl -x http://127.0.0.1:8080 http://10.20.1.5/
注意:SOCKS5 支持 UDP ASSOCIATE;HTTP 代理本身不承载 UDP,若需要 UDP,请使用 SOCKS5 或 VPN 模式。
4.2 VPN 模式
- Linux(需要 root/CAP_NET_ADMIN):
sudo ./unispoke -gateway vpn.example.com:10443 -user alice -password 'secret' -ca /path/to/private-ca.pem -vpn -vpn-name unispoke - Windows(管理员权限):
.\unispoke.exe -gateway vpn.example.com:10443 -user alice -password 'secret' -ca C:\certs\private-ca.pem -vpn -vpn-name unispoke - Windows 需要 wintun.dll(从 wintun.net 下载 0.14.1 版,放在 unispoke.exe 同目录)
- VPN 模式会创建 TUN/Wintun 网卡,接管路由、DNS,并在退出时清理路由;全隧道在 Windows 可用 -vpn-full,Linux/macOS 仅支持分隧道
- 注意:代理监听与 VPN 模式互斥,-vpn 会忽略 -socks/-http
4.3 UDP 传输
- 运行示例:
./unispoke -gate…
评论 0
还没有评论,来说两句吧。
登录 后参与评论