From 690832e3eb61b1719d9c072d0b2e763115c13e69 Mon Sep 17 00:00:00 2001 From: xboard Date: Tue, 1 Jul 2025 00:49:55 +0800 Subject: [PATCH] feat: add socks protocol support for shadowrocket client --- app/Protocols/Shadowrocket.php | 10 ++++++++++ 1 file changed, 10 insertions(+) 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; + } }