3.6 KiB
3.6 KiB
Webshare 代理通过 Tailscale + 甲骨文中转设置指南
架构说明
本地应用 → 本地SOCKS5(20001-20020) → Tailscale → 甲骨文节点(10001-10020) → Webshare代理
前置要求
- 甲骨文服务器已安装 Tailscale 并连接到您的网络
- 本地机器也已安装 Tailscale 并连接到同一网络
- 两台机器都能正常通信
设置步骤
第一步:甲骨文服务器设置
- 将
oracle-server-setup.sh上传到甲骨文服务器:
scp oracle-server-setup.sh user@your-oracle-server:~/
- 在甲骨文服务器上运行:
chmod +x oracle-server-setup.sh
./oracle-server-setup.sh
- 启动代理中转服务:
cd ~/proxy-config
./start-proxy-relay.sh
- 记下显示的 Tailscale IP 地址(如:100.64.0.1)
第二步:本地设置
- 运行本地客户端设置:
./local-client-setup.sh
输入甲骨文服务器的 Tailscale IP
- 启动本地转发:
./start-local-forward.sh
- 测试连接:
./test-proxies.sh
第三步:使用 Python 管理器(推荐)
更简单的方式是使用 Python 管理器:
# 安装依赖
pip3 install requests pyyaml
# 启动管理器(替换为实际的甲骨文 Tailscale IP)
python3 proxy-manager.py 100.64.0.1
管理器会自动:
- 启动所有代理转发
- 测试连接状态
- 生成 Clash 配置文件
使用方式
直接使用 SOCKS5 代理
# 测试代理
curl --socks5 127.0.0.1:20001 http://httpbin.org/ip
# 使用不同代理
curl --socks5 127.0.0.1:20002 http://httpbin.org/ip
使用 Clash
# 使用生成的配置启动 Clash
clash -f clash-webshare-config.yaml
# 或使用自动生成的配置
clash -f clash-webshare-auto.yaml
在应用中使用
- 浏览器:设置 SOCKS5 代理为
127.0.0.1:20001-20020 - curl:
curl --socks5 127.0.0.1:20001 URL - Python requests:
proxies = {
'http': 'socks5://127.0.0.1:20001',
'https': 'socks5://127.0.0.1:20001'
}
requests.get('http://example.com', proxies=proxies)
端口分配
| 服务 | 端口范围 | 说明 |
|---|---|---|
| 甲骨文中转 | 10001-10020 | 接收本地连接,转发到 Webshare |
| 本地代理 | 20001-20020 | 本地应用连接这些端口 |
| Clash HTTP | 7890 | Clash HTTP 代理端口 |
| Clash SOCKS | 7891 | Clash SOCKS 代理端口 |
故障排除
1. 连接失败
- 检查 Tailscale 连接:
tailscale status - 检查甲骨文服务器防火墙
- 确认甲骨文服务器代理服务正在运行
2. 代理不工作
- 检查 Webshare 账号状态
- 测试单个 Webshare 代理是否可用
- 查看 gost 进程是否正常运行:
ps aux | grep gost
3. 性能优化
- 根据需要调整代理数量
- 使用负载均衡模式分散请求
- 监控代理使用情况
管理命令
# 查看运行状态
ps aux | grep gost
# 停止所有代理
pkill -f gost
# 重启服务(在甲骨文)
cd ~/proxy-config && ./start-proxy-relay.sh
# 重启本地转发
./start-local-forward.sh
安全注意事项
- 确保 Tailscale 网络安全
- 不要将代理端口暴露到公网
- 定期更新 Webshare 账号凭证
- 监控代理使用情况,避免滥用
自动化启动
甲骨文服务器(systemd 服务)
sudo systemctl enable webshare-proxy
sudo systemctl start webshare-proxy
本地(可选)
创建开机启动脚本或使用 crontab。
提示:首次设置建议先手动运行各个步骤,确认工作正常后再设置自动启动。