Browse Source

update: stash regex

tokumeikoi 3 years ago
parent
commit
1f25edaaa4
1 changed files with 6 additions and 5 deletions
  1. 6 5
      app/Http/Controllers/Client/Protocols/Stash.php

+ 6 - 5
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'];