Правила HTTP
Существует 3 типа правил HTTP. Правила HTTP применяются к HTTP-запросам или HTTPS-запросам. Они не влияют на TCP-соединения.
USER-AGENT
USER-AGENT,Instagram*,DIRECT
Правило совпадает, если user agent запроса совпадает. Поддерживаются подстановочные символы * и ?.
URL-REGEX
URL-REGEX,^http://google\.com,DIRECT
Правило совпадает, если URL совпадает с регулярным выражением.
PROTOCOL
PROTOCOL,HTTPS,Proxy
Правило совпадает, если определенный протокол соединения совпадает. Используйте в сочетании с sniffing-enabled для наилучших результатов.
Поддерживаемые значения протоколов:
| Значение | Описание |
|---|---|
HTTP |
HTTP-запрос |
HTTPS |
HTTPS/TLS-соединение |
TLS |
TLS-соединение (любое TLS, включая не-HTTPS) |
TCP |
Обычное TCP-соединение |
UDP |
UDP-трафик |
QUIC |
Протокол QUIC |
STUN |
Протокол STUN (WebRTC) |
DNS |
DNS-запрос |
DOH |
DNS-over-HTTPS |
DOQ |
DNS-over-QUIC |
SCRIPT
SCRIPT,MyRuleScript,DIRECT
Правило выполняет скрипт JavaScript для пользовательской логики сопоставления. Имя скрипта должно совпадать со скриптом, определенным в разделе [Script] с type=rule.
[Rule]
SCRIPT,CheckInternal,PROXY
[Script]
CheckInternal = type=rule, script-path=internal-check.js
Скрипт правила получает $request и должен вызвать $done({matched: true}) или $done({matched: false}). Опция requires-resolve может использоваться с правилами SCRIPT, чтобы гарантировать, что разрешение DNS произошло до выполнения скрипта.