Spaces:
Paused
Paused
Upload 39 files
Browse files- app/main.py +13 -3
app/main.py
CHANGED
|
@@ -489,13 +489,23 @@ def websocket_proxy_tunnel(ws):
|
|
| 489 |
"""处理WebSocket连接,建立到Clash代理端口的TCP隧道"""
|
| 490 |
global clash_manager, initialization_error
|
| 491 |
|
| 492 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 493 |
|
| 494 |
# 1. 检查Clash是否运行
|
| 495 |
if clash_manager is None:
|
| 496 |
logger.error(f"Clash服务未运行,无法建立WebSocket隧道")
|
| 497 |
-
|
| 498 |
-
|
|
|
|
|
|
|
|
|
|
| 499 |
|
| 500 |
# 2. 建立到内部Clash代理端口的TCP连接
|
| 501 |
target_host = "127.0.0.1"
|
|
|
|
| 489 |
"""处理WebSocket连接,建立到Clash代理端口的TCP隧道"""
|
| 490 |
global clash_manager, initialization_error
|
| 491 |
|
| 492 |
+
# +++ 添加日志记录 +++
|
| 493 |
+
logger.info(f"收到 /wsproxy 请求,来自: {request.remote_addr}")
|
| 494 |
+
logger.info("请求头:")
|
| 495 |
+
for header, value in request.headers.items():
|
| 496 |
+
logger.info(f" {header}: {value}")
|
| 497 |
+
# --- 日志记录结束 ---
|
| 498 |
+
|
| 499 |
+
logger.info(f"开始处理 WebSocket 连接...") # 修改日志信息
|
| 500 |
|
| 501 |
# 1. 检查Clash是否运行
|
| 502 |
if clash_manager is None:
|
| 503 |
logger.error(f"Clash服务未运行,无法建立WebSocket隧道")
|
| 504 |
+
# 对于WebSocket错误,最好是直接关闭而不是返回HTTP错误
|
| 505 |
+
# ws.close(reason="Clash service is not running")
|
| 506 |
+
# 但这里因为还没进入ws上下文,可能需要不同的处理
|
| 507 |
+
# 尝试返回一个错误,虽然客户端可能不期望
|
| 508 |
+
return "Clash service not running", 503
|
| 509 |
|
| 510 |
# 2. 建立到内部Clash代理端口的TCP连接
|
| 511 |
target_host = "127.0.0.1"
|