Данный пакет позволяет осуществлять контроль и поддерживать в актуальном состоянии список разблокировки хостов или "Белый список". При обращении к любому хосту из этого списка, весь трафик будет идти через фактические любое VPN соединение, заранее настроенное на роутере, или через Shadowsocks соединение.
Здесь реализуется связка ipset+vpn|shadowsocks+dnsmasq(wildcard)+dnscrypt-proxy2.
Пакет представляет собой обвязку или интерфейс командной строки для работы с белым списком.
Особо выделю, возможность данного пакета, в связи с использованием в нем dnsmasq с wildcard, работать с любыми доменными именами третьего и выше уровней. Т.е. в белый список достаточно добавить *domen.com и маршрутизация трафика будет идти по выбранному vpn при обращении, как к sub1.domen.com, так и к любому другому подломанному имени subN.domen.com.
Тема на форуме Keenetic - forum.keenetic.com
Список последних изменений можно посмотреть здесь
- Данный пакет использует возможности Entware - без установленного Entware он не работает
- В пакете используются некоторые функции API от Keenetic, потому на других роутерах он работать не будет. Хотя это ограничение возможно обойти.
- Пакет работает пока только на IPv4.
- Квас работает на всех роутерах Keenetic, в виду легковесности задействованных пакетов (начиная с версии 0.9 beta 9 работает на всех платформах: mips, mipsel, aarch64)
- Квас использует dnsmasq, с поддержкой регулярных выражений, а это в свою очередь дает одно, но большое преимущество: можно работать с соцсетями и прочими высоко-нагруженными сайтами, добавив лишь корневые домены по этим сайтам.
- Квас позволяет просматривать/добавлять/удалять/очищать/обновлять/импортировать и экспортировать доменные имена списка разблокировки или белого списка.
- Квас позволяет отображать статус/отключать/включать блокировку рекламы
- Квас позволяет отображать статус/отключать/включать шифрование DNS
- Квас позволяет тестировать и выводить отладочную информацию по всем элементам связки ipset+shadowsocks+dnsmasq+dnscrypt-proxy2
- Подготовьте к работе свою учетную запись VPN
- Это может быть Shadowsocks
-
Приобретите на стороне учетную запись Shadowsocks клиента, либо установите свой сервер на docker (дело на 5 минут).
Внимание! Практика показывает, что аренду сервера необходимо осуществлять у зарубежного провайдера! Это поможет решить проблемы с частичным открытием доменов из "белого списка".
-
Получите и приготовьте четыре параметра:
- IP адрес или доменное имя Shadowsocks сервера
- Номер удаленного порта Shadowsocks сервера
- Пароль для доступа на Shadowsocks сервер
- Метод шифрования на стороне Shadowsocks сервера
-
- Это может быть любое другое VPN соединение из списка: OpenVPN, Wireguard, IKE, PPPOE, CdcEthernet, L2TP, SSTP
- Это может быть Shadowsocks
- Если выбрали VPN соединение отличное от Shadowsocks - настройте его на своем роутере и проверьте его работоспособность.
- Установите entware
- Установите необходимые компоненты в WUI роутера: Общие настройки -> Изменить набор компонентов:
- Модули ядра подсистемы Netfilter
- Пакет расширения Xtables-addons для Netfilter
- Зайдите в админ панель роутера по адресу: https://<IP роутера>/a (будьте бдительны - символ ‘а’ в конце адреса не описка) и введите в поле Command следующую команду
opkg dns-override
, затем нажмите кнопку Send request. - Далее, необходимо сохранить настройки, в том же поле введите команду
system configuration save
, затем нажмите кнопку Send request. - И затем, необходимо перегрузить роутер, для этого, в том же поле введите
system reboot
, после чего, нажмите Send request.
- После перезагрузки устройства, скачайте требуемую версию пакета на роутер, например в папку /opt/apps/packages/. Крайнюю версию пакета всегда можно найти по этой ссылке.
Важно! Запись файлов разрешена только в каталог /opt и далее в глубь по дереву каталога /opt.
- Удалите предыдущую версию пакета (если она была установлена ранее) командой
opkg remove kvas
.
Если ранее пакет был уже установлен, то при запросе об удалении файлов конфигурации можете их не удалять, тогда не придется повторно вводить данные установки соединения.
- Установите новую версию, как пример:
opkg install /opt/apps/packages/kvas_0.9-10_all.ipk
- В процессе установки введите, полученные Вами данные на подготовительном шаге (учетные данные shadowsocks).
- Далее, отвечайте на вопросы по ходу установки.
Как и было описано выше есть два уровня диагностики
Для проверки работы наберите kvas test
В случае отсутствия результата наберите kvas debug > ./kvas.debug
и отправьте мне в личку сформированный файл.
kvas add ya.ru - добавляем ya.ru в список разблокировки без поддержки регулярных выражений.
kvas add *ya.ru - добавляем ya.ru в список разблокировки c поддержкой регулярных выражений.
kvas import ./list - добавляем хосты из файла в списочный файл.
kvas rm google - удаляем все хосты со словом google внутри из списочного файла.
kvas show - выводим все хосты из списка разблокировки.
kvas test - тестируем работу всех служб.
kvas debug > ./log - сохраняем лог отладочной информации в файл.
kvas purge - удаляем все хосты из списка разблокировки.
Команда | Аргументы |
---|---|
kvas add / kvas new | [*][хост] |
kvas del / kvas rm | [*][хост] |
kvas purge / kvas clear | - |
add[new] - добавляем один хост в список разблокировки, аргументом
является добавляемый хост.
* - в начале домена включает режим wildcard.
без * - режим wildcard отключен.
del[rm] - удаляем указанный хост из списка разблокировки.
purge[clear] - полностью очищаем список разблокировки.
Команда | Аргументы |
---|---|
kvas show / kvas list | - |
kvas export | [файл] |
kvas import | [файл] |
show[list] - выводим список всех хостов в списках разблокировки
и блокировки.
export - экспорт списочного файла в указанный файл.
import - добавляем хосты из указанного файла в списочный файл
допускается использование комментариев с символом '#'.
Команда | Аргументы |
---|---|
kvas update | - |
kvas period | [период] |
update - обновляем список IP адресов для хостов для dnsmasq.
period - установка/просмотр периода обновления IP адресов
для списочного файла. Период должно указывать
в форматах: m,h,d,w,n, например:
2m - обновляем каждые две минуты
2h - обновляем каждые два часа
3d - обновляем каждые три дня
4w - обновляем каждые четыре недели
2M - обновляем каждых два месяца
Возможен только один из вариантов, например:
10m или 2h, по умолчанию -период обновления каждые
12 часов или 2 раза в сутки.
Команда | Аргументы |
---|---|
kvas adguard | - |
kvas adguard on | - |
kvas adguard off | - |
kvas adguard test | - |
kvas adguard edit | - |
adguard - выводит состояние режима блокировки рекламы.
adguard test - тестирует правила создания ipset для AdGuard Home
adguard on - включаем, блокировку рекламы.
adguard off - отключаем, блокировку рекламы.
adguard edit - редактируем список источников блокировки рекламы.
Обработке подлежат лишь те, файлы, которые содержат
записи в формате 0.0.0.0 <домен> или 127.0.0 <домен>.
Команда | Аргументы |
---|---|
kvas crypt | - |
kvas crypt on | - |
kvas crypt off | - |
crypt - выводим статус шифрования dns (включено/отключено).
crypt on - включаем, шифрование dns (пакет dnscrypt-proxy2).
crypt off - отключаем, шифрование dns.
Команда | Аргументы |
---|---|
kvas bridge | - |
kvas bridge add | all |
kvas bridge del | all |
bridge - выводит список доступных гостевых интерфейсов
bridge add all - разрешаем доступ к VPN всем существующим гостевым сетям
bridge del all - запрещаем доступ к VPN для всех гостевых сетей.
Команда | Аргументы |
---|---|
kvas vpn | - |
kvas vpn set | - |
kvas vpn reset | - |
vpn - отображаем текущий тип VPN соединения и его состояние.
vpn set - меняем текущий VPN интерфейс, путем выбора из списка доступных.
vpn reset - обновляем таблицу правил iptables для vpn подключения: чистим ее и затем заполняем.
Команда | Аргументы |
---|---|
kvas dns | - |
kvas dns | [IPv4] |
kvas dns test | - |
dns - отображаем текущий DNS (по умолчанию) для работы пакета.
dns <DNS> - устанавливаем DNS (по умолчанию) для пакета в значение <DNS>.
dns test - тестируем работу DNS (по умолчанию) в пакете.
Команда | Аргументы |
---|---|
kvas ssr | - |
kvas ssr new | - |
kvas ssr reset | - |
kvas ssr port | [порт] / ничего |
ssr - отображаем текущий тип VPN соединения и его состояние (тоже что и ключ 'vpn').
ssr new - меняет настройки учетной записи shadowsocks сервера на другие настройки,
в случае смены сервера или иных данных учетной записи
ssr port - отображаем текущий локальный порт Shadowsocks соединения.
ssr port <N> - меняем текущий локальный порт Shadowsocks соединения на <N>.
ssr reset - обновляем таблицу правил iptables для Shadowsocks соединения: чистим ее и затем заполняем.
Команда | Аргументы |
---|---|
kvas dnsmasq | - |
kvas dnsmasq port | [порт] / ничего |
kvas dnsmasq ip | [ip] / ничего |
dnsmasq - отображаем текущие порт и IP, которые прослушивает служба dnsmasq.
dnsmasq port - отображаем текущий порт, который прослушивает служба dnsmasq.
dnsmasq port <N> - меняем текущий порт, который прослушивает служба dnsmasq на <N>.
dnsmasq ip - отображаем текущий IP, который прослушивает служба dnsmasq.
dnsmasq ip <N> - меняем текущий IP, который прослушивает служба dnsmasq на <N>.
Команда | Аргументы |
---|---|
kvas test | - |
kvas debug | - |
test - проверка работы всех служб, задействованных в работе КВАСА.
debug - вывод отладочной информации в случае сбоев в работе КВАСА.
Команда | Аргументы |
---|---|
kvas version / kvas ver | - |
kvas help | - |
version | ver - отображаем версию утилиты.
help - справка.
Поддержать проект можете, путем своего участия в проекте (пишите в "личку"), либо путем перевода любой суммы средств на этот кошелек ЮМани.