К основному содержимому
SharX Connect

Схема RoutingProfile (JSON)

Тип RoutingProfile в SharXCore кодируется в JSON с PascalCase ключами (см. CodingKeys). Декодер также принимает варианты с булевыми значениями в виде строк "true" / "false".

Документ RoutingProfilesDocument в App Group хранит массив профилей; для панелей и диплинков достаточно одного объекта профиля.


Поля

JSON-ключ Swift Описание
id UUID? При отсутствии генерируется новый UUID.
Name String Отображаемое имя профиля.
GlobalProxy Bool или строка Если true — правило по умолчанию отправляет трафик в прокси; иначе в direct.
RouteOrder String Семантика UI/панели; в билдере Xray правила идут в порядке block → proxy → direct (как block-proxy-direct в шаблоне).
RemoteDNSType String Например DoH; см. XrayConfigBuilder.makeDNSServer.
RemoteDNSDomain String DoH: может быть полный https://… или задаётся вместе с RemoteDNSIP.
RemoteDNSIP String IP для DoH: https://{ip}/dns-query.
DomesticDNSType String Например DoU.
DomesticDNSDomain String
DomesticDNSIP String
Geoipurl String URL для загрузки geo (данных пользователя/панели); использование вместе с UseChunkFiles — см. user routing guide.
Geositeurl String URL geosite.
LastUpdated String Произвольная метка от панели.
DnsHosts [String: String] Статические записи для блока dns.hosts в Xray.
DirectSites [String] Домены / теги для direct (нормализация: при необходимости добавляется префикс domain:).
DirectIp [String] IP/CIDR/geoip: для direct.
ProxySites [String] Аналогично для прокси-аутбаунда.
ProxyIp [String]
BlockSites [String] Для block.
BlockIp [String]
DomainStrategy String Значение routing.domainStrategy в Xray; пусто → IPIfNonMatch.
FakeDNS Bool или строка Включает блок fakedns в конфиге при true.
UseChunkFiles Bool или строка Если true и в App Group лежат geo/geoip.dat и geo/geosite.dat, в конфиг передаются пути geoip / geosite для Xray.

Нормализация доменов в правилах: если строка не начинается с full:, domain:, regexp:, geosite:, к ней добавляется префикс domain:.


Ограничения диплинка routing/add

Payload Base64 после декодирования не более 512 KiB (RoutingAnnounceDecoder.maxDecodedByteCount).


См. также

English version