Группы и правила

Группы и правила

Вкладка Группы — главная страница веб-интерфейса. Каждая группа собирает правила и отправляет трафик подходящих сайтов в свой интерфейс. Всё остальное идёт обычным маршрутом роутера.

Вкладка «Группы»: четыре группы со свёрнутыми правилами

Строка группы

Слева направо:

  • Номер и ручка. Номер — место группы в списке, за область “ручка” группу можно перетащить выше или ниже (более подробно в разделе Порядок групп). Клик по номеру выделяет группу, для выделенных групп появляется панель, где их можно разом включить, выключить или удалить.
  • Значок состояния. Зелёная галочка — Работает: правила группы записаны в ядро роутера, трафик идёт через её интерфейс. Если навести на значок, firc объяснит, что не так если статус не зеленая галочка, например Ждёт интерфейс или Туннель без узла.
  • Название и метки. Метка DNS показывает, где firc узнаёт адреса сайтов группы (подробно — в разделе DNS группы). У группы со списком по ссылке есть метка список, адрес списка и время обновления.
  • Интерфейс. Куда идёт трафик группы. Здесь же собирается список из нескольких интерфейсов — основного и резервных, см. Интерфейсы и резервирование.
  • Переключатель. Выключенная группа как будто не существует: её сайты открываются обычным путём, без firc.
  • Кнопки: Удалить группу, Добавить правило, выбор устройств (Все устройства или их число, см. Устройства), Импортировать список, Настройки группы и стрелка, которая разворачивает правила.
Правки на этой вкладке не применяются сразу. Когда закончите, нажмите кнопку Сохранить изменения (дискета вверху страницы). Пока изменения не сохранены, значок состояния группы показывает Изменения не сохранены.

Над списком групп есть поиск по группам и правилам (Ctrl+F, на Mac ⌘+F), кнопка Развернуть все / Свернуть все, Импортировать конфиг, Экспортировать конфиг и Добавить группу.

Новая группа

Кнопка Добавить группу открывает окно Новая группа:

  • Название — любое, для удобной идентификации доменов и CIDR в группе.
  • Интерфейс — куда пойдёт трафик. Проверьте это поле: новая группа создается с пунктом Блокировать.
  • Устройства — для кого работает группа; по умолчанию Все устройства.
  • DNS — через что узнавать адреса сайтов группы.
  • Список по URL — необязательно, без списка группа “ручная”, т.е. домены необходимо добавить самостоятельно. Про списки — на странице Списки.

Окно Настройки группы у существующей группы такое же.

Окно «Настройки группы»

Правила

Стрелка справа разворачивает группу. У каждого правила есть тип, паттерн (сам текст правила), комментарий и переключатель Включён. Новое правило добавляет кнопка Добавить правило.

Группа ChatGPT с четырьмя правилами Namespace

Тип выбирается в выпадающем списке слева от паттерна.

Выбор типа правила

Тип в интерфейсеЧто ловитПример
Namespaceдомен и все его поддоменыexample.com покрывает example.com, sub.example.com, a.sub.example.com
Domainтолько этот домен, без поддоменовsub.example.com покрывает только sub.example.com
Wildcardшаблон: * — любые символы, ? — ровно один символ*example.com покроет и example.com, и anotherexample.com
Regexрегулярное выражение PCRE2^[a-z]*example\.com$
IPv4 subnetподсеть IPv4 в нотации CIDR или один адрес203.0.113.0/24
IPv6 subnetподсеть IPv6 в нотации CIDR или один адрес2001:db8::/32

Подсети, протокол и порты

Правила по доменам работают через DNS: firc узнаёт сайт по имени, когда устройство спрашивает его адрес. Правила IPv4 subnet и IPv6 subnet работают по адресу назначения, DNS для них не нужен. Они подходят для сервисов, которые ходят на известные диапазоны адресов напрямую, например звонки мессенджеров.

У правила-подсети справа от паттерна есть кнопка любой протокол. В ней можно ограничить правило протоколом (Любой, TCP или UDP) и портами. Тогда в интерфейс группы уходит только этот трафик, остальной трафик к той же подсети идёт обычным путём.

Tip

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

Протокол и порты у правила-подсети

Порты пишутся по одному или диапазоном вида 1000-2000. Enter или запятая добавляет порт. Пусто — все порты. Можно указать до 15 портов, диапазон считается за два.

Группа Telegram: домен и две подсети, одна только для UDP на портах 596–599 и 1400

Комментарий

Значок облачка в строке правила открывает комментарий. Он нужен только вам: например, чтобы помнить, зачем правило добавлено. У правила с комментарием облачко подсвечено.

Порядок групп

Один и тот же домен может попасть под правила нескольких групп. Тогда его исполнит первая сверху группа, которая подходит этому устройству. Поэтому порядок групп важен.

Это позволяет, например, отправить rutube.com через один туннель для детских устройств, а для остальных — через другой: две группы с одинаковым правилом и разными устройствами. Если такое же правило есть в другой группе, в строке правила появится значок с подсказкой: перекрыто группой или то же правило в группе … для других устройств, когда группы делят устройства между собой.

DNS группы

Сайты за CDN отдают разные адреса в разных странах. Если адрес сайта узнать через обычный DNS роутера, а трафик отправить через туннель в другую страну, CDN может отдать «чужой» сервер. Поэтому firc умеет спрашивать адреса сайтов группы через интерфейс этой же группы. Поле DNS в настройках группы:

  • Через туннель — авто — DNS-серверы, которые прошивка назначила этому интерфейсу. Если у интерфейса своих DNS нет, firc спрашивает общий upstream (обычный DNS роутера), и под полем это написано.
  • Через туннель — свой сервер — от одного до четырёх адресов через запятую.
  • Не через туннель — адреса сайтов группы узнаются через обычный DNS роутера.

Выбор DNS группы

Если DNS группы не ответил, ответил ошибкой или вернул заведомо негодный адрес, firc в том же запросе спрашивает обычный DNS роутера, и сайт всё равно открывается. Сколько раз так было с запуска демона, показывает красная метка через общий upstream: N у группы.

Импорт и экспорт

  • Импортировать список (в строке группы) — вставить в группу много правил разом, по одному на строку. Тип по умолчанию Авто: firc сам определяет тип каждой строки. Имя домена становится правилом Namespace, адрес или подсеть — IPv4 subnet или IPv6 subnet, шаблон со * или ? — Wildcard. Регулярным выражением строка считается, только если начинается с ^ и заканчивается на $. Тип можно выбрать и вручную, тогда он применяется ко всем строкам.
  • Экспортировать конфиг — сохраняет все группы с правилами в файл config.firc.
  • Импортировать конфиг — загружает такой файл. В окне можно отметить, какие группы взять, и выбрать режим: Добавить к существующим группам или Заменить их.

После импорта не забудьте Сохранить изменения.