LighthouseApp/SINGBOX_URL_TEST_DEBUG.md
speakeloudest 75d4c48e41
Some checks failed
Build Windows / build (push) Has been cancelled
feat: 源码提交
2025-10-19 23:30:54 -07:00

99 lines
2.8 KiB
Markdown
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SingBox URL 测试调试分析
## 🔍 问题分析
从日志分析发现:
### 1. **配置已正确更新** ✅
```
URLTestOptions:{ConnectionTestUrl:http://connectivitycheck.gstatic.com/generate_204 URLTestInterval:30}
```
- ✅ 测试 URL: `http://connectivitycheck.gstatic.com/generate_204`
- ✅ 测试间隔: 30 秒
### 2. **核心问题:节点延迟始终为 0** ❌
```
└─ 节点[0]: tag=auto, type=ProxyType.urltest, delay=0
└─ 节点[0]: tag=香港, type=ProxyType.trojan, delay=0
```
**问题原因**SingBox 的 URL 测试功能没有正常工作,导致所有节点的延迟值始终为 0。
### 3. **活动组更新过于频繁** ⚠️
日志显示活动组几乎每秒都在更新,这可能导致性能问题。
## 🛠️ 解决方案
### 1. **添加手动 URL 测试功能**
- 新增 `kr_manualUrlTest()` 方法用于调试
- 直接调用 SingBox 的 URL 测试 API
- 等待测试完成并检查结果
### 2. **增强调试信息**
-`kr_urlTest()` 中添加详细的测试过程日志
- 测试前后对比活动组状态
- 显示连接状态和测试方法
### 3. **可能的问题原因**
#### A. **SingBox 配置问题**
- URL 测试功能可能没有正确启用
- 测试 URL 可能无法访问
- 测试间隔设置可能有问题
#### B. **API 调用问题**
- `urlTest()` 方法可能没有正确调用
- 原生库的 URL 测试功能可能有问题
- 测试结果可能没有正确返回
#### C. **网络问题**
- 测试 URL 可能被防火墙阻止
- 网络连接可能有问题
- DNS 解析可能有问题
## 🧪 调试步骤
### 1. **手动触发 URL 测试**
```dart
// 在应用中调用
await homeController.kr_manualUrlTest();
```
### 2. **检查 SingBox 日志**
查看 SingBox 的日志文件,确认是否有 URL 测试相关的日志。
### 3. **验证测试 URL**
```bash
curl -I "http://connectivitycheck.gstatic.com/generate_204"
```
### 4. **检查网络连接**
```bash
ping connectivitycheck.gstatic.com
nslookup connectivitycheck.gstatic.com
```
## 📊 预期结果
如果 URL 测试正常工作,应该看到:
```
└─ 节点[0]: tag=auto, type=ProxyType.urltest, delay=150
└─ 节点[0]: tag=香港, type=ProxyType.trojan, delay=200
```
延迟值应该是实际的毫秒数,而不是 0 或 65535。
## 🔧 下一步调试
1. **运行应用并手动触发 URL 测试**
2. **观察新的调试日志**
3. **检查 SingBox 原生日志**
4. **验证网络连接**
5. **如果问题持续,考虑使用直接连接测试作为备选方案**
## 📝 关键文件
- `lib/app/modules/kr_home/controllers/kr_home_controller.dart` - 添加了手动测试方法
- `lib/app/services/singbox_imp/kr_sing_box_imp.dart` - SingBox 配置和 URL 测试
- `lib/singbox/service/ffi_singbox_service.dart` - 原生库 URL 测试实现