// 测试 Trojan 连接问题的脚本
import 'dart:io';

void main() async {
  print('🔍 测试 Trojan 连接问题...');
  
  // 测试服务器连接
  final server = '156.224.78.176';
  final port = 27639;
  
  print('📡 测试服务器连接: $server:$port');
  
  try {
    final socket = await Socket.connect(server, port, timeout: Duration(seconds: 10));
    print('✅ TCP 连接成功');
    socket.destroy();
  } catch (e) {
    print('❌ TCP 连接失败: $e');
  }
  
  // 测试 DNS 解析
  print('🌐 测试 DNS 解析...');
  try {
    final addresses = await InternetAddress.lookup('baidu.com');
    print('✅ baidu.com 解析成功: ${addresses.map((a) => a.address).join(', ')}');
  } catch (e) {
    print('❌ baidu.com 解析失败: $e');
  }
  
  // 测试服务器地址解析
  try {
    final addresses = await InternetAddress.lookup(server);
    print('✅ 服务器地址解析成功: ${addresses.map((a) => a.address).join(', ')}');
  } catch (e) {
    print('❌ 服务器地址解析失败: $e');
  }
  
  print('🔧 建议的修复方案:');
  print('1. 将 server_name 改为服务器实际域名或 IP');
  print('2. 或者设置 insecure: true 跳过证书验证');
  print('3. 检查服务器是否支持 baidu.com 作为 SNI');
}
