$server['id'], 'remark' => $server['name'], 'server' => $server['host'], 'server_port' => $server['port'], 'password' => $server['passwd'], 'method' => $server['method'], ]; return $config; } public static function buildVmess($server) { $config = [ 'v' => '2', 'ps' => $server['name'], 'add' => $server['host'], 'port' => $server['port'], 'id' => $server['uuid'], 'aid' => $server['v2_alter_id'], 'net' => $server['v2_net'], 'type' => $server['v2_type'], 'host' => $server['v2_host'], 'path' => $server['v2_path'], 'tls' => $server['v2_tls'], 'sni' => $server['v2_sni'], ]; return 'vmess://'.base64_encode(json_encode($config)).PHP_EOL; } //vless://6478f959-c97c-43a2-a7de-256167db0f70@93.179.124.145:51510?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.amazon.com&fp=chrome&pbk=qhTzYYIgBzDLNYR79oxftqdo1kzL-1_hGJKfqrOliCY&type=tcp&headerType=none#93.179.124.145 public static function buildVless($server) { $config = [ 'v' => '2', 'ps' => $server['name'], 'add' => $server['host'], 'port' => $server['port'], 'id' => $server['uuid'], 'aid' => $server['v2_alter_id'], 'net' => $server['v2_net'], 'type' => $server['v2_type'], 'host' => $server['v2_host'], 'path' => $server['v2_path'], 'tls' => $server['v2_tls'], 'sni' => $server['v2_sni'], 'flow' => 'xtls-rprx-vision', 'security' => 'reality', 'fp' => 'chrome', 'pbk' => 'qhTzYYIgBzDLNYR79oxftqdo1kzL-1_hGJKfqrOliCY', 'headerType' => 'none', ]; return "vless://{$server['uuid']}@{$server['host']}:{$server['port']}?encryption=none&flow=xtls-rprx-vision&security=reality&sni={$server['v2_sni']}&fp=chrome&pbk=qhTzYYIgBzDLNYR79oxftqdo1kzL-1_hGJKfqrOliCY&type=tcp&headerType=none#{$server['name']}".PHP_EOL; // return 'vless://'.base64_encode(json_encode($config)).PHP_EOL; } public static function buildTrojan($server) { $name = rawurlencode($server['name']); $query = ''; if (array_key_exists('relay_server', $server)) { $query = "?sni={$server['relay_server']}"; } return "trojan://{$server['passwd']}@{$server['host']}:{$server['port']}{$query}#{$name}".PHP_EOL; } }