diff --git a/app/bot.php b/app/bot.php index 4568fd4..ac76959 100644 --- a/app/bot.php +++ b/app/bot.php @@ -7487,17 +7487,29 @@ DNS-over-HTTPS with IP: if (!empty($_GET['r']) && $v['name'] == $_GET['r']) { header("Content-Disposition: attachment; filename={$v['name']}.yaml"); header('Content-Type: text/yaml'); - switch ($v['behavior']) { - case 'domain': + switch ($v['name']) { + case 'process': + case 'package': + echo yaml_emit(['payload' => array_map(fn($e) => "PROCESS-NAME,$e", $v['list'])]); + break; + case 'block': + case 'pac': echo yaml_emit(['payload' => array_map(fn($e) => "+.$e", $v['list'])]); break; - case 'ipcidr': + case 'subnet': echo yaml_emit(['payload' => array_map(fn($e) => $e, $v['list'])]); break; default: - echo yaml_emit(['payload' => array_map(fn($e) => "PROCESS-NAME,$e", $v['list'])]); + echo yaml_emit(['payload' => array_map(function($e) { + if (preg_match('~^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(/\d{1,2})?$~', $e)) { + return "IP-CIDR,$e"; + } else { + return "DOMAIN-SUFFIX,$e"; + } + }, $v['list'])]); break; + } exit; } diff --git a/config/clash.json b/config/clash.json index aeeb407..5b75db1 100644 --- a/config/clash.json +++ b/config/clash.json @@ -123,7 +123,7 @@ "list": "~warp~", "action": "PROXY", "interval": 30, - "behavior": "domain", + "behavior": "classical", "name": "warp" }, {