Перейти к основному содержимому

Публикация сета

Сет публикуется из редактора сета. Раздел Поделиться с другими пользователями b4 находится внизу вкладки Импорт/Экспорт и показывается, пока включён хаб сообщества. Он готовит сет как общий сет, JSON-форму, которую можно передать напрямую, и публикует ту же форму в хаб.

Раздел «Поделиться» в редакторе сета

Подготовка​

Подготовить общий сет собирает общий сет из состояния редактора и показывает:

  • Проверьте перед отправкой: домены или адреса, которые выглядят частными для этой сети, пины, которые будут использовать все импортировавшие, DoH-резолвер вне публичного списка, отсутствующий или непригодный файл payload, блокирующий сет с совпадением по шаблону, число доменов, адресов или ASN сверх того, что вмещает общий сет.
  • Не вошло в общий сет: каждая отброшенная настройка и причина. Маршрутизация в прокси или интерфейс, фильтры устройств, эскалация и адрес DNS-сервера отбрасываются всегда; полный список - в разделе Что покидает роутер.
  • Нужную версию b4 и число вложенных файлов payload.
  • JSON с кнопками Копировать и Скачать.

Для публикации и для передачи файлом используется один и тот же общий сет.

подсказка

Публиковать сет лучше с теми целями, на которых он проверялся. Домен, который сет перечисляет, но на котором не проверялся, собирает отчёты «не работает».

Публикация​

Опубликовать в хабе отправляет сохранённую версию сета. Новый сет сначала нужно сохранить; несохранённые изменения не публикуются, и кнопка сообщает об этом. Заголовок публикации - имя сета; своего описания роутер не отправляет. Модератор может добавить его на хабе, и тогда оно появляется на карточке и в разделе Подробнее.

Хаб выполняет проверки импорта, отклоняет сет без целей, сохраняет файлы payload по хешу и отвечает идентификатором и версией. Сет попадает в очередь модерации со статусом на модерации. Другие пользователи и этот роутер видят его в каталоге после того, как модератор одобрит его, а следующий каталог будет собран и синхронизирован. Раздел показывает идентификатор и статус и предлагает Открыть в Сообществе; пока сета нет в локальном каталоге, это открывает диалог подробностей с пометкой об этом.

Сет теперь связан с сетом на хабе так же, как применённый: карточка на странице Сеты показывает Сет сообщества, а раздел «Поделиться» называет сет на хабе и версию, с которыми он связан.

Версии​

Повторная публикация связанного сета после изменения стратегии создаёт следующую версию того же сета на хабе. Кнопка называется Опубликовать как новую версию. Каталог хранит только новейшую одобренную версию; роутеры, применившие предыдущую, видят на карточке Обновить до версии N.

Хаб присоединяет публикацию к существующему сету того же автора, когда:

  • сет связан с сетом на хабе, опубликованным под авторским ключом этого роутера;
  • сет не связан ни с чем или связан с сетом другого автора, а у этого автора уже есть сет с теми же целями или с тем же названием и хотя бы одной общей целью.

Иначе хаб создаёт новый сет. Если опубликованный сет начинался как сет сообщества другого автора, хаб записывает, какой именно.

Публикация, у которой и стратегия, и цели совпадают с версией, уже имеющейся у хаба, чьего бы автора она ни была, не сохраняется. Это относится и к версии, которая ещё ждёт модератора, и к скрытой модератором версии; пропускаются только отклонённые. Хаб называет существующий сет и засчитывает отправку как отчёт «работает» для него, поэтому названный сет не всегда есть в каталоге.

Модерация​

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

Уведомления о решении нет. Открыть в Сообществе сообщает, что сета нет в каталоге, пока он не одобрен и не синхронизирован.

к сведению

Хаб принимает от одного роутера ограниченное число публикаций в сутки. Лимит задаёт оператор хаба; публикация сверх лимита отклоняется с сообщением, называющим лимит и время его сброса.

Авторский ключ​

Каждая запись, которую роутер отправляет в хаб, подписана его авторским ключом. Ключ создаётся при первом использовании и хранится как .hub/identity.json в каталоге конфигурации. Хаб знает роутер по этому ключу: опубликованные им сеты принадлежат ему, его отчёты считаются за один роутер, модераторы могут отметить его доверенным, что снимает с него суточные лимиты, или заблокировать.

Автором сета в каталоге указана метка автора, а не идентификатор ключа: короткий псевдоним, который хаб выводит из авторского ключа со своим секретом. Все сеты, опубликованные под одним ключом, несут одну метку, сам ключ не публикуется, а метка, построенная одним хабом, не совпадает с меткой, которую для того же ключа построит другой.

Настройки, Интеграции, Хаб сообщества, Авторский ключ показывает идентификатор ключа и два действия:

  • Показать код восстановления показывает код, из которого ключ восстанавливается. Любой, у кого есть код, может публиковать сеты и отправлять отчёты от имени этого автора.
  • Восстановить по коду заменяет ключ этого роутера тем, который описывает код. Сеты, опубликованные под этим ключом, после этого можно обновлять с этого роутера, а отчёты несут возраст этого ключа на хабе.

Бэкап из Настройки, Система, Бэкап каталог .hub/ не включает. Роутер, восстановленный из бэкапа, начинает с нового ключа, а новый ключ несёт уменьшенный вес, который хаб даёт ключам моложе недели. Перенести авторский ключ на другой роутер можно кодом восстановления.