HTTPルール
4つのHTTPレベルのルールタイプがあります。USER-AGENTとURL-REGEXはHTTPリクエストヘッダーを必要とするため、HTTPリクエスト(またはMitM復号を伴うHTTPSリクエスト)にのみマッチします。PROTOCOLとSCRIPTは全ての接続に対して評価されます。
USER-AGENT
USER-AGENT,Instagram*,DIRECT
リクエストのユーザーエージェントが一致する場合にルールがマッチします。ワイルドカード文字*と?がサポートされています。
URL-REGEX
URL-REGEX,^http://google\.com,DIRECT
URLが正規表現に一致する場合にルールがマッチします。
PROTOCOL
PROTOCOL,TLS,Proxy
接続の検出されたプロトコルが一致する場合にルールがマッチします。最良の結果を得るにはsniffing-enabledと組み合わせて使用します。NETWORKはPROTOCOLのエイリアスとして受け付けられます。
受け付けられるプロトコル値: HTTP、HTTPS、TLS、TCP、UDP、QUIC、STUN、DNS、DOH、DOQ。
注意: プロトコルスニッフィングが現在生成するのは
HTTP、TLS(HTTPSを含む任意のTLS接続)、QUIC(TUNインバウンド)のみです。その他の受け付けられる値は予約されており、まだどの検出器も生成しないため、それらを使用するルールはマッチしません。特に、HTTPSトラフィックにマッチさせるにはPROTOCOL,HTTPSではなくPROTOCOL,TLSを使用してください。
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})を呼び出す必要があります。$request.dnsResultは、セッションが既に解決されている場合(例えば、IPアドレスに直接送信されたリクエストや、DNS解決後の2回目のマッチングパス)にのみ利用可能であることに注意してください。