diff --git a/app/bot.php b/app/bot.php index 70a24b3..1e6ef1a 100644 --- a/app/bot.php +++ b/app/bot.php @@ -2776,9 +2776,9 @@ DNS-over-HTTPS with IP: RU blacklist: https://github.com/zapret-info/z-i - {$this->i18n('self list')}{$this->i18n('self list explain')} + {$this->i18n('proxy')}{$this->i18n('self list explain')} - {$this->i18n('reverse list')}{$this->i18n('reverse list explain')} + {$this->i18n('direct')}{$this->i18n('reverse list explain')} text; if ($pac) { $pac['time'] = date('d.m.Y H:i:s', $pac['mtime']); @@ -2868,15 +2868,16 @@ DNS-over-HTTPS with IP: } $data[] = [ [ - 'text' => $this->i18n('self list'), + 'text' => $this->i18n('proxy'), + 'callback_data' => "/menu includelist 0", 'callback_data' => "/menu includelist 0", ], + // [ + // 'text' => $this->i18n('subzones'), + // 'callback_data' => "/menu subzoneslist 0", + // ], [ - 'text' => $this->i18n('subzones'), - 'callback_data' => "/menu subzoneslist 0", - ], - [ - 'text' => $this->i18n('reverse list'), + 'text' => $this->i18n('direct'), 'callback_data' => "/menu reverselist 0", ], ]; @@ -2908,7 +2909,15 @@ DNS-over-HTTPS with IP: { $count = $this->limit; $name = str_replace('list', '', $type); - $text = "Menu -> pac -> {$name}list\n\n"; + switch ($name) { + case 'include': + $additional = $this->i18n('self list explain'); + break; + case 'reverse': + $additional = $this->i18n('reverse list explain'); + break; + } + $text = "Menu -> pac -> {$name}list\n\n$additional"; $data[] = [ [ 'text' => $this->i18n('add'), diff --git a/app/i18n.php b/app/i18n.php index fdf02b5..a1fb818 100644 --- a/app/i18n.php +++ b/app/i18n.php @@ -166,12 +166,12 @@ $i = [ 'ru' => 'Некоторым клиентам требуется валидный сертификат при подключении, например Windows 11 DoH или ShadowSocks Android (URL-адрес PAC), для этого требуется домен', ], 'self list explain' => [ - 'en' => ' - domains that will work through a proxy', - 'ru' => ' - домены, которые будут работать через прокси', + 'en' => ' - domains that will work through a proxy, all others directly', + 'ru' => ' - домены, которые будут работать через прокси, все остальные напрямую', ], 'reverse list explain' => [ - 'en' => ' - domains that will work without a proxy, all others through a proxy', - 'ru' => ' - домены которые будут работать без прокси, все остальные через прокси', + 'en' => ' - domains that will work directly, all others through a proxy', + 'ru' => ' - домены которые будут работать напрямую, все остальные через прокси', ], 'timer' => [ 'en' => 'set timer', diff --git a/app/updatepac.php b/app/updatepac.php index 5410bbf..cbbe173 100644 --- a/app/updatepac.php +++ b/app/updatepac.php @@ -218,8 +218,19 @@ function start() $text .= $tail ? "$tail\n" : ''; // create pac - $domains = elzw(json_encode($t)); - $pac = 'function FindProxyForURL(t,e){"indexOf"in Array.prototype||(Array.prototype.indexOf=function(t,e){void 0===e&&(e=0),e<0&&(e+=this.length),e<0&&(e=0);for(var n=this.length;e0&&(keys[code]=phrase+(cc<256?text[e]:keys[cc][0]),code++),phrase=cc<256?text[e]:keys[cc]}return o});var n=JSON.parse(\'' . $domains . '\'.dlzw()),r=(/\.(' . implode('|', $subzones) . ')\.[^.]+$/.test(e)?e.replace(/(.+)\.([^.]+\.[^.]+\.[^.]+$)/,"$2"):e.replace(/(.+)\.([^.]+\.[^.]+$)/,"$2")).replace(/^www\.(.+)/,"$1").match(/(.*)\.([^.]+$)/);if(console.log(n,r),!r||!r[2])return"DIRECT";var o=r[1],i=r[2],a=[];if(n.hasOwnProperty(i)&&n[i].hasOwnProperty(o.length)){if("string"==typeof n[i][o.length]){var l=RegExp(".{"+o.length.toString()+"}","g");n[i][o.length]=n[i][o.length].match(l)}a=n[i][o.length]}return -1!==a.indexOf(o)?"SOCKS5 ~address~:~port~; DIRECT":"DIRECT"}'; + $domains = json_encode($t); + $pac = << $x == true); if (empty($domains)) { - $text .= "Empty reverse domains. Delete reverse pac files"; + // $text .= "Empty reverse domains. Delete reverse pac files"; unlink(__DIR__ . '/zapretlists/rmpac'); unlink(__DIR__ . '/zapretlists/rpac'); } else { @@ -258,8 +269,19 @@ function start() // fclose($f); $text .= $tail ? "$tail\n" : ''; - $domains = elzw(json_encode($t)); - $pac = 'function FindProxyForURL(t,e){"indexOf"in Array.prototype||(Array.prototype.indexOf=function(t,e){void 0===e&&(e=0),e<0&&(e+=this.length),e<0&&(e=0);for(var n=this.length;e0&&(keys[code]=phrase+(cc<256?text[e]:keys[cc][0]),code++),phrase=cc<256?text[e]:keys[cc]}return o});var n=JSON.parse(\'' . $domains . '\'.dlzw()),r=(/\.(' . implode('|', $subzones) . ')\.[^.]+$/.test(e)?e.replace(/(.+)\.([^.]+\.[^.]+\.[^.]+$)/,"$2"):e.replace(/(.+)\.([^.]+\.[^.]+$)/,"$2")).replace(/^www\.(.+)/,"$1").match(/(.*)\.([^.]+$)/);if(console.log(n,r),!r||!r[2])return"DIRECT";var o=r[1],i=r[2],a=[];if(n.hasOwnProperty(i)&&n[i].hasOwnProperty(o.length)){if("string"==typeof n[i][o.length]){var l=RegExp(".{"+o.length.toString()+"}","g");n[i][o.length]=n[i][o.length].match(l)}a=n[i][o.length]}return -1!==a.indexOf(o)?"DIRECT":"SOCKS5 ~address~:~port~"}'; + $domains = json_encode($t); + $pac = <<