From 1f25edaaa4164df172d459249d6294533b55d027 Mon Sep 17 00:00:00 2001 From: tokumeikoi Date: Tue, 11 Jan 2022 23:39:17 +0800 Subject: [PATCH] update: stash regex --- app/Http/Controllers/Client/Protocols/Stash.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Client/Protocols/Stash.php b/app/Http/Controllers/Client/Protocols/Stash.php index d7192053..f93e4b8b 100644 --- a/app/Http/Controllers/Client/Protocols/Stash.php +++ b/app/Http/Controllers/Client/Protocols/Stash.php @@ -56,16 +56,17 @@ class Stash $isFilter = false; foreach ($config['proxy-groups'][$k]['proxies'] as $src) { foreach ($proxies as $dst) { + if (!$this->isRegex($src)) continue; + $isFilter = true; + $config['proxy-groups'][$k]['proxies'] = array_values(array_diff($config['proxy-groups'][$k]['proxies'], [$src])); if ($this->isMatch($src, $dst)) { - $isFilter = true; - $config['proxy-groups'][$k]['proxies'] = array_diff($config['proxy-groups'][$k]['proxies'], [$src]); array_push($config['proxy-groups'][$k]['proxies'], $dst); } } + if ($isFilter) continue; } - if (!$isFilter) { - $config['proxy-groups'][$k]['proxies'] = array_merge($config['proxy-groups'][$k]['proxies'], $proxies); - } + if ($isFilter) continue; + $config['proxy-groups'][$k]['proxies'] = array_merge($config['proxy-groups'][$k]['proxies'], $proxies); } // Force the current subscription domain to be a direct rule $subsDomain = $_SERVER['SERVER_NAME'];