From 95cba4c8d1222b5b6911108979cea6e664221cf3 Mon Sep 17 00:00:00 2001 From: mercury Date: Wed, 10 Dec 2025 01:33:21 +0400 Subject: [PATCH] improved issuance of routing rules vless: ip or domains --- app/bot.php | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/app/bot.php b/app/bot.php index c0c50bb..f58847a 100644 --- a/app/bot.php +++ b/app/bot.php @@ -7943,17 +7943,11 @@ DNS-over-HTTPS with IP: case 'package': echo yaml_emit(['payload' => array_map(fn($e) => "PROCESS-NAME,$e", $v['list'])]); break; - case 'pac': - echo yaml_emit(['payload' => array_map(fn($e) => "+.$e", $v['list'])]); - break; - case 'subnet': - echo yaml_emit(['payload' => array_map(fn($e) => $e, $v['list'])]); - break; default: 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"; + if (preg_match('~^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(/\d{1,2})?$~', $e, $m)) { + return "IP-CIDR,$e" . (empty($m[1]) ? '/32' : ''); } else { return "DOMAIN-SUFFIX,$e"; } @@ -8054,10 +8048,10 @@ DNS-over-HTTPS with IP: foreach ($rules as $k => $v) { if (array_key_exists('domain_suffix', $v)) { foreach ($v['domain_suffix'] as $j) { - if (!preg_match('~^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(/\d{1,2})?$~', $j)) { + if (!preg_match('~^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(/\d{1,2})?$~', $j, $m)) { $domains[] = $j; } else { - $ips[] = $j; + $ips[] = $j . (empty($m[1]) ? '/32' : ''); } } unset($rules[$k]['domain_suffix']);