Selaa lähdekoodia

update: clash x compatibility

v2board 2 vuotta sitten
vanhempi
sitoutus
01a6723e3e
1 muutettua tiedostoa jossa 8 lisäystä ja 0 poistoa
  1. 8 0
      app/Http/Controllers/Client/Protocols/Clash.php

+ 8 - 0
app/Http/Controllers/Client/Protocols/Clash.php

@@ -34,6 +34,7 @@ class Clash
         } else {
             $config = Yaml::parseFile($defaultConfig);
         }
+        $this->patch($config);
         $proxy = [];
         $proxies = [];
 
@@ -173,4 +174,11 @@ class Clash
     {
         return @preg_match($exp, null) !== false;
     }
+
+    private function patch(&$config)
+    {
+        // fix clash x dns mode
+        preg_match('#(ClashX)[/ ]([0-9.]*)#', $_SERVER['HTTP_USER_AGENT'], $matches);
+        if ($matches[2] < '1.96.2') $config['dns']['enhanced-mode'] = 'redir-host';
+    }
 }