1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- const axios = require('axios');
- const yaml = require('yaml');
- async function testSubscription() {
- const subscriptionUrl = 'http://so.xfxssr.me/api/v1/client/subscribe?token=7854d59f38ac51700730b9e782c5160c';
-
- try {
- console.log('🔍 测试订阅URL...');
- console.log(`URL: ${subscriptionUrl}\n`);
-
- const response = await axios.get(subscriptionUrl, {
- timeout: 30000,
- headers: {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
- }
- });
- console.log('✅ 成功获取响应');
- console.log(`状态码: ${response.status}`);
- console.log(`内容长度: ${response.data.length} 字符`);
- console.log(`内容类型: ${response.headers['content-type'] || '未知'}\n`);
- // 显示前500个字符
- console.log('📄 响应内容预览 (前500字符):');
- console.log('='.repeat(50));
- console.log(response.data.substring(0, 500));
- console.log('='.repeat(50));
- console.log();
- // 尝试解析为YAML
- try {
- console.log('🔄 尝试解析为YAML...');
- const config = yaml.parse(response.data);
-
- if (config.proxies && Array.isArray(config.proxies)) {
- console.log(`✅ 成功解析YAML,找到 ${config.proxies.length} 个代理节点`);
-
- // 显示前几个节点的信息
- console.log('\n📋 前3个节点信息:');
- config.proxies.slice(0, 3).forEach((proxy, index) => {
- console.log(`${index + 1}. ${proxy.name} (${proxy.type}) - ${proxy.server}:${proxy.port}`);
- });
- } else {
- console.log('❌ YAML解析成功,但没有找到proxies数组');
- console.log('配置键:', Object.keys(config));
- }
- } catch (yamlError) {
- console.log('❌ YAML解析失败:', yamlError.message);
-
- // 尝试Base64解码
- try {
- console.log('\n🔄 尝试Base64解码...');
- const decoded = Buffer.from(response.data, 'base64').toString('utf8');
- console.log('✅ Base64解码成功');
- console.log('解码后内容长度:', decoded.length);
-
- const config = yaml.parse(decoded);
- if (config.proxies && Array.isArray(config.proxies)) {
- console.log(`✅ 成功解析Base64解码后的YAML,找到 ${config.proxies.length} 个代理节点`);
- } else {
- console.log('❌ Base64解码后仍没有找到proxies数组');
- }
- } catch (base64Error) {
- console.log('❌ Base64解码失败:', base64Error.message);
- }
- }
- } catch (error) {
- console.error('❌ 请求失败:', error.message);
- if (error.response) {
- console.error('状态码:', error.response.status);
- console.error('响应头:', error.response.headers);
- }
- }
- }
- testSubscription();
|