12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- #!/usr/bin/env node
- require('dotenv').config();
- const SubscriptionManager = require('./src/core/subscriptionManager');
- const logger = require('./src/utils/logger');
- async function testSubscription() {
- console.log('🧪 测试订阅功能...\n');
- try {
- const subscriptionManager = new SubscriptionManager();
-
- console.log('📋 订阅配置信息:');
- console.log(` 订阅地址: ${subscriptionManager.subscriptionUrl}`);
- console.log(` 更新间隔: ${subscriptionManager.updateInterval / 1000}秒\n`);
- console.log('🔄 开始获取订阅配置...');
- const config = await subscriptionManager.fetchSubscription();
-
- console.log('✅ 订阅配置获取成功!');
- console.log(` 节点数量: ${config.proxies.length}`);
-
- console.log('\n📊 节点类型统计:');
- const typeStats = {};
- config.proxies.forEach(proxy => {
- typeStats[proxy.type] = (typeStats[proxy.type] || 0) + 1;
- });
-
- Object.entries(typeStats).forEach(([type, count]) => {
- console.log(` ${type}: ${count}个`);
- });
- console.log('\n🔍 前5个节点信息:');
- config.proxies.slice(0, 5).forEach((proxy, index) => {
- console.log(` ${index + 1}. ${proxy.name} (${proxy.type}) - ${proxy.server}:${proxy.port}`);
- });
- console.log('\n🔄 开始更新节点列表...');
- const result = await subscriptionManager.updateNodes();
-
- console.log('✅ 节点列表更新完成!');
- console.log(` 总节点数: ${result.updated}`);
- console.log(` 新增节点: ${result.added}`);
- console.log(` 更新节点: ${result.updated - result.added}`);
- console.log(` 移除节点: ${result.removed}`);
- console.log('\n🎉 订阅功能测试完成!');
- } catch (error) {
- console.error('❌ 订阅测试失败:', error.message);
- console.error(' 详细错误:', error);
- process.exit(1);
- }
- }
- // 如果直接运行此文件
- if (require.main === module) {
- testSubscription();
- }
- module.exports = { testSubscription };
|