2.3 KiB
Executable File
2.3 KiB
Executable File
BearVPN 连接调试总结
🔍 问题分析
通过日志分析,发现了节点连接超时的根本原因:
核心问题
-
SingBox URL 测试配置问题:
- 测试间隔过长:
url-test-interval: 300(5分钟) - 测试 URL 可能不稳定:
http://cp.cloudflare.com
- 测试间隔过长:
-
节点延迟值异常:
- 初始状态:
delay=0(未测试) - 测试后:
delay=65535(超时/失败) - 反复在 0 和 65535 之间切换
- 初始状态:
🛠️ 解决方案
1. 修复 SingBox 配置
// 修改前
"connection-test-url": "http://cp.cloudflare.com",
"url-test-interval": 300,
// 修改后
"connection-test-url": "http://www.gstatic.com/generate_204",
"url-test-interval": 30,
2. 添加详细调试信息
- ✅ SingBox 启动过程调试
- ✅ 配置文件保存调试
- ✅ 节点选择过程调试
- ✅ URL 测试过程调试
- ✅ 活动组状态监控
3. 优化节点延迟测试
- ✅ 增加详细的连接测试日志
- ✅ 改进错误处理和重试机制
- ✅ 添加测试前后状态对比
📊 测试结果
URL 连通性测试
- ✅
http://www.gstatic.com/generate_204- 连接正常 - ✅
http://cp.cloudflare.com- 连接正常 - ❌
http://www.cloudflare.com- 连接失败
预期效果
- 更快的节点测试:从 5 分钟间隔改为 30 秒
- 更稳定的测试 URL:使用 Google 的连通性测试服务
- 更详细的调试信息:便于问题定位和解决
🚀 下一步
- 重新运行应用:测试修复后的效果
- 观察日志:查看新的调试信息
- 验证节点延迟:确认延迟值是否正常更新
- 测试连接稳定性:验证连接是否稳定
📝 调试命令
# 运行应用并查看日志
flutter run -d macos --debug
# 测试 URL 连通性
./test_url_connectivity.sh
# 基础连接测试
./test_connection.sh
🔧 关键文件修改
-
lib/app/services/singbox_imp/kr_sing_box_imp.dart- 修复 URL 测试配置
- 添加详细调试信息
- 优化错误处理
-
lib/app/modules/kr_home/controllers/kr_home_controller.dart- 增强节点延迟测试日志
- 改进错误处理机制
-
新增调试脚本
test_connection.sh- 基础连接测试test_url_connectivity.sh- URL 连通性测试