Применение сета
Применить на карточке или в диалоге подробностей создаёт локальный сет из опубликованного. Хаб при этом не меняется; сет создаётся на этом роутере и сразу начинает работать.
Что делает применение
- Файлы payload, на которые ссылается сет, загружаются с хаба по хешу. Если ни один хаб не ответил, сет не применяется.
- Сет раскрывается с проверками общего сета, вставленного в Импорт: неизвестные настройки отбрасываются, неприемлемые для этой b4 значения заменяются значениями по умолчанию, пин для домена вне сета или на частный адрес отбрасывается, DNS-перенаправление на DoH-резолвер вне публичного списка отбрасывается. О каждом изменении сообщается после создания сета.
- Файлы payload устанавливаются в
captures/и появляются в Настройки, Пэйлоады под именем из протокола и имени сервера. Существующий файл с тем же именем и другим содержимым сохраняется; новый получает суффикс с хешем. - Категории geosite и geoip сверяются с локальными базами. Об отсутствующих категориях сообщается. Без базы категории убираются из сета; сет, у которого не осталось целей, отклоняется. Об ASN, чьих префиксов этот роутер ещё не загружал, сообщается, и они загружаются в фоне.
- Сет создаётся включённым, с названием из публикации, первым на странице Сеты. Домены, которые он перечисляет, убираются из всех остальных включённых сетов, где они были. Сообщение называет домены и сеты, из которых они убраны.
- Изменение применяется без перезапуска.
Сообщение после применения предлагает Открыть сет, который открывает редактор, и Отменить, который удаляет сет.
Отменить удаляет сет и ничего больше. Домены, убранные из других сетов на шаге 5, остаются убранными.
Применён и изменён
Локальный сет хранит, из какого сета на хабе он взят: идентификатор, версию, отпечаток стратегии и дату. Карточка на странице Сообщество показывает Применён и кнопку Открыть сет; карточка на странице Сеты показывает метку Сет сообщества, которая открывает сет на странице Сообщество.
Отпечаток покрывает настройки TCP, UDP, фрагментации, фейковых пакетов, MSS clamp и DNS-перенаправления. Правка любой из них в редакторе меняет метку на Применён, изменён, а метку на карточке сета - на Сет сообщества, изменён. Цели, фильтры портов, пины, имя, маршрутизация и фильтры устройств в отпечаток не входят: сет сообщества можно сузить до нескольких доменов или направить через прокси, и связь сохраняется. Эти локальные правки живут до следующего Обновить или Применить заново, которые заменяют сет опубликованной версией целиком.
Связь нужна для отчётов «работает» и «не работает» и для обновления, описанного ниже.
Обновление и повторное применение
Когда автор публикует новую версию, на карточке вместо Применить появляется Обновить до версии N. У изменённого сета, который уже на новейшей версии, - Применить заново. Обе кнопки после подтверждения заменяют локальный сет опубликованным целиком. Сет сохраняет идентификатор, позицию в списке и состояние включения; остальные настройки берутся из опубликованной версии.
Маршрутизация в прокси или интерфейс, фильтры устройств и эскалация публикацией не переносятся, поэтому Обновить и Применить заново возвращают их к значениям по умолчанию вместе с правками стратегии и целей. Маршрутизацию после этого приходится задавать заново.
Роутер, применивший версию 1, продолжает работать с версией 1, пока не нажата кнопка Обновить. Каталог хранит только новейшую версию, поэтому оценка на карточке относится к ней.
Проверка применённого сета
Проверить на применённом сете загружает один домен дважды: через b4 с активным сетом и в обход b4. Домен по умолчанию - тот, по которому был отфильтрован список, иначе первый домен сета; можно ввести любой домен, который сет покрывает.
| Через b4 | В обход b4 | Вердикт |
|---|---|---|
| OK | OK | Сейчас домен ничто не блокирует; сет для него не нужен. |
| OK | не открывается | Сет делает своё дело. |
| не открывается | OK | Сет ломает домен. |
| не открывается | не открывается | Адрес может быть заблокирован целиком, или сайт лежит. |
Проверка ничего не отправляет в хаб.
Дискавери и каталог
У Дискавери есть параметр Сначала пробовать сеты сообщества; он показывается, пока включён хаб сообщества, и включён по умолчанию. Запуск с этим параметром:
- синхронизирует каталог, если локальная копия старше десяти минут;
- ищет в каталоге каждый сайт так же, как страница Сообщество;
- берёт до трёх сетов на сайт, лучшие по оценке первыми, и загружает их payload; сет с недоступным payload пропускается;
- проверяет их после стратегий, запомненных с прошлых запусков, и до встроенных пресетов, под именами
community-<название>-v<версия>.
Журнал запуска сообщает, сколько стратегий сообщества поставлено в очередь. Победившая стратегия сообщества применяется как любой результат Дискавери, и созданный сет сохраняет связь с сетом на хабе: на странице Сообщество он показан как Применён и принимает отчёты.