Маршрутизатор

Формат профиля маршрутизации Happ

Справка для тех, кто раздаёт профили своим пользователям или правит их вручную: из чего состоит профиль маршрутизации Happ и как он кодируется в ссылку.

happ://routing/onadd и /add Все поля с пояснениями Импорт готового профиля
Шаг 2 из 5

Что пускать через VPN?

Это основа. Отдельные сервисы и сайты настроите дальше — они важнее сценария.

Дальше: Сервисы

Как устроена ссылка

Профиль — это JSON-объект. Его сжимают в одну строку, кодируют в base64 и подставляют в ссылку. Вариант onadd добавляет профиль и сразу включает его, вариант add — только добавляет в список.

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

Поля профиля

NameНазвание профиля в списке Happ.
GlobalProxy"true" — всё, что не попало в списки, идёт через VPN; "false" — напрямую.
RouteOrderПорядок проверки списков, например block-direct-proxy: если сайт есть в нескольких списках, срабатывает первый.
DirectSites / DirectIpСайты и IP, которые идут напрямую.
ProxySites / ProxyIpСайты и IP, которые идут через VPN.
BlockSites / BlockIpСайты и IP, которые блокируются.
RemoteDNS*, DomesticDNS*DNS для VPN и для прямых подключений: тип (DoH, DoU), адрес и IP.
Geoipurl / GeositeurlОткуда Happ скачает базы geoip.dat и geosite.dat.
DomainStrategyКак сверять IP: AsIs, IPIfNonMatch или IPOnDemand.
LastUpdatedВремя изменения (unix). Happ не заменит профиль на такой же или более старый — значение должно расти.

Синтаксис сайтов и IP

Конструктор принимает адреса в любом виде — ссылками, через запятую, с www — и сам переводит их в этот синтаксис.

  • domain:example.com — сайт со всеми поддоменами.
  • full:www.example.com — только этот адрес.
  • regexp:… — регулярное выражение; строка без префикса — поиск по слову в адресе.
  • geosite:youtube, geoip:ru — готовые категории из гео-баз.
  • 1.2.3.0/24 — подсеть.

Пример

Пример: YouTube и Telegram через VPN, остальное напрямую

{
  "Name": "Мои правила",
  "GlobalProxy": "false",
  "RouteOrder": "block-proxy-direct",
  "RemoteDNSType": "DoH",
  "RemoteDNSDomain": "https://1.1.1.1/dns-query",
  "RemoteDNSIP": "1.1.1.1",
  "DomesticDNSType": "DoU",
  "DomesticDNSDomain": "77.88.8.8",
  "DomesticDNSIP": "77.88.8.8",
  "Geoipurl": "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geoip.dat",
  "Geositeurl": "https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat",
  "LastUpdated": "0",
  "DnsHosts": {},
  "DirectSites": [
    "geosite:private"
  ],
  "DirectIp": [
    "geoip:private"
  ],
  "ProxySites": [
    "geosite:youtube",
    "geosite:telegram"
  ],
  "ProxyIp": [
    "geoip:telegram"
  ],
  "BlockSites": [],
  "BlockIp": [],
  "DomainStrategy": "IPIfNonMatch",
  "FakeDNS": "false",
  "UseChunkFiles": "true"
}

Частые вопросы

Можно ли загрузить существующий профиль и доработать?

Да. В режиме «Для продвинутых» откройте «Импорт конфига» и вставьте ссылку happ://routing/…, base64 или JSON — правила появятся в редакторе.

Почему профиль не обновляется у пользователей?

Проверьте LastUpdated: Happ принимает только профиль с более новым значением. Конструктор ставит текущее время автоматически.

Куда уходят мои настройки?

Никуда. Профиль собирается прямо в браузере и попадает в Happ через ссылку или QR-код. На сервер ничего не отправляется.

Ещё по теме