# Правила маршрутизации подписки

> Как провайдер присылает правила «что через VPN, что напрямую» — профиль Happ в заголовке routing, Xray и sing-box JSON.

Провайдер может прислать с подпиской **правила маршрутизации**: какие сайты и адреса идут через VPN, какие напрямую,
какие блокируются. FlowLock применяет их вместе со своими правилами пользователя; правила пользователя важнее.
ID провайдера для этого не нужен.

## Профиль Happ

Тот же формат, что отдаёт Remnawave для Happ, — заголовок `routing` или строка в теле:

```
routing: happ://routing/add/<base64 профиля>
routing: happ://routing/onadd/<base64 профиля>
```

- `add` — правила подписки просто работают вместе с правилами человека.
- `onadd` — то же, и если в профиле `GlobalProxy: false`, приложение **предложит** режим «Выборочно» (через VPN
  только то, что в правилах). Само оно режим не переключает.
- `routing: off` или `routing-enable: 0` — правила подписки не применять.

Домены в профиле Happ (как в Xray) — совпадение по подстроке, FlowLock читает их так же.

## JSON-подписки

- **Xray JSON** — правила из `routing.rules`.
- **sing-box JSON** — правила из `route.rules`.

## Что видит человек

- Правила подписки показаны отдельным списком в редакторе маршрутов, каждое можно отключить галочкой.
- При обновлении подписки меняются **только** правила подписки; свои правила человека сохраняются.
- Порядок: блокировки, «через VPN» и «напрямую» пользователя, затем те же три списка подписки, затем режим
  маршрутизации.

## Категории geosite и geoip

В правилах можно ссылаться на категории `geosite:<имя>` и `geoip:<имя>`. Стандартные базы FlowLock — SagerNet,
а категории, которых там нет (например `ru-blocked`), — runetfreedom. Человек может подключить свои базы
(см. [«Маршруты и свои базы»](https://flowlock.cc/docs/rules.md)).

Ссылки `flowlock://routing/add/…` и `flowlock://routing/onadd/…` добавляют те же правила по нажатию
(см. [«Ссылки flowlock://»](https://flowlock.cc/docs/links.md)).
