Browse Source

Add DNS field to Clash configuration (#1123)

* add DNS field to Clash configuration

* add DNS field to Clash configuration controller

* 更换为阿里巴巴DNSS

* 改用阿里DNS
Mashiro 5 years ago
parent
commit
b112fb6b0e
2 changed files with 23 additions and 0 deletions
  1. 22 0
      config/appprofile.example.php
  2. 1 0
      src/Controllers/ConfController.php

+ 22 - 0
config/appprofile.example.php

@@ -251,6 +251,28 @@ $_ENV['Clash_Profiles'] = [
             'external-controller' => '0.0.0.0:9090',
             'secret'              => ''
         ],
+        'DNS' => [
+            'enable'              => true,
+            'ipv6'                => false,
+            'listen'              => '0.0.0.0:53',
+            'enhanced-mode'       => 'fake-ip',
+            'fake-ip-range'       => '198.18.0.1/16',
+            'enable'              => true,
+            'nameserver'=>[
+                '114.114.114.114',
+                'tcp://223.5.5.5'
+            ],
+            'fallback'=>[
+                'tls://223.5.5.5:853',
+                'https://223.5.5.5/dns-query'
+            ],
+            'fallback-filter'=>[
+                'geoip'=> true,
+                'ipcidr'=>[
+                    '240.0.0.0/4'
+                ]
+            ]
+        ],
         'Proxy' => [],
         'ProxyGroup' => [
             [

+ 1 - 0
src/Controllers/ConfController.php

@@ -327,6 +327,7 @@ class ConfController extends BaseController
         }
 
         $tmp = $Configs['General'];
+        $tmp['dns'] = $Configs['DNS'];
         $tmp['proxies'] = $Proxys;
         if (isset($Configs['Proxy Group'])) {
             $Configs['ProxyGroup'] = $Configs['Proxy Group'];