Compare commits

..

73 Commits

Author SHA1 Message Date
mercury 99bce7a988 update version 2024-12-09 14:30:26 +04:00
mercury 446a5d7150 mihomo: rule-providers add format 2024-12-09 13:32:25 +04:00
mercury 855f516936 update version 2024-12-06 23:39:12 +04:00
mercury e1c13480d1 mihomo: fix empty rules 2024-12-06 23:36:43 +04:00
mercury bd5e10fa23 naming: clash -> mihomo 2024-12-06 23:12:22 +04:00
mercury 3627b389b4 mihomo: added yaml support 2024-12-06 22:26:00 +04:00
mercury f3f9cb5348 fix ruleset for mihomo 2024-12-06 22:11:12 +04:00
mercury 1527b9f856 added rule-set for clash 2024-12-04 00:08:32 +04:00
mercury f896b307ea removed check when adding a subnet to openconnect 2024-11-28 20:11:05 +04:00
mercury 8ba7ddedee update version 2024-11-28 20:04:53 +04:00
mercury 19ef567873 fix createruleset 2024-11-28 19:51:21 +04:00
mercury 4f4e36e1cb doh ip exclude for analyze ip 2024-11-28 15:17:42 +04:00
mercury 6267931475 fix bug createruleset for singbox 2024-11-28 12:59:06 +04:00
mercury 7e2d90e7da update prioritet clash rules 2024-11-28 10:36:10 +04:00
mercury 28906176f5 update clash links 2024-11-28 00:21:22 +04:00
mercury 968d72ce81 autoscan call fix 2024-11-28 00:12:12 +04:00
mercury 66e204e5ba import url for clash 2024-11-27 23:37:39 +04:00
mercury 36e8acd2aa xray: template for clash 2024-11-27 22:00:30 +04:00
mercury cdc20adccd consistent template logic 2024-11-27 16:52:30 +04:00
mercury 8ad00bc47a update version 2024-11-21 18:09:25 +04:00
mercury 4902eb53ce fix addruleset for direct 2024-11-21 16:04:09 +04:00
mercury 253cceb44c fix analyze ip autoban 2024-11-21 12:13:02 +04:00
mercury 9d53f2896c fix analyze memory 2024-11-21 11:49:29 +04:00
mercury 550a8ad3b7 fix ip/32 analyze 2024-11-21 01:37:22 +04:00
mercury e2f84b0ee7 update version 2024-11-21 00:39:07 +04:00
mercury b394e769c6 роутинг для openconnect 2024-11-21 00:24:50 +04:00
mercury 7d8dc1dd2d duplicating the list of subnets for openconnect 2024-11-20 20:59:25 +04:00
mercury 34b1de5132 import telegram, gcore, cloudflare ip 2024-11-20 20:58:17 +04:00
mercury 12b5d84afc IP analyzer takes into account subnets 2024-11-20 17:12:08 +04:00
mercury c3d90ada83 addruleset and additional tags 2024-11-20 15:55:10 +04:00
mercury dbe3f290ea commands reset and backup 2024-11-20 15:46:03 +04:00
mercury b56b48e080 override ignore 2024-11-20 15:45:02 +04:00
mercury 21b7a4816f fix bot dump when telegram logs are empty 2024-11-18 00:31:53 +04:00
mercury 51ecb815ba fix domain installation on first launch 2024-11-17 19:32:54 +04:00
mercury 66cee61d41 allow telegram ip 2024-11-17 15:08:01 +04:00
mercury 66225917fe fix ip menu 2024-11-16 16:45:36 +04:00
mercury be227f6a33 update version 2024-11-16 01:13:53 +04:00
mercury 37d392a240 update backup 2024-11-16 01:10:47 +04:00
mercury 565573cfc2 fix notify update 2024-11-16 00:51:09 +04:00
mercury 3813f43b92 update bot from notify 2024-11-16 00:45:30 +04:00
mercury f34427c13c fix notification about new version 2024-11-16 00:42:22 +04:00
mercury c2219e3657 ability to add your IPs to blocklist/whitelist 2024-11-16 00:34:22 +04:00
mercury 0d7426e785 improve analyze ip 2024-11-16 00:11:19 +04:00
mercury c56fe4ff78 blocklist improve
add https://github.com/legiz-ru/sb-rule-sets/raw/main/ru-bundle.lst button
2024-11-15 11:49:20 +04:00
mercury b0e6835ac9 improve scanner 2024-11-15 01:04:06 +04:00
mercury f29d366aef scaner: fix regex 2024-11-14 16:47:55 +04:00
mercury 9eb15b9b45 update version 2024-11-14 15:37:06 +04:00
mercury 954cfe0346 improve ip ban 2024-11-14 14:32:49 +04:00
mercury 0d21eadcaa fix input timer autoscan 2024-11-14 02:35:51 +04:00
mercury f0b43e791d update version 2024-11-14 01:13:59 +04:00
mercury 0297417a63 xray log file 2024-11-14 00:40:54 +04:00
mercury 7449e8bba3 scanner: sort ips 2024-11-14 00:35:15 +04:00
mercury ad7351dc9a improve logs 2024-11-14 00:24:15 +04:00
mercury 5c5c537d62 scanner: allow/deny lists 2024-11-14 00:01:23 +04:00
mercury edc877f149 limit message for scanner 2024-11-13 01:08:25 +04:00
mercury ea07b0da42 scanner init 2024-11-13 00:59:34 +04:00
mercury 3d53691106 update version 2024-11-11 16:21:18 +04:00
mercury 5f38e73d6b fix clientId accounting when filling out the white list 2024-11-11 16:18:29 +04:00
mercury bb3a807869 stream access log 2024-11-11 14:09:27 +04:00
mercury 3ed487cbce xray logs 2024-11-11 11:46:11 +04:00
mercury 1d69729bf1 update version 2024-11-09 21:35:43 +04:00
mercury 387f1618b1 ~ip~ tag for templates 2024-11-06 23:19:51 +04:00
mercury 9da11e2b35 fix adguard password 2024-11-06 23:06:06 +04:00
mercury 0b95c75005 timeout for check status adguard 2024-11-06 22:35:32 +04:00
mercury 62c4314beb docker installation 2024-11-05 18:35:31 +04:00
mercury 1dfb3da089 update version 2024-11-04 19:44:47 +04:00
mercury 7358730864 fix update script 2024-11-04 19:37:12 +04:00
mercury 57cd1019f5 fix restart 2024-11-04 19:34:41 +04:00
mercury dfbcd67f83 restart button 2024-11-04 19:23:15 +04:00
mercury 5016c6bda3 ability to enable/disable ports 2024-11-04 19:06:42 +04:00
mercury bc3914c3b9 json beautifier when saving template 2024-11-04 17:33:15 +04:00
mercury 4675371f19 update version 2024-11-04 11:50:10 +04:00
mercury 6efe31d404 you can change the position and name of the outbound, filled in by the bot 2024-11-04 01:14:55 +04:00
24 changed files with 1614 additions and 295 deletions
+5 -1
View File
@@ -21,4 +21,8 @@ update/*
override.env
override.html
override.php
override.php
docker-compose.override.yml
backup.json
app/webapp/override/
.rest
+13
View File
@@ -0,0 +1,13 @@
<?php
require __DIR__ . '/timezone.php';
require __DIR__ . '/bot.php';
require __DIR__ . '/config.php';
require __DIR__ . '/i18n.php';
if ($c['debug']) {
require __DIR__ . '/debug.php';
}
$bot = new Bot($c['key'], $i);
echo $bot->export();
+1315 -230
View File
File diff suppressed because it is too large Load Diff
+26 -2
View File
@@ -262,8 +262,12 @@ $i = [
'ru' => 'очистить',
],
'xray' => [
'en' => 'Xray',
'ru' => 'Xray',
'en' => 'Vless',
'ru' => 'Vless',
],
'clash' => [
'en' => 'mihomo',
'ru' => 'mihomo',
],
'geodb' => [
'en' => 'GeoIp/GeoSite',
@@ -353,4 +357,24 @@ $i = [
'en' => 'delete allowed clients',
'ru' => 'очистить белый список клиентов',
],
'success' => [
'en' => 'success',
'ru' => 'сохранено',
],
'error' => [
'en' => 'error',
'ru' => 'ошибка',
],
'save' => [
'en' => 'save',
'ru' => 'сохранить',
],
'copy' => [
'en' => 'copy',
'ru' => 'копировать',
],
'restart' => [
'en' => 'restart',
'ru' => 'перезагрузка',
],
];
+1
View File
@@ -37,6 +37,7 @@ if ($hash == substr(md5($c['key']), 0, 8)) {
break;
case 's':
case 'si':
case 'cl':
$bot->subscription();
exit;
+2 -1
View File
@@ -18,6 +18,7 @@ if (!empty($bot->selfupdate)) {
$bot->offWarp();
}
$bot->dontshowcron = 1;
$bot->adguardSync();
$bot->sslip();
$bot->adguardSync();
$bot->syncDeny();
$bot->cleanDocker();
+126
View File
@@ -0,0 +1,126 @@
{
"mixed-port": 2080,
"allow-lan": true,
"tcp-concurrent": true,
"enable-process": true,
"find-process-mode": "strict",
"global-client-fingerprint": "chrome",
"mode": "rule",
"log-level": "debug",
"ipv6": false,
"keep-alive-interval": 30,
"unified-delay": false,
"profile": {
"store-selected": true,
"store-fake-ip": true
},
"sniffer": {
"enable": true,
"sniff": {
"HTTP": {
"ports": [
80,
"8080-8880"
],
"override-destination": true
},
"TLS": {
"ports": [
443,
8443
]
},
"QUIC": {
"ports": [
443,
8443
]
}
}
},
"tun": {
"enable": true,
"stack": "mixed",
"dns-hijack": [
"any:53"
],
"auto-route": true,
"auto-detect-interface": true,
"strict-route": true
},
"dns": {
"enable": true,
"listen": ":1053",
"prefer-h3": false,
"ipv6": false,
"enhanced-mode": "fake-ip",
"fake-ip-filter": [
"~domain~",
"+.lan",
"+.local"
],
"nameserver": [
"~dns~"
]
},
"proxies": [
{
"name": "~outbound~",
"type": "vless",
"server": "~domain~",
"port": 443,
"uuid": "~uid~",
"network": "tcp",
"flow": "xtls-rprx-vision",
"tls": true,
"reality-opts": {
"public-key": "~public_key~",
"short-id": "~short_id~"
},
"servername": "~server_name~",
"client-fingerprint": "chrome"
}
],
"proxy-groups": [
{
"name": "PROXY",
"type": "select",
"proxies": [
"~outbound~"
]
}
],
"add-rule-providers": true,
"rule-providers": {},
"rules": [
{
"type": "DOMAIN-SUFFIX",
"list": "~block~",
"action": "REJECT"
},
{
"type": "PROCESS-NAME",
"list": "~process~",
"action": "PROXY"
},
{
"type": "PROCESS-NAME",
"list": "~package~",
"action": "PROXY"
},
{
"type": "DOMAIN-SUFFIX",
"list": "~warp~",
"action": "PROXY"
},
{
"type": "DOMAIN-SUFFIX",
"list": "~pac~",
"action": "PROXY"
},
{
"type": "MATCH",
"action": "DIRECT"
}
]
}
View File
+1 -1
View File
@@ -505,7 +505,7 @@ ipv4-netmask = 255.255.255.0
# Whether to tunnel all DNS queries via the VPN. This is the default
# when a default route is set.
#tunnel-all-dns = true
tunnel-all-dns = true
# The advertised DNS server. Use multiple lines for
# multiple servers.
+16 -14
View File
@@ -87,7 +87,7 @@
"uuid": "~uid~",
"type": "vless",
"domain_strategy": "ipv4_only",
"tag": "proxy"
"tag": "~outbound~"
},
{
"type": "direct",
@@ -111,10 +111,11 @@
"outbound": "dns-out"
},
{
"addruleset": true,
"createruleset": [
{
"name": "pac",
"interval": "15s",
"interval": "30s",
"rules": [
{
"domain_suffix": "~pac~"
@@ -122,13 +123,14 @@
]
}
],
"outbound": "~domains_outbound~"
"outbound": "~outbound~"
},
{
"addruleset": true,
"createruleset": [
{
"name": "package",
"interval": "15s",
"interval": "30s",
"rules": [
{
"package_name": "~package~"
@@ -136,13 +138,14 @@
]
}
],
"outbound": "~app_outbound~"
"outbound": "~outbound~"
},
{
"addruleset": true,
"createruleset": [
{
"name": "process",
"interval": "15s",
"interval": "30s",
"rules": [
{
"process_name": "~process~"
@@ -150,13 +153,14 @@
]
}
],
"outbound": "~process_outbound~"
"outbound": "~outbound~"
},
{
"addruleset": true,
"createruleset": [
{
"name": "block",
"interval": "15s",
"interval": "30s",
"rules": [
{
"domain_suffix": "~block~"
@@ -167,10 +171,11 @@
"outbound": "block"
},
{
"addruleset": true,
"createruleset": [
{
"name": "warp",
"interval": "15s",
"interval": "30s",
"rules": [
{
"domain_suffix": "~warp~"
@@ -178,12 +183,9 @@
]
}
],
"outbound": "proxy"
},
{
"outbound": "direct"
"outbound": "~outbound~"
}
],
"final": "~final_outbound~"
"final": "direct"
}
}
+5
View File
@@ -11,6 +11,11 @@ events {
}
stream {
include /etc/nginx/deny;
log_format basic '$remote_addr [$time_local] '
'$protocol $status $bytes_sent $bytes_received';
access_log /logs/upstream_access basic;
upstream other {
server ng:443;
}
+2 -2
View File
@@ -36,7 +36,7 @@
}
}],
"outbounds": [{
"tag": "proxy",
"tag": "~outbound~",
"protocol": "vless",
"settings": {
"vnext": [{
@@ -84,7 +84,7 @@
"domainStrategy": "AsIs",
"rules": [{
"type": "field",
"outboundTag": "proxy",
"outboundTag": "~outbound~",
"domain": "~pac~"
}, {
"type": "field",
+2 -1
View File
@@ -42,7 +42,8 @@
}
],
"log": {
"loglevel": "info"
"loglevel": "info",
"access": "/logs/xray"
},
"outbounds": [
{
+7 -2
View File
@@ -29,6 +29,7 @@ services:
volumes:
- ./config/.profile:/root/.ashrc:ro
- ./config/upstream.conf:/etc/nginx/nginx.conf
- ./config/deny:/etc/nginx/deny
- ./scripts/start_upstream.sh:/start_upstream.sh
- ./ssh:/ssh
- ./config/sshd_config:/etc/ssh/sshd_config
@@ -95,7 +96,7 @@ services:
ipv4_address: 10.10.1.2
logging: *default-logging
php:
image: mercurykd/vpnbot-php:1.5
image: mercurykd/vpnbot-php:1.6
build:
dockerfile: dockerfile/php.dockerfile
args:
@@ -118,6 +119,7 @@ services:
- ./update:/update
- ./.git:/.git
- ./singbox_windows:/singbox
- ./docker-compose.override.yml:/docker/compose
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
IP: ${IP}
@@ -145,7 +147,7 @@ services:
timeout: 5s
retries: 5
service:
image: mercurykd/vpnbot-php:1.5
image: mercurykd/vpnbot-php:1.6
build:
dockerfile: dockerfile/php.dockerfile
args:
@@ -158,7 +160,9 @@ services:
- ./ssh:/ssh
- ./app:/app
- ./logs/:/logs/
- ./version:/version
- ./update:/update
- ./.git:/.git
- ./scripts/start_service.sh:/start_service.sh
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
@@ -412,6 +416,7 @@ services:
- ./config/sshd_config:/etc/ssh/sshd_config
- ./config/xray.json:/xray.json
- ./scripts/start_xray.sh:/start_xray.sh
- ./logs:/logs
hostname: xray
container_name: xray-${VER}
depends_on:
+3 -1
View File
@@ -32,4 +32,6 @@ RUN apk add --no-cache --update php81 \
&& mv sing-box-1.8.11-linux-amd64/sing-box /usr/bin \
&& rm sing-box-1.8.11-linux-amd64.tar.gz \
&& rm -rf /sing-box-1.8.11-linux-amd64
ENV ENV="/root/.ashrc"
RUN apk add openssh \
&& mkdir /root/.ssh
ENV ENV="/root/.ashrc"
+10 -2
View File
@@ -3,7 +3,7 @@ b:
u: # запуск контейнеров
$(eval IP := $(shell curl -s -t 1 2ip.io || curl -s -t 1 ipinfo.io/ip || curl -s -t 1 ifconfig.me))
bash ./update/update.sh &
touch ./override.env
touch ./override.env ./docker-compose.override.yml
IP=$(IP) VER=$(shell git describe --tags) docker compose --env-file ./.env --env-file ./override.env up -d --force-recreate
d: # остановка контейнеров
-kill -9 $(shell cat ./update/update_pid) > /dev/null
@@ -59,4 +59,12 @@ c:
git checkout .
git reset
webhook:
docker compose exec php php checkwebhook.php
docker compose exec php php checkwebhook.php
reset:
make d
git reset --hard
git clean -fd
docker volume rm vpnbot_adguard vpnbot_warp
make u
backup:
docker compose exec php php backup.php > backup.json
-5
View File
@@ -1,5 +0,0 @@
make d
rm /etc/systemd/resolved.conf.d/adguardhome.conf
mv /etc/resolv.conf.backup /etc/resolv.conf
systemctl reload-or-restart systemd-resolved
make u
-8
View File
@@ -1,8 +0,0 @@
mkdir /etc/systemd/resolved.conf.d
echo "[Resolve]
DNS=127.0.0.1
DNSStubListener=no" > /etc/systemd/resolved.conf.d/adguardhome.conf
mv /etc/resolv.conf /etc/resolv.conf.backup
ln -s /run/systemd/resolve/resolv.conf /etc/resolv.conf
systemctl reload-or-restart systemd-resolved
make d u
+1 -11
View File
@@ -10,17 +10,7 @@ apt install -y \
iproute2 \
xtables-addons-common \
xtables-addons-dkms
mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]')/gpg | gpg --dearmor --yes -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/$(lsb_release -is | tr '[:upper:]' '[:lower:]') \
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null
apt update
apt install -y docker-ce docker-ce-cli containerd.io
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.29.6/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
git clone https://github.com/mercurykd/vpnbot.git
cd ./vpnbot
echo "<?php
-1
View File
@@ -3,7 +3,6 @@ ssh-keygen -m PEM -t rsa -f /ssh/key -N ''
openssl req -newkey rsa:2048 -sha256 -nodes -x509 -days 365 -keyout /certs/self_private -out /certs/self_public -subj "/C=NN/ST=N/L=N/O=N/CN=$IP"
php init.php
if [[ -f "/start" && -f "/ssh/key.pub" && -s "/ssh/key.pub" ]]; then
php cron.php &
unitd --log /logs/unit_error
curl -X PUT --data-binary @/config/unit.json --unix-socket /var/run/control.unit.sock http://localhost/config
pkill unitd
+5 -1
View File
@@ -1 +1,5 @@
php service.php
cat /ssh/key.pub > /root/.ssh/authorized_keys
ssh-keygen -A
exec /usr/sbin/sshd -D -e "$@" &
php service.php
php cron.php
+1 -1
View File
@@ -6,7 +6,7 @@ After=docker.service
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=path
ExecStartPre=/bin/sh -c "touch ./override.env"
ExecStartPre=/bin/sh -c "touch ./override.env ./docker-compose.override.yml"
ExecStart=/bin/sh -c "IP=$(curl https://ipinfo.io/ip) VER=$(git describe --tags) docker compose --env-file ./.env --env-file ./override.env up -d --force-recreate"
ExecStartPost=/bin/sh -c "bash ./update/update.sh &"
ExecStop=/bin/sh -c "docker compose down --remove-orphans"
+14 -11
View File
@@ -10,20 +10,23 @@ do
if [[ -n "$cmd" ]]
then
key=$(cat $pwd/update/key)
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "останавливаю бота"/')"
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "stopping the bot"/')"
docker compose down --remove-orphans
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "очищаю директорию"/')"
git reset --hard && git clean -fd
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "скачиваю обновление"/')"
git fetch
if [[ -n "$branch" ]]
if [[ "$cmd" == "1" ]]
then
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "меняю ветку"/')"
git checkout -t origin/$branch || git checkout $branch
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "clearing the directory"/')"
git reset --hard && git clean -fd
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "downloading the update"/')"
git fetch
if [[ -n "$branch" ]]
then
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "changing branch"/')"
git checkout -t origin/$branch || git checkout $branch
fi
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "applying updates"/')"
git pull > ./update/message
fi
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "применяю обновления"/')"
git pull > ./update/message
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "запускаю бота"/')"
curl -H "Content-Type: application/json" -X POST https://api.telegram.org/bot$key/editMessageText -d "$(cat $pwd/update/curl | sed 's/"text":"~t~"/"text": "launching the bot"/')"
IP=$(curl ipinfo.io/ip) VER=$(git describe --tags) docker compose --env-file ./.env --env-file ./override.env up -d --force-recreate
bash $pwd/update/update.sh &
> $pwd/update/key
+59
View File
@@ -1,3 +1,62 @@
09.12.2024 v1.111
- mihomo: фикс rule-providers format
06.12.2024 v1.110
- ruleset для mihomo
28.11.2024 v1.109
- фикс автоскана
- добавление clash-шаблонов
21.11.2024 v1.108
- xray: addruleset для direct
- openconnect:ограничение формата при добавлении подсети
- новый механизм сверки ip для анализатора айпи
- мелкие фиксы меню и текста
21.11.2024 v1.107
- xray: добавлены теги ~cdndomain~, ~directdomain~
- xray: возможность менять имя главного аутбаунда(тот аутбаунд который заполняет бот, в шаблонах идет как ~outbound~) для клиентских конфигов
- xray: в шаблонах теперь надо явно указывать ключ addruleset в route -> rules, чтобы бот заполнил их правилами из списка ruleset (см origin шаблон)
- openconnect: добавлена маршрутизация (список подсетей общий с wireguard)
- ip ban: фикс обработки подсетей в белом/черном списках
- ip ban: в белый список можно импортировать адреса от telegram, gcore, cloudflare
- добавлена в игнор папка app/webapp/override. она не будет перезатираться после обновления, туда можно положить ваши ресурсы к override.html
- <code>make backup</code> - сохранит в корень backup.json
- <code>make reset</code> - обнуляет все настройки
18.11.2024 v1.106
- фикс отвала бота при пустых логах телеги
17.11.2024 v1.105
- фикс установки домена при первом запуске
16.11.2024 v1.104
- единая механика закрепления бэкапа
- фикс текста уведомления о новой версии
16.11.2024 v1.103
- фикс уведомления о новой версии
16.11.2024 v1.102
- переделан раздел списка ip под управление кнопками
- возможность добавить свои айпи в blocklist/whitelist
15.11.2024 v1.101
- кнопка добавления https://github.com/legiz-ru/sb-rule-sets/raw/main/ru-bundle.lst
- переделан раздел списка ip для читаемости
15.11.2024 v1.100
- несколько режимов silence для сканера
- анализ сканера скидывает файл всех найденных айпи
- команда /searchLogs (пока только для айпи)
- логи переехали в меню сканера
- обновление текстов и подсказок
14.11.2024 v1.99.1
- анализ логов и бан айпишников, фиксы
14.11.2024 v1.99
- анализ логов и бан айпишников
11.11.2024 v1.98
- фикс заполнения clientId при наполнении белого списка клиентов adg
09.11.2024 v1.97
- новая ссылка на чат поддержки. пожалуйста не размещайте ее на форумах и чатах во избежание набега leafers https://www.youtube.com/watch?v=9tlNJmjuKD4
06.11.2024 v1.96
- фикс пароля adguard
- таймаоут для проверки статуса adguard
04.11.2024 v1.95
- отключение портов контейнеров из меню
- перезагрузка из меню
04.11.2024 v1.94
- xray: возможность перемещать и переименовывать outbound заполняемый ботом
04.11.2024 v1.93
- adguardHome: сброс настроек
- adguardHome: статус работоспособности