clash-linux commited on
Commit
dc23284
·
verified ·
1 Parent(s): e690ae4

Upload start.sh

Browse files
Files changed (1) hide show
  1. start.sh +29 -12
start.sh CHANGED
@@ -199,31 +199,48 @@ fi
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)..."
228
  (cd "$HTML_DIR" && python3 -m http.server 7861) &
229
  STATUS_PID=$!
@@ -246,7 +263,7 @@ fi
246
 
247
  # --- 运行信息 ---
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"
 
199
  # 设置 gost 日志级别 (info, warn, error, debug, fatal)
200
  # LOG_LEVEL="warn" # 注释掉,因为 gost v2.11.5 不支持 -loglevel
201
 
202
+ # --- curl 内部测试 (AFTER gost start,现在测试 SOCKS5) ---
203
+ echo "====== 开始内部 Curl 测试 (Gost将启动为SOCKS5) ======"
204
+ INTERNAL_PROXY_URL="socks5://127.0.0.1:7860" # 使用 SOCKS5
205
  TEST_TARGET="https://httpbin.org/ip"
206
  echo "测试代理: $INTERNAL_PROXY_URL -> $TEST_TARGET"
207
+ # curl SOCKS5 的支持可能需要 socks5h 以便代理服务器解析域名
208
+ curl -v -k --socks5-hostname "$INTERNAL_PROXY_URL" "$TEST_TARGET" --connect-timeout 15
209
  if [ $? -eq 0 ]; then
210
+ echo "内部 Curl 测试成功 (Gost已启动为SOCKS5)"
211
  else
212
+ echo "内部 Curl 测试失败 (Gost已启动为SOCKS5) (退出码 $?)"
213
  fi
214
+ echo "====== 结束内部 Curl 测试 (Gost已启动为SOCKS5) ======"
215
 
216
  # --- 创建健康检查文件 ---
217
+ # 健康检查服务仍然使用HTTP,因为它只检查端口是否开放
218
  mkdir -p /tmp/health
219
  echo "OK" > /tmp/health/healthz
220
  cd /tmp/health && python3 -m http.server 7862 &
221
  HEALTH_PID=$!
222
 
223
+ # --- 启动gost (改为监听 SOCKS5) ---
224
+ echo "启动gost SOCKS5 代理 (监听 7860,转发到 $TARGET_WSPROXY_URL)..."
225
+ /usr/local/bin/gost -L socks5://:7860 -F "$TARGET_WSPROXY_URL" -D &
226
  GOST_PID=$!
227
+ echo "Gost PID: $GOST_PID"
228
+ echo "等待5秒让gost完全启动..."
229
+ sleep 5
230
 
231
+ # --- curl 内部测试 (AFTER SOCKS5 gost start) ---
232
+ echo "====== 再次运行内部 Curl 测试 (Gost SOCKS5已启动) ======"
233
+ curl -v -k --socks5-hostname "$INTERNAL_PROXY_URL" "$TEST_TARGET" --connect-timeout 15
234
+ if [ $? -eq 0 ]; then
235
+ echo "内部 Curl SOCKS5 测试成功 (Gost已启动)"
236
+ else
237
+ echo "内部 Curl SOCKS5 测试失败 (Gost已启动) (退出码 $?)"
238
+ fi
239
+ echo "====== 结束内部 Curl SOCKS5 测试 (Gost已启动) ======"
240
+
241
+ # --- 启动状态页面服务 (改为监听7861) ---
242
+ # 确保状态页面监听不同端口
243
+ HTML_DIR="/tmp/html"
244
  echo "Starting status page server (port 7861)..."
245
  (cd "$HTML_DIR" && python3 -m http.server 7861) &
246
  STATUS_PID=$!
 
263
 
264
  # --- 运行信息 ---
265
  echo "Proxy converter is running..."
266
+ echo "- Main SOCKS5 proxy listening internally at port 7860"
267
  echo "- Status page server running internally at port 7861"
268
  echo "- Health check server running internally at port 7862"
269
  echo "- Connected to target WebSocket: $TARGET_WSPROXY_URL"