$server['name'], 'type' => 'shadowsocks', 'server' => $server['host'], 'server_port' => $server['port'], 'password' => $server['passwd'], 'method' => $server['method'], ]; } public static function buildVmess($server) { $array = [ 'tag' => $server['name'], 'type' => 'vmess', 'server' => $server['host'], 'server_port' => $server['port'], 'uuid' => $server['uuid'], 'alter_id' => $server['v2_alter_id'], 'security' => $server['method'], ]; if ($server['v2_tls']) { $array['tls'] = true; $array['insecure'] = !empty($server['sni']); if (! empty($server['sni'])) { $array['server_name'] = $server['sni']; } else if(!empty($server['v2_host'])){ $array['server_name'] = $server['v2_host']; } } $array['network'] = $server['v2_net']; if ($server['v2_net'] === 'ws') { $array['transport']['path'] = $server['v2_path']; $array['transport']['headers'] = ['Host' => $server['v2_host']]; } return $array; } public static function buildVless($server) { $array = [ 'tag' => $server['name'], 'type' => 'vless', 'server' => $server['host'], 'server_port' => $server['port'], 'uuid' => $server['uuid'], //'alter_id' => $server['v2_alter_id'], 'flow' => 'xtls-rprx-vision', "packet_encoding" => "xudp" //'server_name' => $server['v2_sni'], // 'tls' => ['enabled' => true,"server_name"=>$server['v2_host']], ]; //'reality-opts' => $server['v2_sni'], $tlsConfig = []; $tlsConfig['enabled'] = true; if (!empty($server['v2_sni'])) { $tlsConfig['server_name'] = $server['v2_sni']; } else if(!empty($server['v2_host'])){ $tlsConfig['server_name'] = $server['v2_host']; } $tlsConfig['reality'] = ["enabled"=>true,'public_key' => $server['vless_pulkey']]; $tlsConfig['utls'] = ['enabled' => true,'fingerprint'=> 'chrome']; $array['tls'] = $tlsConfig; return $array; } public static function buildTrojan($server) { $array = [ 'tag' => $server['name'], 'type' => 'trojan', 'server' => $server['host'], 'server_port' => $server['port'], 'password' => $server['passwd'], ]; $tlsConfig = []; $tlsConfig['enabled'] = true; if (!empty($server['sni'])) { $tlsConfig['server_name'] = $server['sni']; } $array['tls'] = $tlsConfig; return $array; } }