Spaces:
Paused
Paused
Upload 4 files
Browse files
start.sh
CHANGED
|
@@ -1,5 +1,8 @@
|
|
| 1 |
#!/bin/bash
|
| 2 |
|
|
|
|
|
|
|
|
|
|
| 3 |
# 添加诊断函数
|
| 4 |
check_target_server() {
|
| 5 |
local url="$1"
|
|
@@ -196,30 +199,29 @@ fi
|
|
| 196 |
# 设置 gost 日志级别 (info, warn, error, debug, fatal)
|
| 197 |
# LOG_LEVEL="warn" # 注释掉,因为 gost v2.11.5 不支持 -loglevel
|
| 198 |
|
| 199 |
-
# ---
|
| 200 |
-
echo "
|
| 201 |
-
|
| 202 |
-
|
| 203 |
-
echo "
|
| 204 |
-
|
| 205 |
-
|
| 206 |
-
|
| 207 |
-
# 已经有 wss:// 前缀
|
| 208 |
-
FORWARD_RULE="$TARGET_WSPROXY_URL"
|
| 209 |
-
elif [[ "$TARGET_WSPROXY_URL" == ws://* ]]; then
|
| 210 |
-
# 已经有 ws:// 前缀
|
| 211 |
-
FORWARD_RULE="$TARGET_WSPROXY_URL"
|
| 212 |
else
|
| 213 |
-
|
| 214 |
-
FORWARD_RULE="wss://$TARGET_WSPROXY_URL"
|
| 215 |
fi
|
|
|
|
| 216 |
|
| 217 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 218 |
|
| 219 |
-
#
|
| 220 |
-
|
|
|
|
| 221 |
GOST_PID=$!
|
| 222 |
-
sleep 1
|
| 223 |
|
| 224 |
# --- 启动状态页面服务 ---
|
| 225 |
echo "Starting status page server (port 7861)..."
|
|
@@ -227,17 +229,6 @@ echo "Starting status page server (port 7861)..."
|
|
| 227 |
STATUS_PID=$!
|
| 228 |
sleep 1
|
| 229 |
|
| 230 |
-
# --- 启动健康检查服务 ---
|
| 231 |
-
HEALTH_CHECK_PORT=7862
|
| 232 |
-
echo "Starting health check server (port $HEALTH_CHECK_PORT)..."
|
| 233 |
-
# 创建一个简单的健康检查响应目录和文件
|
| 234 |
-
HEALTH_CHECK_DIR="/tmp/health"
|
| 235 |
-
mkdir -p "$HEALTH_CHECK_DIR"
|
| 236 |
-
echo "OK" > "$HEALTH_CHECK_DIR/healthz"
|
| 237 |
-
(cd "$HEALTH_CHECK_DIR" && python3 -m http.server $HEALTH_CHECK_PORT) &
|
| 238 |
-
HEALTH_PID=$!
|
| 239 |
-
sleep 1
|
| 240 |
-
|
| 241 |
# --- 进程检查 ---
|
| 242 |
echo "Checking if gost process (PID: $GOST_PID) started..."
|
| 243 |
if ! kill -0 $GOST_PID > /dev/null 2>&1; then
|
|
@@ -257,7 +248,7 @@ fi
|
|
| 257 |
echo "Proxy converter is running..."
|
| 258 |
echo "- Main HTTP proxy listening internally at port 7860"
|
| 259 |
echo "- Status page server running internally at port 7861"
|
| 260 |
-
echo "- Health check server running internally at port
|
| 261 |
echo "- Connected to target WebSocket: $TARGET_WSPROXY_URL"
|
| 262 |
|
| 263 |
# --- 信号处理与等待 ---
|
|
|
|
| 1 |
#!/bin/bash
|
| 2 |
|
| 3 |
+
# 调试模式
|
| 4 |
+
set -x
|
| 5 |
+
|
| 6 |
# 添加诊断函数
|
| 7 |
check_target_server() {
|
| 8 |
local url="$1"
|
|
|
|
| 199 |
# 设置 gost 日志级别 (info, warn, error, debug, fatal)
|
| 200 |
# LOG_LEVEL="warn" # 注释掉,因为 gost v2.11.5 不支持 -loglevel
|
| 201 |
|
| 202 |
+
# --- curl 内部测试 ---
|
| 203 |
+
echo "====== 开始内部 Curl 测试 ======"
|
| 204 |
+
INTERNAL_PROXY_URL="http://localhost:7860"
|
| 205 |
+
TEST_TARGET="https://httpbin.org/ip"
|
| 206 |
+
echo "测试代理: $INTERNAL_PROXY_URL -> $TEST_TARGET"
|
| 207 |
+
curl -v -x "$INTERNAL_PROXY_URL" "$TEST_TARGET" --connect-timeout 15
|
| 208 |
+
if [ $? -eq 0 ]; then
|
| 209 |
+
echo "内部 Curl 测试成功 (退出码 0)"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
else
|
| 211 |
+
echo "内部 Curl 测试失败 (退出码 $?)"
|
|
|
|
| 212 |
fi
|
| 213 |
+
echo "====== 结束内部 Curl 测试 ======"
|
| 214 |
|
| 215 |
+
# --- 创建健康检查文件 ---
|
| 216 |
+
mkdir -p /tmp/health
|
| 217 |
+
echo "OK" > /tmp/health/healthz
|
| 218 |
+
cd /tmp/health && python3 -m http.server 7862 &
|
| 219 |
+
HEALTH_PID=$!
|
| 220 |
|
| 221 |
+
# --- 启动gost ---
|
| 222 |
+
echo "启动gost HTTP代理..."
|
| 223 |
+
/usr/local/bin/gost -L http://:7860 -F "$TARGET_WSPROXY_URL" -D &
|
| 224 |
GOST_PID=$!
|
|
|
|
| 225 |
|
| 226 |
# --- 启动状态页面服务 ---
|
| 227 |
echo "Starting status page server (port 7861)..."
|
|
|
|
| 229 |
STATUS_PID=$!
|
| 230 |
sleep 1
|
| 231 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 232 |
# --- 进程检查 ---
|
| 233 |
echo "Checking if gost process (PID: $GOST_PID) started..."
|
| 234 |
if ! kill -0 $GOST_PID > /dev/null 2>&1; then
|
|
|
|
| 248 |
echo "Proxy converter is running..."
|
| 249 |
echo "- Main HTTP proxy listening internally at port 7860"
|
| 250 |
echo "- Status page server running internally at port 7861"
|
| 251 |
+
echo "- Health check server running internally at port 7862"
|
| 252 |
echo "- Connected to target WebSocket: $TARGET_WSPROXY_URL"
|
| 253 |
|
| 254 |
# --- 信号处理与等待 ---
|