diff --git a/app/Protocols/Shadowrocket.php b/app/Protocols/Shadowrocket.php index d889368..ca508e8 100644 --- a/app/Protocols/Shadowrocket.php +++ b/app/Protocols/Shadowrocket.php @@ -56,6 +56,9 @@ class Shadowrocket extends AbstractProtocol if ($item['type'] === 'anytls') { $uri .= self::buildAnyTLS($user['uuid'], $item); } + if ($item['type'] === 'socks') { + $uri .= self::buildSocks($user['uuid'], $item); + } } return response(base64_encode($uri)) ->header('content-type', 'text/plain'); @@ -320,4 +323,11 @@ class Shadowrocket extends AbstractProtocol $uri .= "\r\n"; return $uri; } + + public static function buildSocks($password, $server) + { + $uri = "socks://" . base64_encode("{$password}:{$password}@{$server['host']}:{$server['port']}") . "?method=auto"; + $uri .= "\r\n"; + return $uri; + } }