124 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			124 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/bash
 | |
| 
 | |
| echo "=== 甲骨文服务器代理中转设置 ==="
 | |
| 
 | |
| # 1. 安装 gost
 | |
| echo "安装 gost..."
 | |
| if ! command -v gost &> /dev/null; then
 | |
|     wget -O gost.gz https://github.com/ginuerzh/gost/releases/download/v2.11.5/gost-linux-amd64-2.11.5.gz
 | |
|     gunzip gost.gz
 | |
|     chmod +x gost-linux-amd64-2.11.5
 | |
|     sudo mv gost-linux-amd64-2.11.5 /usr/local/bin/gost
 | |
|     echo "gost 安装完成"
 | |
| else
 | |
|     echo "gost 已安装"
 | |
| fi
 | |
| 
 | |
| # 2. 确保 Tailscale 已安装并运行
 | |
| if ! command -v tailscale &> /dev/null; then
 | |
|     echo "请先安装 Tailscale:"
 | |
|     echo "curl -fsSL https://tailscale.com/install.sh | sh"
 | |
|     echo "sudo tailscale up"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| # 3. 获取 Tailscale IP
 | |
| TAILSCALE_IP=$(tailscale ip -4)
 | |
| echo "甲骨文服务器 Tailscale IP: $TAILSCALE_IP"
 | |
| 
 | |
| # 4. 创建代理配置目录
 | |
| mkdir -p ~/proxy-config
 | |
| cd ~/proxy-config
 | |
| 
 | |
| # 5. 创建 webshare 代理列表
 | |
| cat > webshare-proxies.txt << 'EOF'
 | |
| fbkjstyt:lvo4zphp2wwj@45.196.40.191:6269
 | |
| fbkjstyt:lvo4zphp2wwj@130.180.228.168:6452
 | |
| fbkjstyt:lvo4zphp2wwj@72.1.154.35:7926
 | |
| fbkjstyt:lvo4zphp2wwj@63.141.62.186:6479
 | |
| fbkjstyt:lvo4zphp2wwj@216.170.122.181:6219
 | |
| fbkjstyt:lvo4zphp2wwj@192.53.67.209:5758
 | |
| fbkjstyt:lvo4zphp2wwj@130.180.231.18:8160
 | |
| fbkjstyt:lvo4zphp2wwj@192.53.142.239:5936
 | |
| fbkjstyt:lvo4zphp2wwj@103.130.178.22:5686
 | |
| fbkjstyt:lvo4zphp2wwj@216.98.254.253:6563
 | |
| fbkjstyt:lvo4zphp2wwj@192.46.188.237:5896
 | |
| fbkjstyt:lvo4zphp2wwj@45.56.161.56:8932
 | |
| fbkjstyt:lvo4zphp2wwj@192.46.201.252:6766
 | |
| fbkjstyt:lvo4zphp2wwj@45.196.50.62:6384
 | |
| fbkjstyt:lvo4zphp2wwj@193.160.83.42:6363
 | |
| fbkjstyt:lvo4zphp2wwj@103.130.178.234:5898
 | |
| fbkjstyt:lvo4zphp2wwj@72.46.139.62:6622
 | |
| fbkjstyt:lvo4zphp2wwj@72.46.139.239:6799
 | |
| fbkjstyt:lvo4zphp2wwj@103.130.178.62:5726
 | |
| fbkjstyt:lvo4zphp2wwj@72.46.138.21:6247
 | |
| EOF
 | |
| 
 | |
| # 6. 创建启动脚本
 | |
| cat > start-proxy-relay.sh << 'EOF'
 | |
| #!/bin/bash
 | |
| 
 | |
| echo "启动代理中转服务..."
 | |
| 
 | |
| # 杀死之前的进程
 | |
| pkill -f "gost.*:1000"
 | |
| 
 | |
| # 读取代理列表并启动
 | |
| i=1
 | |
| while IFS= read -r line; do
 | |
|     if [ $i -gt 20 ]; then break; fi
 | |
|     
 | |
|     port=$((10000 + i))
 | |
|     
 | |
|     # 启动 gost 中转
 | |
|     gost -L "socks5://0.0.0.0:$port" -F "socks5://$line" &
 | |
|     
 | |
|     echo "端口 $port -> webshare $line"
 | |
|     
 | |
|     i=$((i + 1))
 | |
|     sleep 0.1
 | |
| done < webshare-proxies.txt
 | |
| 
 | |
| echo ""
 | |
| echo "代理中转已启动!"
 | |
| echo "Tailscale IP: $(tailscale ip -4)"
 | |
| echo "监听端口: 10001-10020"
 | |
| echo ""
 | |
| echo "在本地使用以下命令连接:"
 | |
| echo "ssh -L 20001:localhost:10001 -L 20002:localhost:10002 ... user@$(tailscale ip -4)"
 | |
| echo ""
 | |
| echo "或使用 gost 本地转发"
 | |
| 
 | |
| wait
 | |
| EOF
 | |
| 
 | |
| chmod +x start-proxy-relay.sh
 | |
| 
 | |
| # 7. 创建系统服务(可选)
 | |
| sudo tee /etc/systemd/system/webshare-proxy.service > /dev/null << EOF
 | |
| [Unit]
 | |
| Description=Webshare Proxy Relay Service
 | |
| After=network.target tailscaled.service
 | |
| 
 | |
| [Service]
 | |
| Type=simple
 | |
| User=$USER
 | |
| WorkingDirectory=$HOME/proxy-config
 | |
| ExecStart=$HOME/proxy-config/start-proxy-relay.sh
 | |
| Restart=always
 | |
| RestartSec=5
 | |
| 
 | |
| [Install]
 | |
| WantedBy=multi-user.target
 | |
| EOF
 | |
| 
 | |
| echo ""
 | |
| echo "=== 设置完成 ==="
 | |
| echo "现在运行: ./start-proxy-relay.sh"
 | |
| echo ""
 | |
| echo "或者启用系统服务:"
 | |
| echo "sudo systemctl enable webshare-proxy"
 | |
| echo "sudo systemctl start webshare-proxy"
 | |
| echo ""
 | |
| echo "Tailscale IP: $TAILSCALE_IP"
 | |
| echo "代理端口: 10001-10020" |