Дискавери
Вкладка Дискавери в редакторе сета, между Эскалацией и Импортом/Экспортом, содержит страницы, которые Дискавери проверяет для этого сета, результат последнего поиска для него и переключатель, ставящий сет на мониторинг.
Сет с включённой маршрутизацией отправляет трафик в прокси или интерфейс и стратегию обхода не применяет, поэтому для такого сета вкладка доступна только для чтения и сообщает, что Дискавери к нему не относится.
Адреса Дискавери
В списке - страницы, которые Дискавери запрашивает при поиске стратегии для этого сета и которые проверяет мониторинг, если сет отслеживается. Они хранятся вместе с сетом как sets[].discovery.urls.
| Правило | Что происходит |
|---|---|
| Не больше 5 адресов | Когда список заполнен, поле ввода отключается. |
| Один адрес на имя хоста | Второй адрес на хосте, который уже есть в списке, отклоняется. |
| Голый домен | Превращается в https://<домен>/. |
| Полный URL | Сохраняет путь и строку запроса. Фрагмент (#...) отбрасывается. |
| Схема | Только http и https. |
| Учётные данные | Имя пользователя или пароль в URL отклоняются. |
| Локальные и частные хосты | Отклоняются: localhost и адреса из диапазонов loopback, частных сетей, link-local и CGNAT. |
Стратегия, найденная на этих адресах, записывается в сет и с этого момента действует на все домены, на которые нацелен сет, хотя проверялись только эти адреса. Для сета на основе категории GeoSite это все записи категории. Полезны адреса страниц, которые представляют сет, например главная страница каждого сервиса из него, и страниц, которые без b4 не открываются: адрес, который открывается без обхода, не показывает, работает ли сет.
Кроме ручного ввода, адреса попадают в список так:
- сет, созданный Дискавери, сохраняет адреса, на которых была найдена стратегия;
- Сохранить эти адреса как адреса Дискавери для сета в диалоге применения Дискавери записывает адреса запуска в существующий сет;
- Убрать их из адресов Дискавери этого сета при частичном вердикте удаляет адреса, которые не покрыла лучшая частичная стратегия;
- Отслеживать через <сет> в старом списке доменов мониторинга добавляет адрес этого домена;
- инструмент
b4_watchdogMCP-сервера добавляет и удаляет адреса сета.
Что остаётся на роутере
Адреса Дискавери описывают то, что человек проверяет в своей сети, поэтому вместе со стратегией они не передаются:
| Где | Что происходит с адресами |
|---|---|
| Передача сета и публикация в хабе сообщества | Не передаются никогда. В общем сете их нет, а превью называет их среди исключённых настроек. |
| Обновить до версии N или Применить заново для сета из хаба | Локальные адреса и переключатель мониторинга сохраняются. |
| Сброс сета | Адреса и переключатель мониторинга сохраняются. |
| JSON во вкладке Импорт/Экспорт | Адреса переносятся, переключатель мониторинга - нет: сет, импортированный из такого JSON, начинает без мониторинга. |
| MCP | b4_set_config_value не может записать ни их, ни переключатель мониторинга. b4_watchdog с указанием сета меняет и то, и другое по своим разрешениям. |
Предложения
Предложить загружает до десяти адресов-кандидатов, по одному на хост, в таком порядке:
- адреса, уже сохранённые в сете;
- адреса прошлых результатов Дискавери, которые запускались для этого сета или были к нему применены, от новых к старым;
- сайты из списка DPI Детектора, которые попадают в этот сет;
- собственные домены сета в виде
https://<домен>/; записиregexp:и записи, которые не являются именами хостов, пропускаются; - главная страница встроенных сервисов, категорию GeoSite которых использует сет.
У каждого предложения указан источник, а Добавить вносит его в список. Если движок отдаёт хост другому сету, предложение называет этот сет: стратегия, записанная в этот сет, на такой хост не действует. Сет, цели которого - только большие списки вроде ru-blocked, обычно предложений не получает; тогда вкладка сообщает, что адреса для сета не известны, и страницу, которая открывается на этих сайтах, приходится добавить вручную.
Те же предложения заполняют поле адресов на странице Дискавери, когда там выбран сет без адресов. Предложить и Найти стратегию работают только для сохранённого сета.
Поиск стратегии
Найти стратегию открывает страницу Дискавери с выбранным сетом и адресами из списка в поле ввода. Запуск для сета первой проверяет текущую стратегию сета, подтверждает стратегию, открывшую все адреса, на всех сразу и заканчивается одним вердиктом для сета; см. Запуск для сета. Несохранённые изменения сета при переходе в Дискавери теряются; адреса из списка передаются в поиск.
То же делает пункт Найти стратегию в меню карточки сета на странице сетов.
Последний поиск
Последний поиск для этого сета показывает самый свежий запуск Дискавери для сета: его вердикт, время окончания, найденную стратегию и то, какие адреса она покрыла, а какие нет. Открыть в Дискавери открывает страницу Дискавери с выбранным сетом. Запись хранится в истории Дискавери, по одной на сет; см. Историю.
Мониторинг
Поддерживать работу сета с помощью мониторинга ставит сет на мониторинг. Его адреса Дискавери проверяются по расписанию; если они продолжают не открываться, мониторинг запускает Дискавери для сета, записывает в него подтверждённую стратегию, снова проверяет адреса и отменяет изменение, если они по-прежнему не открываются.
Общий переключатель мониторинга и его интервалы в разделе Настройки, Дискавери действуют для всех отслеживаемых сетов. Пока мониторинг там выключен, переключатель сета может оставаться включённым, но ничего не проверяется, и вкладка сообщает об этом.
Сет отслеживается, пока выполнены все условия:
| Условие | Если не выполнено |
|---|---|
| Сет включён | Переключатель остаётся включённым; сет не проверяется, пока его снова не включат. |
| У сета есть адреса Дискавери | Переключатель остаётся включённым; ничего не проверяется, пока не добавлен адрес. |
| Маршрутизация выключена | Переключатель выключается при сохранении сета. Сет с маршрутизацией отправляет трафик мимо прямого пути, который восстанавливает мониторинг. |
| Сет не ограничен отдельными устройствами через список включения | Переключатель выключается при сохранении сета. Собственная проверка роутера идёт без MAC устройства и под такой сет не попадает. Список исключения не мешает. |
| У сета есть цели-домены или категории GeoSite | Переключатель остаётся включённым, но сет не проверяется. Мониторинг определяет, какой сет обрабатывает адрес, по имени хоста, а для сета из одних IP-адресов, категорий GeoIP или ASN это подтвердить нельзя. |
Пока условие не выполнено, включить переключатель нельзя, а подпись под ним называет причину.
Когда сет сохранён с включённым переключателем и общий мониторинг включён, вкладка показывает статус мониторинга сета с причиной, время последней проверки, последнее восстановление с записанной стратегией и ссылку на страницу мониторинга. На странице сетов карточка отслеживаемого сета несёт бейдж Мониторинг цвета того же статуса, а статус и причина видны в подсказке.
Восстановление записывает в сет, пока редактор может быть открыт на более старой его копии. Редактор отправляет ревизию сета, которую загрузил, и если с тех пор сет на роутере изменился, сохранение отклоняется с сообщением, предлагающим перезагрузить данные. Несохранённые изменения при этом теряются, а восстановление не отменяется незаметно.
Проверки, восстановление и его ограничения, а также статусы отслеживаемого сета описаны на странице Мониторинг.