option set/delete internal dns for wireguard peer
This commit is contained in:
+28
-1
@@ -180,6 +180,12 @@ class Bot
|
||||
case preg_match('~^/delete (?P<arg>\d+(?:_(?:-)?\d+)?)$~', $this->input['callback'], $m):
|
||||
$this->deletePeer(...explode('_', $m['arg']));
|
||||
break;
|
||||
case preg_match('~^/dns (?P<arg>\d+(?:_(?:-)?\d+)?)$~', $this->input['callback'], $m):
|
||||
$this->dnsPeer(...explode('_', $m['arg']));
|
||||
break;
|
||||
case preg_match('~^/deletedns (?P<arg>\d+(?:_(?:-)?\d+)?)$~', $this->input['callback'], $m):
|
||||
$this->deletednsPeer(...explode('_', $m['arg']));
|
||||
break;
|
||||
case preg_match('~^/deldomain$~', $this->input['callback'], $m):
|
||||
$this->delDomain();
|
||||
break;
|
||||
@@ -1271,6 +1277,22 @@ DNS-over-HTTPS with IP:
|
||||
}
|
||||
}
|
||||
|
||||
public function dnsPeer($client, $page)
|
||||
{
|
||||
$clients = $this->readClients();
|
||||
$clients[$client]['interface']['DNS'] = '10.10.0.5';
|
||||
$this->saveClients($clients);
|
||||
$this->menu('client', "{$client}_$page");
|
||||
}
|
||||
|
||||
public function deletednsPeer($client, $page)
|
||||
{
|
||||
$clients = $this->readClients();
|
||||
unset($clients[$client]['interface']['DNS']);
|
||||
$this->saveClients($clients);
|
||||
$this->menu('client', "{$client}_$page");
|
||||
}
|
||||
|
||||
public function statusWg(int $page = 0)
|
||||
{
|
||||
$conf = $this->readConfig();
|
||||
@@ -1355,6 +1377,12 @@ DNS-over-HTTPS with IP:
|
||||
'callback_data' => "/download $client",
|
||||
],
|
||||
],
|
||||
[
|
||||
[
|
||||
'text' => $this->i18n($clients[$client]['interface']['DNS'] ? 'delete internal dns' : 'set internal dns'),
|
||||
'callback_data' => "/" . ($clients[$client]['interface']['DNS'] ? 'delete' : '') . "dns {$client}_$page",
|
||||
],
|
||||
],
|
||||
[
|
||||
[
|
||||
'text' => $this->i18n('delete'),
|
||||
@@ -2154,7 +2182,6 @@ DNS-over-HTTPS with IP:
|
||||
'PrivateKey' => $private_peer_key,
|
||||
'Address' => "$client_ip/32",
|
||||
'MTU' => 1350,
|
||||
// 'DNS' => '10.10.0.5',
|
||||
],
|
||||
'peers' => [
|
||||
[
|
||||
|
||||
+44
-40
@@ -46,51 +46,55 @@ $i = [
|
||||
'reverse list explain' => ' - domains that will work without a proxy, all others through a proxy',
|
||||
'timer' => 'set timer',
|
||||
'reset nginx' => 'reset nginx',
|
||||
'set internal dns' => 'set internal dns',
|
||||
'delete internal dns' => 'delete internal dns',
|
||||
],
|
||||
'ru' => [
|
||||
'wg_title' => 'Wireguard',
|
||||
'sh_title' => 'Shadowsocks',
|
||||
'ad_title' => 'AdGuard',
|
||||
'config' => 'настройки',
|
||||
'pac' => 'PAC',
|
||||
'chat' => 'чат поддержки',
|
||||
'back' => 'назад',
|
||||
'import' => 'импорт',
|
||||
'export' => 'экспорт',
|
||||
'delete' => 'удалить',
|
||||
'add' => 'добавить',
|
||||
'donate' => 'донат',
|
||||
'admin' => 'админа',
|
||||
'menu' => 'Меню',
|
||||
'update status' => 'обновить статус',
|
||||
'add peer' => 'добавить клиента',
|
||||
'all traffic' => 'весь трафик',
|
||||
'subnet' => 'подсеть',
|
||||
'proxy ip' => 'айпи прокси',
|
||||
'rename' => 'переименовать',
|
||||
'show QR' => 'показать QR',
|
||||
'download config' => 'скачать настройки',
|
||||
'install domain' => 'установить домен',
|
||||
'renew SSL' => 'обновить SSL',
|
||||
'delete SSL' => 'удалить SSL',
|
||||
'Letsencrypt SSL' => 'Letsencrypt SSL',
|
||||
'Self SSL' => 'Собственный SSL',
|
||||
'change password' => 'изменить пароль',
|
||||
'reset settings' => 'сбросить настройки',
|
||||
'add upstream' => 'добавить DNS',
|
||||
'check DNS' => 'проверить DNS',
|
||||
'update' => 'обновить',
|
||||
'self list' => 'собственный список',
|
||||
'reverse list' => 'обратный список',
|
||||
'subzones' => 'поддомены',
|
||||
'check url' => 'проверить домен',
|
||||
'lang' => 'язык',
|
||||
'blacklist exclude' => 'список исключений из блэклиста',
|
||||
'adguard web' => 'вебморда адгварда',
|
||||
'domain explain' => 'Некоторым клиентам требуется валидный сертификат при подключении, например Windows 11 DoH или ShadowSocks Android (URL-адрес PAC), для этого требуется домен',
|
||||
'wg_title' => 'Wireguard',
|
||||
'sh_title' => 'Shadowsocks',
|
||||
'ad_title' => 'AdGuard',
|
||||
'config' => 'настройки',
|
||||
'pac' => 'PAC',
|
||||
'chat' => 'чат поддержки',
|
||||
'back' => 'назад',
|
||||
'import' => 'импорт',
|
||||
'export' => 'экспорт',
|
||||
'delete' => 'удалить',
|
||||
'add' => 'добавить',
|
||||
'donate' => 'донат',
|
||||
'admin' => 'админа',
|
||||
'menu' => 'Меню',
|
||||
'update status' => 'обновить статус',
|
||||
'add peer' => 'добавить клиента',
|
||||
'all traffic' => 'весь трафик',
|
||||
'subnet' => 'подсеть',
|
||||
'proxy ip' => 'айпи прокси',
|
||||
'rename' => 'переименовать',
|
||||
'show QR' => 'показать QR',
|
||||
'download config' => 'скачать настройки',
|
||||
'install domain' => 'установить домен',
|
||||
'renew SSL' => 'обновить SSL',
|
||||
'delete SSL' => 'удалить SSL',
|
||||
'Letsencrypt SSL' => 'Letsencrypt SSL',
|
||||
'Self SSL' => 'Собственный SSL',
|
||||
'change password' => 'изменить пароль',
|
||||
'reset settings' => 'сбросить настройки',
|
||||
'add upstream' => 'добавить DNS',
|
||||
'check DNS' => 'проверить DNS',
|
||||
'update' => 'обновить',
|
||||
'self list' => 'собственный список',
|
||||
'reverse list' => 'обратный список',
|
||||
'subzones' => 'поддомены',
|
||||
'check url' => 'проверить домен',
|
||||
'lang' => 'язык',
|
||||
'blacklist exclude' => 'список исключений из блэклиста',
|
||||
'adguard web' => 'вебморда адгварда',
|
||||
'domain explain' => 'Некоторым клиентам требуется валидный сертификат при подключении, например Windows 11 DoH или ShadowSocks Android (URL-адрес PAC), для этого требуется домен',
|
||||
'self list explain' => ' - домены, которые будут работать через прокси',
|
||||
'reverse list explain' => ' - домены которые будут работать без прокси, все остальные через прокси',
|
||||
'timer' => 'установить время действия',
|
||||
'reset nginx' => 'сбросить nginx',
|
||||
'set internal dns' => 'установить внутренний dns',
|
||||
'delete internal dns' => 'удалить внутренний dns',
|
||||
],
|
||||
];
|
||||
|
||||
Reference in New Issue
Block a user