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 = <<