feat: 更改节点测速
Build Windows / 编译 libcore (Windows) (20.15.1) (push) Successful in 20m53s
Build Windows / build (push) Has been cancelled

This commit is contained in:
2025-11-21 02:52:23 -08:00
parent 9123d5f0e4
commit becc03acfd
4 changed files with 104 additions and 56 deletions
@@ -1438,7 +1438,7 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
print('当前活动组----$group}');
// 处理全局 auto 模式
if (kr_cutTag.value == 'auto' && group.type == ProxyType.urltest && group.tag == 'auto') {
if (kr_cutTag.value.endsWith('auto') && group.type == ProxyType.urltest && group.tag == 'auto') {
final selectedNode = group.selected;
final node = kr_subscribeService.keyList[selectedNode];
return {
@@ -1447,21 +1447,7 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
'country': node?.country ?? '',
};
}
// 处理 country-auto 模式
if (kr_cutTag.value.endsWith('-auto') && group.type == ProxyType.urltest) {
if (group.tag == kr_cutTag.value) {
final selectedNode = group.selected;
final node = kr_subscribeService.keyList[selectedNode];
return {
'nodeName': selectedNode,
'delay': node?.urlTestDelay.value ?? -2,
'country': node?.country ?? '',
};
}
}
}
print('hhhhhh${kr_subscribeService.keyList}', );
// 处理 country-auto 模式的备用方案(当 SingBox 组数据不可用时)
if (kr_cutTag.value.endsWith('-auto')) {
@@ -2280,7 +2266,8 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
for (var node in allNodes) {
final delay = node.urlTestDelay.value;
if (delay > 0 && delay < 3000 && delay < fastestDelay) {
KRLogUtil.kr_w('🔍 检查节点 ${node.tag} 的延迟: $delay', tag: 'HomeController');
if (delay > 0 && delay < fastestDelay) {
fastestDelay = delay;
fastestNode = node;
}
@@ -2446,7 +2433,7 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
KRLogUtil.kr_d('找到 selector 组: ${group.tag}, 选中: ${group.selected}', tag: 'HomeController');
// 如果是auto模式,从urltest组获取延迟
if (kr_cutTag.value == "auto") {
if (kr_cutTag.value.endsWith('auto')) {
for (var item in group.items) {
if (item.tag == "auto" && item.urlTestDelay != 0) {
kr_currentNodeLatency.value = item.urlTestDelay;
@@ -2455,17 +2442,6 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
}
}
}
// 如果是国家-auto模式,从对应的国家urltest组获取延迟
else if (kr_cutTag.value.endsWith('-auto')) {
final countryCode = kr_cutTag.value.replaceAll('-auto', '');
for (var item in group.items) {
if (item.tag == kr_cutTag.value && item.urlTestDelay != 0) {
kr_currentNodeLatency.value = item.urlTestDelay;
KRLogUtil.kr_i('${countryCode}-auto模式延迟值: ${item.urlTestDelay}ms', tag: 'HomeController');
return true;
}
}
}
// 手动选择模式
else {
for (var item in group.items) {