Дискавери
Дискавери подбирает стратегию обхода для сайтов, указанных в поле ввода, и превращает результат в сет или записывает его в уже существующий сет. Запуск применяет встроенные пресеты стратегий один за другим на отдельной очереди захвата, запрашивает через каждый из них все сайты и оставляет те пресеты, с которыми страница загрузилась. Уже настроенные сеты во время запуска продолжают работать: через проверяемую стратегию идут только запросы самого запуска.
Базовый сценарий описан в разделе Быстрый старт. Эта страница описывает, что делает запуск, как читать его результаты и что записывается в сет при применении результата.
Ввод
Поле принимает домен или полный URL, несколько сразу через запятую или с новой строки. Домен запрашивается как https://<домен>/; URL запрашивается как есть, поэтому страницу по конкретному пути можно указать напрямую. Две записи с одним и тем же именем хоста считаются одним сайтом.
Локальные и частные адреса отклоняются в любом запуске: для произвольных сайтов, для сета или через MCP. Это localhost и адреса из диапазонов loopback, частных сетей, link-local и CGNAT. Запуск не начинается, а страница называет адрес. Имя, которое разрешается в такой адрес, и перенаправление на него тоже не выполняются: такой запрос завершается ошибкой с указанием адреса. Запрос к ним с роутера говорит о сети, в которой работает b4, а не о блокировке.

Сет как входные данные
Поиск стратегии для сета над полем запускает Дискавери для одного сета вместо произвольных сайтов. В списке - сеты, которые не маршрутизируют трафик; сеты, у которых уже есть адреса Дискавери, идут первыми с указанием их числа, а выключенный сет помечен. Сет с включённой маршрутизацией выбрать нельзя, и API отклоняет запуск для него с кодом routed_set: такой сет отправляет трафик в прокси или интерфейс и не применяет стратегию обхода, которую можно было бы искать.
Выбор сета заполняет поле его адресами Дискавери. Для сета без адресов вместо них загружаются предложения: первые пять заполняют поле, остальные появляются под ним чипами, и подсказка на каждом говорит, откуда он взят. Порядок предложений описан в разделе Предложения. Сет, цели которого - только большие списки вроде ru-blocked, обычно предложений не получает, и тогда поле заполняется вручную страницами, которые этот сет представляют.
Запуск для сета проверяет не больше пяти адресов и не начинается, пока в списке их больше. Если адрес из поля обрабатывает другой сет, предупреждение называет его: стратегия, записанная в выбранный сет, на этот адрес не действует, потому что движок сопоставляет его с другим сетом. Пункт Найти стратегию в меню карточки сета и одноимённая кнопка на вкладке Дискавери в редакторе сета открывают эту страницу с уже выбранным сетом.
Параметры
Параметры под полем меняют то, как запуск проверяет, а не то, что он ищет:
| Параметр | Действие |
|---|---|
| Проверять подмену DNS | Перед стратегиями адрес каждого сайта от системного резолвера сравнивается с ответом резолвера, которому доверяет Дискавери: доверенного DNS-сервера или, если он не задан, встроенных в b4 публичных резолверов. Сайт, для которого резолвер отдаёт ложный адрес, получает в свой сет исправление DNS, а сайт, все адреса которого недоступны, ищется по альтернативным адресам. Выключенный параметр означает доверие системному резолверу и ни того, ни другого. |
| Доверенный DNS-сервер | Резолвер, которому доверяет проверка DNS, только для этого запуска; пустое поле означает сервер из раздела Настройки, Дискавери. Допустимые формы и то, что попадает в сет, описаны в разделе Доверенный DNS-сервер. Недоступен, пока проверка DNS выключена. |
| Закреплённые адреса | Строки в формате hosts: сначала адрес, затем имена, которые он обслуживает, как в закреплённых адресах сета. Закреплённое имя запрашивается только через эти адреса, его DNS не проверяется, а предложенный сет сохраняет закрепления. Запуск для сета, включая восстановление мониторингом, проверяет имя, закреплённое в сете, через закрепления сета, если имя не указано здесь. Если ни одно из них не принимает соединение, а проверка DNS включена, имя проверяется так, будто закреплений нет, как и сам сет в этом случае обращается к резолверу; применение результата сохраняет закрепления сета, если только запуск не нашёл для этого имени других адресов. Так проверяется сайт, который не публикует адрес в DNS, например доступный по адресу, опубликованному его владельцами в другом месте. |
| Остановиться на первой стратегии, которая работает для всех адресов | Показывается только при выбранном сете, по умолчанию включён. Поиск завершается, как только одна стратегия проходит подтверждение на всех адресах сета вместе; см. Запуск для сета. Если выключить, проверяются все стратегии: это дольше, но может найтись более быстрая. |
| Сначала пробовать стратегии, которые уже срабатывали | Пресеты, победившие в прошлых запусках, проверяются раньше встроенного списка. Забыть их очищает этот список. |
| Сначала пробовать сеты сообщества | Показывается, пока включён хаб сообщества. Каталог обновляется, и до трёх опубликованных сетов на сайт проверяются после запомненных победителей и до встроенного списка; см. Дискавери и каталог. |
| Подтверждать каждую стратегию | Сколько запросов подряд пресет должен пройти во время поиска, от 1 до 5. Не связано с подтверждением в конце запуска, которое всегда запрашивает победителя ещё три раза. |
| Версия TLS для проверок | Ограничивает запросы TLS 1.2 или 1.3 и ограничивает созданный сет этой версией, поскольку часть DPI обрабатывает их по-разному. В запуске для сета значение по умолчанию означает версию TLS, которой ограничен сам сет. |
| Версия IP для проверок | То же для IPv4 и IPv6. Показывается только когда движок захвата обрабатывает обе. |
| Захваченный ClientHello как содержимое фейков | Поддельные пакеты несут ClientHello, захваченный в разделе Настройки, Пэйлоады, вместо встроенных payload. |
Запуск
Запуск проходит шесть этапов, которые показываются шагами, пока он идёт:
- DNS. Каждый сайт разрешается, ответы проверяются, если проверка DNS не выключена. Сайт, известные адреса которого его не обслуживают, здесь же проверяется на альтернативные адреса. Закреплённое имя этот этап пропускает.
- Без обхода. Каждый сайт запрашивается вообще без стратегии. Сайт, который загрузился здесь через честный ответ резолвера, получает вердикт «обход не нужен» и дальше в поиске не участвует, хотя для сравнения его продолжают запрашивать через каждый пресет. Сайт, который загружается только после исправления DNS-ответа или только через альтернативный адрес, отмечается как найденный с сетом без изменения пакетов.
- Стратегии. Запомненные победители, затем 18 встроенных стартовых пресетов применяются по одному, и через каждый запрашиваются все сайты.
- Подбор параметров. Для каждого семейства техник, давшего рабочий пресет, параметры варьируются на сайте, который лучше всего на него откликнулся, а результат проверяется на всех сайтах.
- Комбинации. Если сработали два семейства или больше, проверяются пресеты, которые их сочетают.
- Подтверждение. Пресет-победитель каждого сайта собирается ровно в том виде, в каком он был бы сохранён как сет, и запрашивается ещё три раза. Победитель, не прошедший хотя бы один из этих запросов, уступает место следующему кандидату.

Панель показывает текущий этап, прошедшее время, число проверенных конфигураций и последнюю строку журнала запуска; Показать журнал открывает журнал целиком. Полоса под шагами измеряет стартовый проход, где число проверок известно заранее; начиная с подбора параметров она лишь показывает, что запуск продолжается, потому что число проверок на этих этапах зависит от того, что нашли первые. По строке на сайт видно, что найдено к этому моменту: стратегия с описанием в одно предложение, число перебранных пресетов или то, что сайт открывается без b4.
Запуск можно прервать, как только таблица показывает достаточно. Остановить и подтвердить завершает поиск на текущем пресете, пропускает оставшиеся этапы и сразу переходит к подтверждению найденных победителей; пропущенные шаги помечаются как пропущенные. Такой результат подтверждается как любой другой, но параметры для него не подбирались, поэтому может существовать более быстрая стратегия. Пока ничего не найдено, кнопка называется Остановить и делает то же самое, завершая запуск без подтверждения. Во время подтверждения, достигнутого таким образом или в конце полного запуска, кнопка называется Остановить сейчас и завершает запуск немедленно; всё найденное сохраняется и записывается в историю с пометкой «не подтверждена». Запуск, начатый мониторингом для восстановления сета, показывается так же, но остановить его с этой страницы нельзя.
Одновременно может идти только один запуск. Мониторинг использует ту же среду: восстановление, подошедшее по времени, пока идёт запуск с этой страницы, ждёт его окончания, а во время восстановления запуск отсюда не начинается. Обновление файрвола, начатое во время запуска, ждёт его завершения. После окончания запуска очередь и правила, которые он использовал, освобождаются, на что уходит несколько секунд; страница сообщает об этом и включает Начать, когда всё готово.
Запуск для сета
Запуск для сета проверяет адреса сета одной группой и заканчивается одним вердиктом на весь сет, который показывается карточкой над Результатами по адресам. От обычного запуска он отличается в трёх местах.
Первой проверяется собственная стратегия сета. Сразу после запроса без обхода все адреса запрашиваются через текущие настройки TCP, фрагментации и фейков сета, взятые отдельно; в результатах это Текущая стратегия сета. Затем идут запомненные победители, сеты сообщества и встроенные пресеты.
Стратегия, открывшая все адреса, подтверждается на всех сразу. Пока включён параметр Остановиться на первой стратегии, которая работает для всех адресов, стратегия, открывшая во время поиска каждый адрес, собирается в том виде, в каком её нёс бы сет, и каждый адрес запрашивается через неё три раза, все в одной конфигурации - так, как сет работал бы на роутере. Если все запросы прошли, поиск на этом заканчивается, оставшиеся этапы пропускаются, и панель результатов сообщает об этом. Стратегия, не прошедшая хотя бы один из этих запросов, отбрасывается, и поиск продолжается. После трёх стратегий, не прошедших такое подтверждение, запуск больше не останавливается досрочно и проходит обычный поиск до конца. Запуск, в котором все адреса открываются без обхода, тоже останавливается досрочно. При выключенном параметре поиск идёт до конца, а совместное подтверждение выполняется только после него.
Вердикт относится к сету, а не к сайту. Запуск, дошедший до конца без досрочной остановки, так же совместно подтверждает до трёх стратегий, открывших все адреса, и вердикт определяет первая прошедшая:
| Вердикт | Значение | Что предлагает карточка |
|---|---|---|
| одна стратегия покрывает все адреса | Одна стратегия прошла совместное подтверждение: три запроса из трёх на каждом адресе. | Применить к сету <имя> записывает её в сет по правилам из раздела Запись в существующий сет. Адреса, которые открываются и без b4, названы. |
| текущая стратегия работает | Собственная стратегия сета при отдельной проверке прошла на всех адресах, поэтому записывать нечего. | На случай, если в браузере сайты всё равно не открываются, карточка называет адреса, которые обрабатывает другой сет, и адреса, которые в сет вообще не попадают, - стратегия сета к ним не применяется, - а также напоминает, что браузер может использовать QUIC (HTTP/3) или IPv6, а Дискавери их не проверяет. |
| покрывает часть адресов | Ни одна стратегия не работает для всех адресов. Карточка перечисляет адреса, которые покрывает лучшая стратегия, и те, которые не покрывает. | Всё равно применить к сету <имя> записывает её с предупреждением, что сет может перестать открывать непокрытые адреса. Убрать их из адресов Дискавери этого сета удаляет непокрытые адреса из сета. Карточки по адресам ниже позволяют создать для них отдельный сет. Применение не предлагается, если лучший частичный результат - собственная стратегия сета или только исправление адреса либо DNS. |
| обход не нужен | Все адреса открываются без b4. | Применять нечего. По таким адресам нельзя понять, работает ли сет; проверять стоит страницы, которые без b4 не открываются. |
| ничего не сработало | Для адресов, которым нужен обход, ни одна стратегия не сработала. | Карточки по адресам показывают, что произошло с каждым. Адреса, которые нечем было проверить, перечислены, и Убрать их из адресов Дискавери этого сета удаляет только их. |
| остановлен до результата | Запуск отменён. | Применять нечего. |
Если собственная стратегия сета открывает все адреса только вместе с DNS-перенаправлением или закреплением альтернативного адреса, которых у сета нет, вердикт - одна стратегия покрывает все адреса, а не текущая стратегия работает, чтобы применение записало в сет недостающую часть DNS.
Адрес, имя которого не резолвится, не покрывается никогда, поэтому сет с таким адресом получает в лучшем случае покрывает часть адресов. Карточка перечисляет такие адреса, и Убрать их из адресов Дискавери этого сета их удаляет.
Последний запуск каждого сета сохраняется и показывается на вкладке Дискавери этого сета.
Мониторинг восстанавливает отслеживаемый сет именно таким запуском: проверка DNS пропускается, первой проверяется текущая стратегия сета, а поиск останавливается на первой подтверждённой стратегии, покрывшей все адреса. Записывается только вердикт одна стратегия покрывает все адреса.
Результаты
Каждый сайт из запуска получает один вердикт. В запуске для сета эти карточки находятся в Результатах по адресам, под вердиктом сета.
| Вердикт | Значение |
|---|---|
| Стратегия найдена | Что-то открыло сайт: пресет, исправленный DNS-ответ или альтернативный адрес. Карточка называет победителя, описывает его одним предложением и перечисляет, что сделает сет. Бейдж говорит, прошло ли подтверждение. |
| Обход не нужен | Сайт открылся без стратегии по адресу, который отдал его резолвер. Применять нечего: сет для него лишь прогонит трафик через ненужные изменения пакетов. |
| Адрес заблокирован | Соединения со всеми известными адресами сайта обрываются раньше, чем начинается TLS, и DNS-ответы других регионов тоже не дали доступного адреса, поэтому стратегия на уровне пакетов не поможет. Такому сайту нужен сет с маршрутизацией через прокси или VPN. |
| Перехвачен шлюзом | На TCP-рукопожатие с адресами сайта отвечает первый узел перед этим хостом, а не сайт: на SYN с пределом в один переход, на который дальше первого узла ответить некому, приходит ответ. Соединение несёт прозрачный прокси на этом шлюзе, поэтому ни одна стратегия на уровне пакетов с этого хоста дальше него не проходит, и запуск останавливается после фазы DNS, когда так обслуживаются все адреса. За чужим роутером b4 должен работать на этом роутере, либо этот хост нужно исключить из его перенаправления; если b4 и есть роутер, так поступает провайдер на своей границе, и поможет только сет с маршрутом через прокси. Если DNS-ответ другого региона даёт адрес, который маршрутизируется обычным путём, поиск продолжается с ним. |
| Имя не резолвится | Ни у одного резолвера нет адреса для имени сайта, как бывает с опечаткой в имени или истёкшим доменом, поэтому подключаться не к чему и проверить стратегию нельзя. Такой вердикт выносится, когда запрос без обхода не проходит на разрешении самого имени, а системный резолвер, повторно опрошенный об адресах IPv4 и IPv6, отвечает, что нет ни тех, ни других. Если повторный запрос заканчивается ошибкой, а не ответом, для вердикта нужны включённый Проверять подмену DNS и фаза DNS, тоже не нашедшая адреса: ни у системного резолвера, ни через DNS поверх HTTPS, ни через обычный DNS, ни в ответах для других регионов. Имя, для которого фаза DNS нашла адрес, такого вердикта не получает, что бы ни отвечал системный резолвер. Такой сайт исключается из дальнейшего поиска, а запуск, в котором проверять больше нечего, на этом заканчивается. Ответ NXDOMAIN от DNS поверх HTTPS или доверенного DNS-сервера показывается как несуществующее имя, и поиск альтернативных адресов для него пропускается. Ответ, что имя существует, но у него нет адреса проверяемого семейства, показывается как таковой: сайт, опубликовавший свой адрес в другом месте, проверяется, если указать этот адрес в Закреплённых адресах. Имя с адресами только одного семейства IP получает этот вердикт с указанием недостающего семейства, если запуск ограничен другим семейством: проверять через него нечего. Проверка DNS запрашивает имя в том виде, в каком оно введено, поэтому для интернационализированного имени, например домена .рф, учитывается только ответ системного резолвера для его ASCII-формы (xn--...), к которой подключаются запросы. |
| Ничего не найдено | Все пресеты не сработали. В журнале видно, как именно не прошёл каждый. Повторный запуск с TLS 1.2 или захваченным ClientHello иногда меняет исход. |
Сайты с одним и тем же пресетом-победителем показываются на одной карточке, поскольку применение создаёт один сет для всех них. Карточка строится по самому сету, с теми же строками, что и на странице сетов: стратегия разделения с параметрами, поддельные пакеты, цели и то, что происходит с DNS. Ниже Сработали ещё N стратегий перечисляет все остальные пресеты, открывшие сайт, быстрые первыми, каждый с кнопкой Взять вместо неё, а за ними число подтверждений и скорость по каждому сайту и сколько из проверенных конфигураций открыли страницы. Победитель - самый быстрый из них по одному запросу, а это шумная мера; пресет из этого списка - столь же законный выбор.

Применение
Применить как сет на карточке результата, Применить в истории и Взять вместо неё у альтернативы открывают один и тот же диалог с построчным превью сета. Он предлагает до трёх вариантов:
| Вариант | Действие |
|---|---|
| Записать стратегию в существующий сет | Заменяет стратегию обхода выбранного сета, не трогая остальное. См. ниже. |
| Создать новый сет | Создаёт сет из результата. См. Создание сета. |
| Добавить в <имя>, где уже используется та же стратегия | Предлагается, если у включённого сета точно такая же стратегия. Сайты добавляются в этот сет вместо создания нового. |
Запись в существующий сет выбрана по умолчанию, если запуск шёл для сета или какой-то сет указывает сайт точно; иначе диалог открывается на создании нового сета. Запись в сет, который обрабатывает сайт, заменяет его стратегию на месте, поэтому следующую стратегию можно попробовать без второго сета для того же сайта.
Запись в существующий сет
Какой сет изменить перечисляет сет, для которого шёл запуск, а за ним каждый включённый сет без маршрутизации, который уже совпадает с сайтом: указывает его точно, через родительский домен, через категорию GeoSite или через запись regexp:. У каждого указано, почему он предложен. Другой сет открывает список всех остальных сетов без маршрутизации, включая выключенные.
Записывается только стратегия обхода:
| Часть сета | После записи |
|---|---|
| TCP | Берётся из результата, кроме фильтра портов и защиты от RST, которые остаются от сета. Обнаружение IP-блокировок остаётся таким, каким было у сета, если результат его не включает. |
| Фрагментация и фейки | Берутся из результата. |
| UDP и QUIC | Не меняются. Дискавери проверяет по TCP и никогда не проверяет QUIC, поэтому о настройках UDP ему сказать нечего. |
| DNS-перенаправление | Меняется, только если результат использует DNS-перенаправление. Собственные закрепления сета сохраняются. |
| Закрепления DNS | Закрепление, которое результат несёт для домена, заменяет закрепления сета для этого домена. Закрепления других доменов остаются. |
| Цели, название, маршрутизация, эскалация | Не меняются, включая фильтры версии TLS и IP. |
| Адреса Дискавери | Не меняются, если не отмечено Сохранить эти адреса как адреса Дискавери для сета. |
Ни один домен не добавляется в сет и не забирается из другого сета, за одним исключением. Если выбранный сет не совпадает с проверенными сайтами, появляется отмеченный флажок Добавить <сайты> в этот сет. Если оставить его, сайты добавляются в домены сета и убираются из других включённых сетов, где они указаны, как при создании нового сета. Если снять, записывается только стратегия, и диалог сообщает, что к этим сайтам она не применяется.
Диалог также предупреждает, когда выбранный сет совпадает с сайтом, но на деле его обрабатывает другой сет, потому что у того более точная запись или он стоит раньше в списке: новая стратегия на этом сайте не действует, пока так остаётся. Для выключенного сета показывается пометка, что стратегия начнёт действовать, когда сет будет включён.
Сохранить эти адреса как адреса Дискавери для сета записывает адреса сайтов, к которым относится результат (на карточке вердикта сета - все адреса запуска), как адреса Дискавери сета вместо прежних; подпись говорит, сколько их заменяется. Флажок отмечен заранее, если у сета адресов нет. Сет, связанный с хабом сообщества, сохраняет связь и после замены стратегии отмечается как изменённый.
Применить к сету <имя> на карточке вердикта сета открывает сокращённый диалог для той же записи в сет запуска. Домены он не добавляет никогда и предупреждает, если стратегия не сработала для части адресов сета.
Создание сета
Предлагаемое название - сайт без префикса и домена верхнего уровня, instagram для www.instagram.com, с суффиксом, если запуск был ограничен версией TLS или IP. Для одного сайта совпадение можно сократить до родительского домена, чтобы сет покрывал и поддомены. Создание нового сета переносит сайт из включённого сета, где он указан, потому что домен из двух включённых сетов обрабатывает тот, что стоит раньше в списке.
Созданный сет попадает в начало списка и сразу включён. Его цели - названные сайты плюс категории geosite или geoip, которые b4 связывает с ними по встроенной таблице CDN, если соответствующая база установлена. Адреса, узнанные во время запуска, в сет не переносятся, поэтому сет совпадает по имени сервера. DNS-перенаправление включается только для сайта, резолвер которого отдавал ложный адрес, а закрепление адреса - для сайта, которому понадобился альтернативный адрес, для имени из Закреплённых адресов и для сайта, которому резолвер отдаёт ложный адрес, если ни один резолвер, доступный сету, не возвращает верного. Адреса проверки сайтов, для которых создан сет, становятся его адресами Дискавери, так что его можно снова проверить или поставить на мониторинг с теми же страницами.
Запись истории хранит сет, собранный запуском, и сеты стратегий, которые тоже сработали, поэтому результат можно применить позже, а вместо него попробовать другую стратегию, не запуская Дискавери заново. Состояние подтверждения сохраняется вместе с ним.
Альтернативные адреса
Часть блокировок вовсе не связана с именем домена: резолвер отдаёт адрес, который не принимает ни одного соединения, тогда как тот же сайт отвечает с адресов, выдаваемых клиентам в других местах. Когда все известные адреса сайта не отвечают или эталонные ответы не проходят TLS-рукопожатие, этап DNS спрашивает публичный резолвер через EDNS Client Subnet, какие адреса получают на это имя клиенты примерно из пятисот других сетей /16. Полученные адреса проверяются на TCP-соединение, а самые быстрые из них - на TLS-рукопожатие с именем сайта.
Адрес, завершивший рукопожатие, не попал под блокировку. Во время запуска сайт запрашивается через него, а сет закрепляет имя за этим адресом, чтобы устройства получали в ответ его, а не заблокированный. Если подходят несколько адресов, закрепляются до трёх. Адрес, который принимает соединение, но не рукопожатие, фильтруется по имени, как и остальные, поэтому он используется как цель проверок только когда собственные адреса сайта отвергают соединения вовсе, и стратегии пакетов подбираются уже на нём.
Сайту, которому резолвер отдаёт ложный адрес и для которого ни один резолвер, доступный сету, не возвращает верного, так же закрепляются адреса, полученные от DNS поверх HTTPS или доверенного DNS-сервера, а журнал запуска их называет.
Сет с закреплёнными адресами или собранный для сайта с заблокированными адресами получает включённое обнаружение IP-блокировок с вкладки TCP: закреплённый адрес, переставший отвечать, исключается из DNS-ответов, а когда не осталось ни одного, запрос передаётся резолверу. Список адресов фиксируется на момент запуска; когда блокировка переезжает, новые адреса находит новый запуск с включённой проверкой DNS, а запуск для сета - когда ни один из его закреплённых адресов не принимает соединение. Запуски, которые начинает мониторинг, проверку DNS пропускают и закрепления не обновляют.
Проверка с машины, на которой уже работает b4, проходит через его собственные сеты. TLS-проверка, прошедшая там, измеряет обход, а не сеть. Собственные проверки Дискавери минуют сеты, поэтому его вердикт по адресу - сырой; сторонняя утилита на роутере согласится с ним, только пока все сеты, покрывающие сайт, выключены.
История
Хранятся последние сто результатов, по одной записи на сайт; новый запуск для того же сайта заменяет старую запись. Каждая запись показывает вердикт, пресет-победитель с семейством техник, описание по наведению и время запуска. Сайты из одного запуска с общим пресетом-победителем делят один сет; каждый из них сообщает об этом, а применение любого устанавливает сет для всех, с названием по тому сайту, на котором нажали. Применить устанавливает сет, собранный запуском, кнопка с круговой стрелкой начинает новый запуск для сайта; запись можно удалить отдельно или очистить всю историю.
Строка из запуска для сета несёт название этого сета. Кнопка с круговой стрелкой в ней начинает новый запуск для сета с его текущими адресами Дискавери, если сет ещё существует, не маршрутизирует трафик и имеет адреса; иначе запускается только сайт из строки.
Запись хранит и стратегии, которые сработали, но уступили победителю. Двенадцать самых быстрых сохраняются вместе с сетом, который каждая из них собирает; запись разворачивается в этот список, начиная с самых быстрых, с семейством техник и скоростью, измеренной во время запуска, а Взять вместо неё применяет выбранную так же, как Применить применяет победителя. Остальные пресеты запуска остаются в записи результатами без сета, а записи, сделанные до того, как b4 стал хранить альтернативы, содержат только победителя.
Стратегия, установленная как сет, помечается меткой Пробовали, одинаково у победителя и у альтернатив, с какой бы страницы её ни применили. Метка фиксирует попытку, а не текущую конфигурацию: она остаётся после удаления сета и переживает новый запуск для того же сайта, поэтому у сайта, через который прошёл десяток стратегий, видно, какие из них уже пробовали.
Под временем запуска в каждой строке видно, сколько её запись занимает в файле истории. Большая часть этого объёма - сохранённые сеты, поэтому сет остаётся только у двенадцати самых быстрых: сайт, для которого нашлось много рабочих стратегий, занимает десятки килобайт, и они освобождаются удалением записи или очисткой истории.
Помимо записей по сайтам, файл истории хранит последний запуск каждого сета с его вердиктом, по одной записи на сет, не больше чем для 64 сетов; когда завершается запуск для 65-го, самая старая запись удаляется. Именно эту запись вкладка Дискавери сета показывает в блоке Последний поиск для этого сета. Очистка истории удаляет и эти записи.
Журнал последнего запуска остаётся доступным по кнопке Журнал последнего запуска и переживает перезапуск сервиса; из диалога журнала его можно скачать текстовым файлом, как во время запуска, так и после.

Мониторинг запускает Дискавери сам. Для сета, у которого мониторинг включён на вкладке Дискавери, он проверяет адреса сета, при повторяющихся сбоях запускает Дискавери для сета, записывает в него подтверждённую стратегию и отменяет изменение, если адреса по-прежнему не открываются. Домены старого списка восстанавливаются через тот сет, в котором они указаны.