-
Notifications
You must be signed in to change notification settings - Fork 43
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Добавлена поддержка доменных имен в файле **/opt/etc/hosts**, что п…
…озволяет быстро добавлять собственные доменные имена для локальной сети и не только; При этом, данный список атоматически добавяется в конфигурацию одного из DNS серверов, установленных Квасом: dnsmasq или AdGuardHome. - Добавлена команда **dns hosts**, которая отображает список хостов и их **IP** добавленные Вами в **/opt/etc/hosts** - Добавлена команда **dns hosts edit**, которая позволяет редактировать список хостов и их **IP** в файле **/opt/etc/hosts** - Добавлена команда **dns hosts add <ip> <host>** или **dns hosts add <host> <ip>**, которая добавляет один хост в файл **/opt/etc/hosts** - Реализована возможность добавлять клиентов **SSTP** сетей для подключения к **Квасу** командой . - Реализовано автоматическое обновление списка VPN интерфейсов, при их создании или удалении (кроме IPSpec) - Реализован механизм очистки правил **iptables** для интерфейсов **PPTP** и **L2TP**, через которые происходит подключение к провайдеру, с целью решить вопрос возобновление работы **Кваса** при обрыве соединения такого рода [#issue](#97). - Осуществлен переход на новый механизм **ndm** для отслеживания состояний интерфейсов - **iflayerchanged.d** (для прошивок >= 4.0), вместо предыдущего вариант - **ifdestroyed.d**(для прошивок < 4.0).
- Loading branch information
Showing
19 changed files
with
450 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
VERSION=1.1.6 | ||
STAGE=stable | ||
RELEASE=6 | ||
VERSION=1.1.7 | ||
STAGE= | ||
RELEASE= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
#!/bin/sh | ||
# ------------------------------------------------------------------------------------------ | ||
# | ||
# ПРОЕКТ КВАС | ||
# | ||
# ------------------------------------------------------------------------------------------ | ||
# Данный файл служит основной библиотекой функций пакета КВАС | ||
# ------------------------------------------------------------------------------------------ | ||
# Разработчик: kvas@zeleza.ru | ||
# Дата: 17/01/2024 | ||
# Лицензия: Apache License 2.0 | ||
# ------------------------------------------------------------------------------------------ | ||
# подключаем основную библиотеку | ||
. /opt/apps/kvas/bin/libs/main | ||
|
||
# | ||
# Выводим список доменных имен из файла /opt/etc/hosts | ||
# | ||
cmd_hosts_list(){ | ||
warning "Список доменных имен в файле ${GREEN}/opt/etc/hosts${NOCL}:" | ||
print_line | ||
cat < /opt/etc/hosts | grep -vE '^#' | ||
} | ||
|
||
# | ||
# Редактируем список доменных имен в файле /opt/etc/hosts | ||
# | ||
cmd_hosts_edit(){ | ||
nano /opt/etc/hosts && { | ||
if cmd_adguardhome_status | grep -q "ВКЛЮЧЕН" ; then | ||
mess="Перезапуск службы AdGuardHome..." | ||
service=/opt/etc/init.d/S56dnsmasq | ||
else | ||
mess="Перезапуск службы dnsmasq..." | ||
service=/opt/etc/init.d/S56dnsmasq | ||
fi | ||
ready "${mess}" | ||
${service} restart &> /dev/null | ||
if [ $? = 0 ] ; then | ||
when_ok "УСПЕШНО" | ||
res=0 | ||
else | ||
when_bad "ОШИБКА" | ||
res=1 | ||
fi | ||
ready "Файл /opt/etc/hosts обновлен..." | ||
[ "${res}" = 1 ] && when_ok "УСПЕШНО" || when_bad "С ОШИБКОЙ" | ||
} | ||
} | ||
|
||
# | ||
# Добавляем список доменных имен в файле /opt/etc/hosts | ||
# добавлять можно как <domain> <ip>, так и kvas dns host add <ip> <domain> | ||
# | ||
cmd_hosts_one_add(){ | ||
|
||
if echo "${1}" | grep -qE "${IP_FILTER}"; then | ||
ip=${1} | ||
host=${2} | ||
elif echo "${2}" | grep -qE "${IP_FILTER}"; then | ||
ip=${2} | ||
host=${1} | ||
else | ||
error "Неправильно задан один из аргументов!" nl | ||
print_line | ||
exit 0 | ||
fi | ||
ready "Доменное имя ${host} c ${ip} добавлено..." | ||
printf "%s\t%s\n" "${ip}" "${host}" >> /opt/etc/hosts | ||
dig "${host}" @localhost &> /dev/null | ||
[ $? = 0 ] && when_ok "УСПЕШНО" || when_bad "ОШИБКА" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
#!/bin/sh | ||
# ------------------------------------------------------------------------------------------ | ||
# | ||
# ПРОЕКТ КВАС | ||
# | ||
# ------------------------------------------------------------------------------------------ | ||
# Данный файл служит основной библиотекой функций пакета КВАС | ||
# ------------------------------------------------------------------------------------------ | ||
# Разработчик: kvas@zeleza.ru | ||
# Дата: 18/01/2024 | ||
# Лицензия: Apache License 2.0 | ||
# ------------------------------------------------------------------------------------------ | ||
iface_file=/opt/etc/inface_equals | ||
|
||
# ------------------------------------------------------------------------------------------ | ||
# | ||
# Получаем конкретный или все интерфейсы роутера в json формате | ||
# | ||
# Передаем имя конкретного CLI интерфейса роутера, | ||
# или ключевое слово all или ALL - для всех интерфейсов | ||
# | ||
# ------------------------------------------------------------------------------------------ | ||
get_cli_iface_json(){ | ||
|
||
cli_iface="${1:-all}" | ||
|
||
echo "${cli_iface}" | grep -i all && cli_iface='' | ||
curl -s localhost:79/rci/show/interface/"${cli_iface}" | ||
} | ||
# ------------------------------------------------------------------------------------------ | ||
# | ||
# Получаем название конкретного интерфейса | ||
# | ||
# Передаем имя конкретного CLI интерфейса роутера | ||
# | ||
# ------------------------------------------------------------------------------------------ | ||
get_iface_description(){ | ||
cli_iface=${1} | ||
get_cli_iface_json "${cli_iface}" | jq 'description' | ||
} | ||
# ------------------------------------------------------------------------------------------ | ||
# | ||
# Проверяем название конкретного интерфейса на то, | ||
# является ли он глобальным интерфейсом - необходим ли он для подключения к провайдеру. | ||
# | ||
# Передаем имя конкретного CLI интерфейса роутера | ||
# | ||
# ------------------------------------------------------------------------------------------ | ||
is_cli_iface_global(){ | ||
cli_iface=${1} | ||
get_cli_iface_json "${cli_iface}" | jq '.global' | grep -q true | ||
} | ||
|
Oops, something went wrong.