$server['name'], 'type' => 'ss', 'server' => $server['host'], 'port' => $server['port'], 'password' => $server['passwd'], 'cipher' => $server['method'], 'udp' => $server['udp'], ]; } public static function buildShadowsocksr($server) { return [ 'name' => $server['name'], 'type' => 'ssr', 'server' => $server['host'], 'port' => $server['port'], 'password' => $server['passwd'], 'cipher' => $server['method'], 'obfs' => $server['obfs'], 'obfsparam' => $server['obfs_param'], 'protocol' => $server['protocol'], 'protocolparam' => $server['protocol_param'], 'udp' => $server['udp'], ]; } public static function buildVmess($server) { $array = [ 'name' => $server['name'], 'type' => 'vmess', 'server' => $server['host'], 'port' => $server['port'], 'uuid' => $server['uuid'], 'alterId' => $server['v2_alter_id'], 'cipher' => $server['method'], 'udp' => $server['udp'], ]; if ($server['v2_tls']) { $array['tls'] = true; if (! empty($server['sni'])) { $array['servername'] = $server['sni']; } else if(!empty($server['v2_host'])){ $array['servername'] = $server['v2_host']; } } $array['network'] = $server['v2_net']; if ($server['v2_net'] === 'ws') { $array['ws-path'] = $server['v2_path']; $array['ws-headers'] = ['Host' => $server['v2_host']]; } return $array; } public static function buildVless($server) { $array = [ 'name' => $server['name'], 'type' => 'vless', 'server' => $server['host'], 'port' => $server['port'], 'uuid' => $server['uuid'], 'alterId' => $server['v2_alter_id'], 'udp' => $server['udp'], 'flow' => 'xtls-rprx-vision', 'servername' => $server['v2_sni'], 'tls' => true ]; //'reality-opts' => $server['v2_sni'], $array['reality-opts'] = ['public-key' => $server['vless_pulkey']]; $array['client-fingerprint'] = 'chrome'; return $array; } public static function buildTrojan($server) { $array = [ 'name' => $server['name'], 'type' => 'trojan', 'server' => $server['host'], 'port' => $server['port'], 'password' => $server['passwd'], 'udp' => $server['udp'], ]; if (! empty($server['sni'])) { $array['sni'] = $server['sni']; } return $array; } }