123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- <?php
- namespace App\Components\Client;
- class Surge
- {
- public static function buildShadowsocks($server)
- {
- $config = [
- "{$server['name']}=ss",
- "{$server['host']}",
- "{$server['port']}",
- "encrypt-method={$server['method']}",
- "password={$server['passwd']}",
- 'tfo=true',
- "udp-relay={$server['udp']}",
- ];
- $config = array_filter($config);
- return implode(',', $config).PHP_EOL;
- }
- public static function buildVmess($server)
- {
- $config = [
- "{$server['name']}=vmess",
- "{$server['host']}",
- "{$server['port']}",
- "username={$server['uuid']}",
- 'vmess-aead=true',
- 'tfo=true',
- "udp-relay={$server['udp']}",
- ];
- if ($server['v2_tls']) {
- $config[] = 'tls=true';
- if(!empty($server['v2_sni']))
- {
- $config[] = 'skip-cert-verify=false';
-
- }
- else {
- $config[] = 'skip-cert-verify=true';
- }
-
- if(!empty($server['v2_host'])){
- $config[] = "sni={$server['v2_host']}";
- }
- else {
- $config[] = "sni={$server['v2_sni']}";
- }
- }
- if ($server['v2_net'] === 'ws') {
- $config[] = 'ws=true';
- $config[] = "ws-path={$server['v2_path']}";
- $config[] = "ws-headers=Host:{$server['v2_host']}";
- }
- return implode(',', $config).PHP_EOL;
- }
- public static function buildTrojan($server)
- {
- $config = [
- "{$server['name']}=trojan",
- "{$server['host']}",
- "{$server['port']}",
- "password={$server['passwd']}",
- $server['sni'] ? "sni={$server['sni']}" : '',
- 'tfo=true',
- "udp-relay={$server['udp']}",
- ];
- $config = array_filter($config);
- return implode(',', $config).PHP_EOL;
- }
- }
|