test-subscription-content.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. const axios = require('axios');
  2. const yaml = require('yaml');
  3. async function testSubscription() {
  4. const subscriptionUrl = 'http://so.xfxssr.me/api/v1/client/subscribe?token=7854d59f38ac51700730b9e782c5160c';
  5. try {
  6. console.log('🔍 测试订阅URL...');
  7. console.log(`URL: ${subscriptionUrl}\n`);
  8. const response = await axios.get(subscriptionUrl, {
  9. timeout: 30000,
  10. headers: {
  11. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
  12. }
  13. });
  14. console.log('✅ 成功获取响应');
  15. console.log(`状态码: ${response.status}`);
  16. console.log(`内容长度: ${response.data.length} 字符`);
  17. console.log(`内容类型: ${response.headers['content-type'] || '未知'}\n`);
  18. // 显示前500个字符
  19. console.log('📄 响应内容预览 (前500字符):');
  20. console.log('='.repeat(50));
  21. console.log(response.data.substring(0, 500));
  22. console.log('='.repeat(50));
  23. console.log();
  24. // 尝试解析为YAML
  25. try {
  26. console.log('🔄 尝试解析为YAML...');
  27. const config = yaml.parse(response.data);
  28. if (config.proxies && Array.isArray(config.proxies)) {
  29. console.log(`✅ 成功解析YAML,找到 ${config.proxies.length} 个代理节点`);
  30. // 显示前几个节点的信息
  31. console.log('\n📋 前3个节点信息:');
  32. config.proxies.slice(0, 3).forEach((proxy, index) => {
  33. console.log(`${index + 1}. ${proxy.name} (${proxy.type}) - ${proxy.server}:${proxy.port}`);
  34. });
  35. } else {
  36. console.log('❌ YAML解析成功,但没有找到proxies数组');
  37. console.log('配置键:', Object.keys(config));
  38. }
  39. } catch (yamlError) {
  40. console.log('❌ YAML解析失败:', yamlError.message);
  41. // 尝试Base64解码
  42. try {
  43. console.log('\n🔄 尝试Base64解码...');
  44. const decoded = Buffer.from(response.data, 'base64').toString('utf8');
  45. console.log('✅ Base64解码成功');
  46. console.log('解码后内容长度:', decoded.length);
  47. const config = yaml.parse(decoded);
  48. if (config.proxies && Array.isArray(config.proxies)) {
  49. console.log(`✅ 成功解析Base64解码后的YAML,找到 ${config.proxies.length} 个代理节点`);
  50. } else {
  51. console.log('❌ Base64解码后仍没有找到proxies数组');
  52. }
  53. } catch (base64Error) {
  54. console.log('❌ Base64解码失败:', base64Error.message);
  55. }
  56. }
  57. } catch (error) {
  58. console.error('❌ 请求失败:', error.message);
  59. if (error.response) {
  60. console.error('状态码:', error.response.status);
  61. console.error('响应头:', error.response.headers);
  62. }
  63. }
  64. }
  65. testSubscription();