feat: add socks protocol support for shadowrocket client

This commit is contained in:
xboard
2025-07-01 00:49:55 +08:00
parent 5b295dbec3
commit 690832e3eb
+10
View File
@@ -56,6 +56,9 @@ class Shadowrocket extends AbstractProtocol
if ($item['type'] === 'anytls') { if ($item['type'] === 'anytls') {
$uri .= self::buildAnyTLS($user['uuid'], $item); $uri .= self::buildAnyTLS($user['uuid'], $item);
} }
if ($item['type'] === 'socks') {
$uri .= self::buildSocks($user['uuid'], $item);
}
} }
return response(base64_encode($uri)) return response(base64_encode($uri))
->header('content-type', 'text/plain'); ->header('content-type', 'text/plain');
@@ -320,4 +323,11 @@ class Shadowrocket extends AbstractProtocol
$uri .= "\r\n"; $uri .= "\r\n";
return $uri; 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;
}
} }