- Внесены измения по заявкам:
- #213 Перехват DNS не работает в отдельных случаях
- #215 Доводка debug
- #220 Получение сетевых интерфейсов без рестарта всех подключений + внесены доработки в функции
get_router_ip
иget_local_inface
- #222 Dnscrypt: включение и отключение
- #224 ipset команды в консоли
- Внесено испралвение при генерации записей в /opt/etc/dnsmasq.d/kvas.dnsmasq - вместо
\.
теперь только точка. Отдельная благодарность AltGrF13.
- Внесены измения по заявкам:
- #211 Dnsmasq настройки + принудительное удаление предыдущей версии и установка новой, с целью поддержания новых опций filter-AAAA и filter-rr=HTTPS.
- #205 Определение версии прошивки (доработка)
- #194 Добавлена команда
kvas debug ikev2
- для тестирования ikev2 за что отдельная благодарность AltGrF13. - Устранена проблема отсутствия реакции на команду установки AdGuardHome на удаленном устройстве.
- Удален запрос на добавление хоста с wildcard при его добавлении
kvas add <host>
. - Исправлена ошибка, приводящая к невозможности ввода vless ссылки
- После удаления пакета, теперь по умолчанию, устанавливается DNS от Яндекса - 78.88.8.8, чтобы возобновить подключение к сети Интернет.
- Добавлена новая команда
kvas vless new
, которая позволяет обновить Вашу ссылку, если та была введена неправильно.
- Внесены изменния по заявкам:
- #189 1.1.9-beta_6: wildcard у хостов при импорте или добавлении теряется,
- #194 IKEv2 не работает в некоторых случаях,
- #195 1.1.9-beta_6: вопросы DNS,
- #199 Расшаривание гостевых,
- #205 Определение версии прошивки,
- #206 1.1.9-beta_6: триггерные файлы,
- #207 1.1.9-beta_6: Межсетевой экран,
- #208 Оптимизация старта списка,
- #209 Оптимизация работы с IP в списке. Отдельная благодарность AltGrF13.
- Добавлена закваска для xbox, отдельное спасибо ssavickiy
- Доработана поддержка протокола vless
- Произведена замена имени ipset таблицы unblock на фирменное название kvas и файла iflayerchanged.d/100-unblock-vpn в iflayerchanged.d/100-kvas-vpn
- Произведена замена файла hosts.list на kvas.list
- Удалено регулярное 5 мин. добавление в ipset таблицу адресов, вместо этого изменен параметр ttl для ipset таблицы и DNS-серверов (Благодарность avn).
- Небольшие правки кода по issue #162
- Добавлены команды для работы с файлом /opt/etc/hosts: hosts del ip|domain и hosts prune
- Из-за высокого уровня загрузки процессора, секция server_names = ['google', 'yandex', 'cloudflare'] в dnscrypt-proxy2 теперь отключена по умолчанию, каждый сам может ее активировать в настройках /opt/etc/dnscrypt-proxy2.toml.
- Добавлена закваска для Telegram
- Добавлены закваски по различным тематикам
- Добавлена проверка наличия библиотеки libmbedtls
- Добавлена возможность при сканировании интерфейсов отображать OpenConnect
- Исправлена ошибка, связанная с проверкой ssr соединения (см. заявка #171)
- Исправлены незначительные ошибки 1.1.9 release 1
- Список хостов по умолчанию добавлены домены для chatgpt и dockerhub и для работы с играми от компании Supercell (Brawel Stars, сlash royal, clash of clends )
- Теперь, при выводе статуса adguard виден адрес и порт по которому доступен сервер ADGH.
- С текущего релиза для удаления пакета Квас будет использоваться только команда uninstall, чтобы не производить путаницы команда remove - удалена.
- Для команды debug, теперь добавлена команда ipset, которая позволяет проверить в цикле все IP доменных имен на наличие в списке ipset: kvas debug ipset
- При исполнении команды debug, теперь для безопасности выводятся вместо доменных имен и IP адресов звездочки для первых 5 символов.
- Доработан код скрипта kvas/bin/main/dnsmasq, с целью исключить дубрирование записей в файл kvas.dnsmasq
- Добработан механизм добавления/удаления гостевых сетей для команд 'kvas vpn net add/del'
- При установке пакета добавлена функция удаления пакета nano, в случае его наличия, так как вместо него будет установлен пакет nano-full
- Добавлены теги для доменных имен. Теперь можно добавлять сразу все доменные имена помеченные в файле тегов одним из них. Подробно см. справку.
- Доработана обработка ssr ссылок, теперь код корректно обрабатывает ссылки со знаком ? в ссылке.
- Добавлена возможность вводить спецсимволы при вводе shadowsocks пароля.
- Доработан код файла kvas.dnsmasq. Учетна возможность отключенного dnscrypt-proxy2. Особая благодарность attacco
- Добавлен еще один интерфейс Proxy, который можно подключить через WUI (Благодарность romka777).
- Исправляет ошибку, когда интерфейсов более 9-ти (ломается регулярка [1-${total}] когда становится [1-10] (от символа "1" до символа "1" и символ "0") (Благодарность Ponywka)
- При активации dnscrypt-proxy2 теперь автоматически подклчается секция server_names = ['google', 'yandex', 'cloudflare'] для работы с указанными серверами (Благодарность MonoBOY).
- При установке пакета, теперь есть возможность сразу выбрать и подключить одну домашнюю сеть к Квасу.
- К команде kvas test добавлен флаг "--no-check". При активном флаге не будет выполняться функция ipset_site_visit_check и тест будет завершаться без участия пользователя (По просьбе @dnstkrv).
- Благодаря @PsychodelEKS, появилась возможность отключить использование DNS провайдера в автоматическом режиме при установке и удалении пакета (пока в стадии тестирования).
- Доработан процесс удаления пакета, внесен новый ключ при удалении "develop", при использовании которого останавливаются и удаляются все связанные с Квасом сервисы и их файлы конфигурации (Благодарность @dimbady).
- В случае введения кодированной SSR ссылки с # внутри - правая часть ссылки будет отсекаться вместе со знаком #.
- Обновлены функции определения типа ускорения работы роутера (программного или аппаратного) для KeenticOS 4.1 и выше
- Добавлены дополнительные механизмы очистки правил для команд: vpn set, vpn net add, vpn net del, del
- Доработана функция get_entware_ikev2_inface коррекции работы IKEv2 + SS [issue #114]
- Перепроверена работа функции обновления программы AdGuardHome - все работает штатно [запрос от pavelts].
- Внесены доработки в код для устранения ошибок, связанных с отсутствием /opt/etc/hosts
- Внесены изменения для коррекции правил iptables, согласно предложенным изменениям в [issue #116]
- Внесены изменения в код для исправления ситуаций с возникновением ошибок, типа sh: bad number [issue #114]
- Внесены изменения в код для решения проблемы с очисткой правил и таблиц при обрыве соединения провайдера [issue #97 ]
- Доработан код для корректного внесения правок переменной port в файл конфигурации AdGuardHome [запрос от Shvedoffsky]
- Появилась возможность вводить для SSR соединения кодированную ссылку вместо набора данных в ручную.
- Появилась возможность быстро проверить, есть ли в списке конкретный домен или его часть при помощи команды
kvas list domen
, это эквивалент командыkvas list | grep domen
- Доработан код, который исправляет ошибку "таблица ipset пуста" при запуске
kvas test
. [issue #108]. - Доработан код обновления пакета с целью предотвратить перезапись архивных данных [issue #106].
- Отключен вывод в лог роутера сообщения "Сброс пакета КВАС в исходное состояние ЗАВЕРШЕН!", а так же, проверен на ошибки код в файле /opt/etc/ndm/netfilter.d/100-vpn-mark [issue #104].
- Из файла ndm для ssr соединений были обратно возвращены правила для обоих протоколов tcp и udp [issue #104].
- Доработан фильтр при добавлении домена. Теперь при проверке наличия домена в списке - домен проверяется с начала сроки [issue #105].
- Переработана функция обновления пакета, добавлен режим rollback для "отката" на предыдущие выпуски с GitHub
- Исправлена ошибка при установке пакета в следствии лишнего оператора sed (issue #103)
- Исправлены ошибки в работе функции сохранения настроек и их восстановления при установке или обновлении пакета (issue #102)
- Исправлен слой срабатывания с ctrl на ipv4, для активации режима очищения правил iptables при обрыве соединения с провайдером (issue #97)
- В правилах iptables удалено разделение на tcp и udp трафик. Сейчас правила устанавливаются для всех типов протоколов без их разделения.
- Исправлена ошибка в коде при добавлении доменных имен, ранее запрос не появлялся и не отсутствовало уведомление о добавлении единичного домена.
- Отключено двойное кеширование, которое ранее происходило за счет работы этого механизма как в dnsmasq, так и в dnscrypt-proxy2
- Произведена установка в файле конфигурации dnscrypt-proxy2 параметра cache_min_ttl в ноль, для исключения подмены TTL.
- Из архива удалены старые версии собранных пакетов, для того чтобы была возможность уложиться в лимиты GitHub
- Исправлена ошибка, которая приводила к выводу сообщений при отсутствии файла соответствия интерфейсов /opt/etc/inface_equals
- Доработан код файлов iflayerchanged.d/kvas-ips-reset и ifstatechanged.d/100-kvas-vpn для решения #issue 97
- Доработан код для предотвращения случайного удаления пакета в следствии передачи аргументов содержащих букву или слово "y|yes", при исполнении команды
kvas remove
- Доработан код по архивации и восстановлению конфигурационных файлов пакета.
- Доработан код функции восстановления гостевых интерфейсов после обновления пакета.
- Исправлена ошибка в коде при добавлении гостевых интерфейсов, вследствие которой, необходимые правила для ikev2 не добавлялись в iptables.
- Исправлена ошибка при импорте доменных имен из файла #issue 100
- Добавлена возможность автоматического добавления гостевых сетей при обновлении пакета
- Исправлена ошибка в файле kvas-ips-reset #issue 97
- Исправлена ошибка при обновлении пакета, когда номер версии не менялся, а оставался прежним.
- Исправлена ошибка при сканировании интерфейсов при исполнении команды
vpn set
- Доработана функция сканирования интерфейсов, в случае наличия ошибок теперь выводятся сообщения об ошибках.
- Добавлены статусы текущих настроек при исполнении команды debug
- Добавлена возможность для команды help <команда> - выводит все о встречающейся команде - эквивалент kvas help | grep <команда>
- Добавлена перезагрузка всех используемых сервисов при выполнении команды update
- Добавлена проверка на недопустимые символы в вводе пароля для shadowsocks соединений
- Изменена команда с
dns hosts *
наhosts *
. Сделано это с целью удобства использования и запоминания.
- Добавлена поддержка доменных имен в файле /opt/etc/hosts, что позволяет быстро добавлять собственные доменные имена для локальной сети и не только; При этом, данный список атоматически добавяется в конфигурацию одного из DNS серверов, установленных Квасом: dnsmasq или AdGuardHome.
- Добавлена команда dns hosts, которая отображает список хостов и их IP добавленные Вами в /opt/etc/hosts
- Добавлена команда dns hosts edit, которая позволяет редактировать список хостов и их IP в файле /opt/etc/hosts
- Добавлена команда dns hosts add или dns hosts add , которая добавляет один хост в файл /opt/etc/hosts
- Реализована возможность добавлять клиентов SSTP сетей для подключения к Квасу командой
vpn net add
. - Реализовано автоматическое обновление списка VPN интерфейсов, при их создании или удалении (кроме IPSpec)
- Реализован механизм очистки правил iptables для интерфейсов PPTP и L2TP, через которые происходит подключение к провайдеру, с целью решить вопрос возобновление работы Кваса при обрыве соединения такого рода #issue.
- Осуществлен переход на новый механизм ndm для отслеживания состояний интерфейсов - iflayerchanged.d (для прошивок >= 4.0), вместо предыдущего вариант - ifstatechanged.d(для прошивок < 4.0).
- Исправлена ошибка при обновлении пакета AdGuardHome для роутеров с архитектурой процессора ARM (Keenetic KN-1811 и KN-2710) при исполнении команды adgurad update
- Произведена замена записи 'conf-file=/opt/etc/kvas.dnsmasq' на 'conf-dir=/opt/etc/dnsmasq.d/,*.dnsmasq', а сам файл kvas.dnsmasq перенесен в папку /opt/etc/dnsmasq.d/, с целью включения в работу dnsmasq любых файлов находящихся в папке /opt/etc/dnsmasq.d/
- Добавлена возможность восстановления предыдущих гостевых сетей при обновлении пакета. Работает, только при обновлении текущего релиза.
- Доработан механизм обновления пакета, теперь, в случае только обновления пакета, устанавливается предыдущий вариант vpn интерфейса без запроса его выбора. Работает, только при обновлении текущего релиза.
- Окончательно отключены команды period, которые обновляли IP адреса доменны имен по cron-у. Вместо этого, используется адаптивный вариант регулярного сканирования адресов. Удалены упоминания в WIKI и в справке по команде.
- Доработан механизм связанный с "утечкой памяти" при работе с AdGuardHome.
- Доработан файл /opt/etc/init.d/S99adguardhome с целью улучшить диагностику запуска сервиса AdGuardHome. Теперь в случае ошибок при запуске сервиса выводятся строки с ошибками из лога запуска AdGuardHome.
- Решен вопрос с "утечкой памяти" при работе с AdGuardHome, который происходил в следствии сбоя при работе DNS сервера.
- Данная версия по факту мало чем отличается от 1.1.5 final-34 и выпущена с целью подвести черту под всеми имеющимися исправлениями, как версия со стабильным и проверенным результатом.
- Доработан код установки пакета dnscrypt-proxy2, при его отсутствии на устройстве, когда запускаем команду kvas adguard off, тикет #93. Спасибо за труды badigit
- Изменен код получения локального IP роутера на более универсальный вариант, при котором маска в адресе может быть любой и состоит из 2 цифр
- Доработан механизм добавления хоста в ipset список для AdGuardHome.
- Доработан механизм добавления хоста/IP/сети. Сейчас при добавлении можно использовать третьим аргументом yes/no, чтобы сразу задавать необходимый режим добавления домена. Если 'yes/y/wild' - включаем режим wildcard, если 'import/no/n' - без режима wildcard. Например, kvas add domain.ru yes.
- Появилась возможность добавлять из буфера обмена сразу ссылку на страницу, Квас позаботится и оставит от адреса только доменное имя: https://dom1.dom2.domain.com/art/ останется только dom1.dom2.domain.com .
- Доработан механизм проверки наличия IP и сетей при исполнении команд kvas debug и kvas test. Ранее их поиск в таблице ipset не происходил, сейчас происходит.
- В скрипт обновления пакета ipk/update.sh добавлена информация о версии удаляемого пакета.
- В скрипте ipk/update.sh в режиме обновления пакета устанавливается прежний файл с хостами (ранее происходило слияние файла по умолчанию с предыдущими доменами из списка);
- Исправлена ошибка при выводе на экран всех VPN интерфейсов в системе (тикет #74):
- При ручной установке пакета, в случае наличия файла /opt/etc/kvas.list, данный файл не переписывается на файл kvas.list по умолчанию;
- Исправлена ошибка при импорте хостов, приводившая к зависанию процедуры.
- Доработан механизм обновления хостов в защищенный список.
- При вводе неизвестной команды теперь выводится справка.
- Теперь порядок включения AdGuard Home соответствует описанию в Wiki (тикет #69)
- Доработан файл справки при выводе команды kvas help
- Упрощена проверка статуса AGH.
- Теперь, добавить клиентов серверной VPN сети можно командой kvas vpn net add. Теперь net стала эквивалентом guest (устарело).
- Доработана функция добавления клиентов серверной VPN сети. В списке сетей теперь отображается VPN-сервер с поддержкой IKEv2.
- В скрипт установки пакета добавлена функция удаления кеша, наличие которого приводило к установке старых версий при обновлении пакета.
- Обновлен режим upgrade в пакете. Теперь, при запуске происходит проверка на версию и если не совпадают - обновляемся, если upgrade c параметром force - то обновляемся без оглядки на версию, если параметр full - удаляем пакет полностью
- Исправлена ошибка приводившая к сбою нумерации в списке гостевых сетей в командах 'vpn net ...'
- Доработан механизм добавления хоста в список. Добавление хоста происходит в списки ipset и в соответствущий DNS-сервер.
- Доработан механизм добавления клиентов гостевых сетей. Добавлены правила PREROUTING для DNS.
- Изменен адрес проверки работы Кваса на клиентах на более быстрый вариант: с 2ip.ru на myip2.ru
- Исправлены ошибки при добавлении клиентов гостевых сетей.
- Все функции запроса Да/Нет в пакете заменены на функцию с таймером, при завершении которого будет выбран ответ по умолчанию.
- Доработана функция реакции на вопросы Y/N, теперь ответ принимается как с большой, так и с малой буквы.
- Доработана функция обновления пакета при удалении кеша.
- Исправлены ошибки в функции ip4_add_route_table, которая заботится о добавлении vpn сети в таблицу 1001
- Исправлены ошибки в функциях ikev2_net_access_del и ikev2_net_access_add и переписана функция ip4_add_selected_guest_to_ssr_network
- Внесены правки в код по тикету #53, которые улучшают логику работы с гостевой сетью ikev2
- Внесены правки в код по тикету #92, которые правильно добавляют домены с тире внутри их имен.
- Для вывода команды debug теперь можно использовать аргумент в виде имени файла, в который следует сохранить вывод команды.
- Для adguard добавлен код, который проверяет точно ли локальный сервер добавлен в список прослушки на 53 порту, если нет, то добавляет его.
- Добавлена команда adguard restart, для ручного перезапуска adguard (по просьбе badigit)
- Доработана функция ip4_add_selected_guest_to_ssr_network по тикету #53
- Сделаны доработки по коду согласно предложению в тикете #53. Отдельная благодарность ALTernateF13.
- В скрипт обновления пакета [ipk/update.sh] добавлены дополнительные проверки для корректной его работы.
- Проведена работа над ошибками для блока блокировки рекламы adblock.
- Доработан механизм проверки ipset таблицы при ssr соединении
- Изменен механизм добавления гостевых сетей, чтобы избежать ошибок, сейчас все сети при добавлении/удалении выбираются только из списка!
- Исправления и доработки закрывают тикеты #69, #73, #74, #79, #82:
- Исправлена проблема с поддержкой поддоменов (wildcard) для dnsmasq.
- Исправлена проблема с остановкой работы обхода через VPN при добавлении и/или удалении доменого имени.
- Доработана функция вывода информации о номере версии пакета.
- В процедуру установки пакета добавлены опции Q-выход и S-повторное сканирование интерфейсов, а так же при нажатии на Q, останавливается dnsmasq и выводится инструкция по восстановлению интернета.
- Исправлена ошибка возникающая при старте или перезагрузке AdguardHome сервиса, на шаге 'Очищаем все ранее созданные iptables правила для VPN'. Так же, исправлена ошибка определения статуса Adguard сервиса.
- Теперь нет необходимости ставить * перед доменым именем. При добавлении Квас сделает запрос - добавлять ли поддомены или оставить как есть.
- Обновлен код скрипта обновления пакета ipk/update.sh
- Исправление старых ошибок, указанных в issues.
- Плюс доработка механизма добавления гостевых сетей для работы в тандеме с защищенным списком.
- В данной версии, для соединения ssr теперь не происходит переподключение интернета.
- Добавлен скрипт, который проверяет работу VPN соединения и в случае, если соединение зависло - пытается восстановить его. Проводится трехразовая попытка восстановления VPN соединения - в случае неудачи, попытки прекращаются.
- Исправлена ошибка при удалении хоста - поставлен фильтр на удаление записей ipset из файла конфигурации AGH только при его наличии (AGH) в системе.
- Добавлен флаг upgrade для ручного обновления пакета до новой версии.
- Доработана функция при обновлении правил, после которой происходил разрыв соединения тикет 48.
- Доработана функция получения entware интерфейса по IP, из-за чего происходило неверное распознавание данных.
- Доработана функция перезапуска основного ISP подключения - reset_ISP_connection.
- Решена проблема #38. Команда rm теперь отвечает за удаление пакета (при удалении пакета, Вы должны подтвердить действие), а команда del - за удаление хоста из списка.
- Решена проблема #40. Теперь, все данные доменных имен блока ipset заносятся в отдельный фейл /opt/etc/AdGuardHome/kvas.ipset, а в файле конфигурации AdGuardHome меняется только ссылка на этот файл в переменной ipset_file.
- Решена проблема #52. Изменен порядок работы с гостевыми сетями. Команда bridge удалена, вместо нее теперь добавить и удалить гостевую сеть можно командой 'vpn guest add/rm'. Решение работает как для SSR, так и для VPN.
- При установке пакета, происходит автоматическое обновление iptables (актуально для новой прошивки).
- Для SSR соединений добавлен "костыль" в случае отказа загрузки ssr сервиса при загрузке роутера.
- Решена проблема #68 с отключением шифрования при трафика при его проверке.
- Попытка решить проблемы с отсутствием обхода при переподключением VPN (тикеты #45 и #73)
- Доработан код функции по добавлению гостевых сетей (kvas vpn guest add all).
- Добавлена возможность удалять пакет безусловно при помощи ключа "y|yes|да". Теперь можно удалить пакет
- Добавлена возможность обновления пакета через скрипт командой
curl -sOfL https://bit.ly/kvas_update && sh ./kvas_update
- Доработана функция получения локального entware интерфейса по ip. Спасибо за помощь @Aleksandr Akimov.
- Доработана функция импорта данных из файла. Теперь хосты со звездочкой впереди обрабатываются корректно.
- Доработан механизм отображения списка в случае, если этот список пуст.
- Отключено принудительное переподключение основного соединения при обновлении данных через cron [тикет от evgeny1503]
- Снижен уровень логирования в журнал роутера, убраны излишние сообщения необходимые для отладки пакета.
- Косметическая доработка кода. Замена имен файлов их кодовым эквивалентом.
- Исправлена ошибка при добавлении и удалении диапазона IP-адресов из защищенного списка (тикет #32)
- Реализована возможность добавления доменного имени с начальными 'http[s]://', которая порой требуется при добавлении домена из буфера обмена. При этом сам доменный суффикс 'http[s]://' подлежит отсечению.
- Добавлены предупреждения, в случае запуска команд для работы с dnsmasq и dnscrypt-proxy с активированным AdGuardHome о том, что работает только один из вариантов, либо AdGuardHome, либо связка dnsmasq+dnscrypt-proxy
- Косметические изменения в документации, теперь документацией по пакету можно ознакомиться по ссылке https://github.com/qzeleza/kvas/wiki
- Доработан механизм обновления ssr соединения при редактировании его данных посредством команд
kvas ssr *
- Доработан механизм составления отчета об ошибке при подаче его через GitHub.
- Изменен механизм установки пакета - процесс настройки выделен в отдельную функцию. Добавлена новая команда
kvas setup
для первичной настройки пакета. - Изменен механизм удаления пакета - процесс удаления выделен в отдельную функцию. Добавлена новая команда
kvas uninstall
для удаления пакета и его архивных данных. Командаkvas uninstall full
удаляет пакет вместе со всеми, установленными пакетами. - Изменен механизм установки пакета AdGuardHome. Теперь для установки пакета AdGuardHome, необходимо просто выполнить команду
kvas adguard on
. В случае отсутствия пакета - он будет установлен и обновлен до крайней версии автоматически. - Исправлена ошибка, которая приводила к тому, что при отсутствии архивной копии ssr настроек соединения не происходило запроса на новые настройки;
- Осуществлен перенос нескольких глобальных переменных в общий файл конфигурации kvas.conf, с целью повысить стабильность работы пакета.
- Внесены исправления в процесс инициализации и проверки соединения. Сейчас в случае проблем с интернетом происходит переподключение основного подключения к провайдеру.
- Доработаны правила срабатывания создания iptables правил в библиотеке ndm
- Исправлена ошибка приводящая к обращению к службе dnsmasq при запущенном сервисе adguard (issues #17, #15)
- Откатились на паузу в 1 сек. (как было в 19 бете) при сканировании интерфейсов и отображении их списка с целью корректного отображения названий интерфейсов.
- Исправлена ошибка #22, приводящая к отсутствию запроса на ввод данных при выборе Shadowsocks соединения.
- Добавлена новая команда
kvas uninstall
для удаления пакета и его архивных данных. Командаkvas uninstall full
удаляет пакет вместе со всеми, установленными пакетами.
- При выполнении проверки kvas test теперь, в случае, если IP домен отсутствует в ipset таблице, осуществляется не просто ее перезаполнение, а выполняется полная переустановка правил заново функцией cmd_kvas_init, что повышает надежность восстановления списка и приведением его в норму.
- Добавлена новая команда kvas adguard update, которая позволяет в ручном режиме обновлять версию пакета AdGuardHome в зависимости от Вашей платформы. Выражаю благодарность @avn за идею и сам скрипт.
- В защищенный список по умолчанию добавлено несколько популярных доменов.
- Добавлены новые команды kvas adblock add и kvas adblock del , которые оперируют со списком исключений и удаляют домены в этом списке из списка блокировки рекламы.
- Добавлена команда для удаления обновления информации о доменных ip из cron: 'kvas period del|clear'
- Исправлена ошибка приводящая к неверной работе установки периода обновления данных.
- Переписан код скрипта ipset, добавлены сообщения в лог роутера и добавлен запуск скрипта в cron каждые 5 минут, для регулярного обновления IP адресов для доменных имен.
- Оптимизирована функция установки/удаления iptables правил для shadowsocks соединений.
- Исправлена ошибка возникающая при запуске обновления - переставал работать обход блокировок.
- Доработан механизм обновления версии пакета AdGuardHome по команде kvas adguard update.
- Меняем в файле конфигурации AdGuard Home DNS его адрес, в случае если он равен 0.0.0.0. Это предотвращает зависание пакета при его установке (см. issue#9 ). '
- Логирование в механизме прерываний ndm теперь производится только в случае ошибок, а не свершения каких либо действий.
- Произведено обновление iptables правил для SHADOWSOCKS на более эффективные.
- Создан новый файл /opt/apps/kvas/etc/config/excluded.net c именами локальных сетей, обращения к которым будет игнорироваться при запросах к SHADOSOCKS/VPN подключениям.
- Полностью переработан механизм очистки установки правил iptables (кроме VPN правил для случая, когда программное и аппаратное ускорение ОТКЛЮЧЕНО)
- Изменен порядок добавления хостов в защищенный список, в случае наличия домена в списке. Теперь происходит замена домена. Например, если в списке был домен test.com, а добавляем *test.com, то просто произойдет замена домена на *test.com.
- Добавлен домен *fburl.com в защищенный список по умолчанию для работы сайта лицокнига.
- Добавлена новая команда reset|init которая пересоздает все правила в случае сбоя или проблем с разблокировкой.
- Введено новое правило при добавлении домена без звездочки - проверка на доступность домена осуществляться будет, а при синтаксисе добавляемого домена *domain.dom, проверка на доступность осуществляться не будет.
- Добавлена возможность тестировать любой введенный домен при исполнении команды 'kvas dns test domain.com'. По умолчанию, тестируется домен facebook.com.
- Дополнены файлы справки и документация по проекту.
- Добавлены дополнительно к ключу 'help', ключи '-h' и '--h' для вызова справки.
- Теперь, при добавлении любого из доменов в защищенный список, в случае подключенной опции блокирования рекламы, добавляемые доменные имена проходят проверку на наличие их в списке блокировки рекламы и в случае их наличия они удаляются от туда. Причем, если добавлен домен в виде *domain.com, то будут удалены все доменные имена с основанием domain.com, выше второго уровня, т.е. удалению подлежат, все имена от domain.com до dm5.dm4.dm3.domain.com и выше. Но удалению НЕ подлежат такие имена, которые не заканчиваются на domain.com, как например domain.com.ru.org.
- Исправлена ошибка при установке пакета в режиме установки dnsmaqs, когда установка пакета завершалась с ошибкой
- Исправлена ошибка отсутствия вывода версии пакета kvas ver
- Исправлена ошибка работы при исполнении команды kvas ssr port, сейчас выводит все правильно - версию порта.
- Добавлена новая команда vpn rescan/scan принудительное сканирование интерфейсов роутера, в случае, появления нового подключения, например wireguard или openvpn.
- Исправлена ошибка повторного создания правил маршрутизации и маркировки трафика VPN подключений
- Изменен формат обработки журналирования в лог роутера при ошибках в процессе создания правил маркировки и маршрутизации
- Добавлены тесты для функций создания правил маркировки и маршрутизации (файл ndm)
- Обновлен порядок запуска пакета и созданы правила для очистки всех правил и таблиц при запуске (как для adguard, так и для dnsmasq)
- Обновлены файлы справки по всем разделам
- Внесены новые правила для маркировки VPN подключений, которые являются более эффективными, относительно предыдущих (благодарность @avn).
- Ликвидирована проблема, приводившая к неверному определению подключения интерфейсов при их сканировании.
- Ликвидирована проблема, приводившая к зависанию процесса установки пакета на заключительной стадии проверки работы пакета.
- Изменен порядок установки пакета, теперь в первую очередь происходит выбор VPN интерфейса и затем все остальные действия.
- Исправлена ошибка, которая приводила к обнулению списка блокировки рекламы при его сканировании (благодарю @Килелева Николая)
- Удалены строки с комментариями и пустые строки при выводе отладочной и тестовой информации из файлов конфигурации.
- Исправленные ошибки при выборе shadowsocks подключения во время установки
- Изменилось поведение при исполнении команды kvas без аргументов - вместо вывода справки, сейчас выводит БС (исполняет свое предназначение)
- Внесены изменения в работу команды adguard off - сейчас Adguard отключается в принудительном порядке (ранее сначала проверялся по статусу)
- Добавлена дополнительная проверка на наличие /opt/etc/kvas.dnsmasq при проверке работы dnsmasq
- Добавлена возможность архивировать и восстанавливать настройки для dnscrypt-proxy2
- Изменен принцип проверки работы службы AdGuardHome - ориентация на наличие запущенной службы и соответствующей записи в файле настроек Кваса
- доработан скрипт маркировки VPN трафика [100-vpn-mark], теперь скрипт автоматически определяет как ему маркировать трафик (с включенным или отключенным ускорением)
- теперь команда kvas ssr port отображает текущий номер локального порта shadowsocks соединения
- исправлена ошибка при установке локального порта по команде kvas ssr port
- при использовании adguard и выводе команды kvas debug, секция ipset теперь выводится полностью
- удален запрос на удаленную установку AdGuard Home для избежания последующих недоразумений.
- устранена ошибка при повторном удалении AdGuard Home: 'sed: /opt/etc/AdGuardHome/AdGuardHome.yaml: No such file or directory'
- изменена структура и наименования исполняемых файлов по функциональному признаку для удобочитаемости файлов проекта
- добавлена возможность подключать гостевую сеть к VPN подключению, отличное от shadowsocks. Команда kvas vpn guest ent_network
- покрытие тестами составляет 27% (33/121)
- доступна новая команда bridge выводит список доступных гостевых интерфейсов
- исправлена ошибка, возникавшая при чтении данных из архива shadowsocks соединения
- в скрипте kvas_ipset адрес 0.0.0.0 убран из добавления в таблицу ipset
- доработан механизм установки AdGuard Home на локальное устройство
- при запуске команды kvas dns, теперь выводится сервис-владелец DNS: dnsmasq, dnscrypt_proxy2, AdGuard Home
- доработан скрипт kvas_adblock по обновлению списков рекламы в разрезе отработки различных ошибок.
- исправлена ошибка, которая приводила к невозможности запустить adguard после перезагрузки роутера.
- исправлена ошибка восстановления из архивной копии shadowsocks, которая приводила к невозможности ввода новых данных
- переписан код определения состояния AdGuard Home и код по его установке
- исправлена ошибка зависания при удалении пакета на стадии очистки правил iptables.
- исправлена ошибка при зависании при установке пакета на стадии тестирования соединения.
- переписан скрипт формирования списка ipset для AdGuard Home
-
реализованы новые команды
- 'bridge add all' - разрешаем доступ к VPN всем существующим гостевым сетям
- 'bridge del all' - запрещаем доступ к VPN для всех гостевых сетей.
- 'ssr new' - меняет настройки учетной записи shadowsocks сервера на другие настройки, в случае смены сервера или иных данных учетной записи
- 'adguard on' - подключает использование AdGuard Home к КВАСу
- 'adguard off' - отключает использование AdGuard Home в КВАСе
- 'adguard test' - тестирует правила создания ipset для AdGuard Home
-
упразднены следующие команды - 'ssr set', вместо нее используйте 'vpn set' - 'dns adguard', вместо нее используйте 'adguard on' - 'ssr flush' за ненадобностью, вместо нее используйте 'ssr reset' - 'vpn flush' за ненадобностью, вместо нее используйте 'vpn reset'
-
обновлена справка по новым командам
-
возможность сохранения защищенного списка при обновлении/переустановке пакета
-
команда смены DNS сервера на AdGuard Home теперь работает как положено. AdGuard Home слушает 53 порт, а записи ipset формируются для него скриптом. При этом отключаются службы dnsmasq и dnscrypt_proxy2, так как AdGuard Home имеет полную замену всему их функционалу + WUI интерфейс.
-
в случае отсутствия AdGuard Home на роутере, теперь скрипт может его автоматически скачать.
-
полностью переписан скрипт сборки проекта с учетом нововведений выше.
-
добавлена проверка, при установке пакета, на включение IPv6 на интерфейсе для интернета В случае ее наличии - отключает.
-
оптимизирован код отвечающий за тесты и отладку пакета
-
в целях отладки ведется сбор данных при установке пакета в файл /opt/tmp/kvas.install.log
-
при удалении пакета, теперь очищаются все правила и таблицы, которые были созданы пакетом для своей работы
-
упразднено большинство вопросов при установке, все делается по умолчанию и в случае необходимости может быть отключено вручную соответствующими командами
-
внесены правки в код для проверки работоспособности пакета AdGuard Home в связке с КВАСом.
-
исправлены синтаксические ошибки.
-
теперь, исходный код пакета Вы сможете посмотреть по этой ссылке https://github.com/qzeleza/kvas.git