const SpeedTester = require('./src/core/speedTester'); const logger = require('./src/utils/logger'); // 测试无效节点 const invalidNodes = [ { id: 1, name: '最新官网:so.xfxssr.me', type: 'ss', server: '最新官网:so.xfxssr.me', port: 1080, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' }, { id: 2, name: 'x 代表使用倍率', type: 'ss', server: 'x 代表使用倍率', port: 1080, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' }, { id: 3, name: '用不了,请更新订阅', type: 'ss', server: '用不了,请更新订阅', port: 1080, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' }, { id: 4, name: '永久地址请查看活动公告', type: 'ss', server: 'https://sulinkcloud.github.io/', port: 55626, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' } ]; // 测试有效节点作为对比 const validNodes = [ { id: 5, name: '香港01', type: 'ss', server: 'gya.tangu.win', port: 19630, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' }, { id: 6, name: '香港04', type: 'ss', server: 'gya.tangu.win', port: 15635, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' }, { id: 7, name: '美国01', type: 'ss', server: 'gya.tangu.win', port: 15532, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' }, { id: 8, name: '香港04-备用', type: 'ss', server: 'qqa813.198139.xyz', port: 26642, password: '235a4cf6-9663-467d-a66f-9bf7cbd31f16', cipher: 'chacha20-ietf-poly1305' } ]; async function testNodes() { const speedTester = new SpeedTester(); console.log('=== 测试无效节点 ==='); let invalidSuccessCount = 0; let invalidFailCount = 0; for (const node of invalidNodes) { console.log(`\n测试节点: ${node.name}`); console.log(`服务器: ${node.server}`); console.log(`类型: ${node.type}`); try { const result = await speedTester.testNode(node); if (result.isSuccess) { console.log(`结果: ✅ 成功 (这不应该发生!)`); invalidSuccessCount++; } else { console.log(`结果: ❌ 失败 (正确)`); console.log(`错误: ${result.errorMessage}`); invalidFailCount++; } } catch (error) { console.log(`异常: ${error.message}`); invalidFailCount++; } } console.log('\n=== 测试有效节点 ==='); let validSuccessCount = 0; let validFailCount = 0; for (const node of validNodes) { console.log(`\n测试节点: ${node.name}`); console.log(`服务器: ${node.server}`); console.log(`类型: ${node.type}`); try { const result = await speedTester.testNode(node); if (result.isSuccess) { console.log(`结果: ✅ 成功`); validSuccessCount++; } else { console.log(`结果: ❌ 失败`); console.log(`错误: ${result.errorMessage}`); validFailCount++; } } catch (error) { console.log(`异常: ${error.message}`); validFailCount++; } } console.log('\n=== 测试总结 ==='); console.log(`无效节点: ${invalidFailCount}/${invalidNodes.length} 正确失败`); console.log(`有效节点: ${validSuccessCount}/${validNodes.length} 成功连接`); console.log(`总成功率: ${validSuccessCount}/${invalidNodes.length + validNodes.length} (${((validSuccessCount/(invalidNodes.length + validNodes.length))*100).toFixed(1)}%)`); if (invalidSuccessCount === 0 && validSuccessCount > 0) { console.log('✅ 修复成功!无效节点被正确识别,有效节点可以正常测试'); } else if (invalidSuccessCount > 0) { console.log('❌ 修复不完整,仍有无效节点显示为成功'); } else if (validSuccessCount === 0) { console.log('❌ 修复过于严格,有效节点也被阻止了'); } } // 运行测试 testNodes().catch(console.error);