Règle HTTP

Il existe 4 types de règles de niveau HTTP. USER-AGENT et URL-REGEX nécessitent un en-tête de requête HTTP ; elles ne correspondent donc qu'aux requêtes HTTP (ou aux requêtes HTTPS déchiffrées par MitM). PROTOCOL ne correspond qu'aux sessions entrantes TUN, où s'exécute la détection de protocole. SCRIPT est évaluée pour toute connexion.

USER-AGENT

USER-AGENT,Instagram*,DIRECT

La règle correspond si l'agent utilisateur de la requête correspond. Les caractères joker * et ? sont pris en charge.


URL-REGEX

URL-REGEX,^http://google\.com.*,DIRECT

La règle correspond si l'URL correspond à l'expression régulière. L'expression régulière doit correspondre à l'URL complète, et non à une simple sous-chaîne : ^http://google\.com seul ne correspondrait qu'exactement à http://google.com.


PROTOCOL

PROTOCOL,TLS,Proxy

La règle correspond si le protocole détecté de la connexion correspond. À utiliser avec sniffing-enabled pour de meilleurs résultats. NETWORK est accepté comme alias de PROTOCOL.

Valeurs de protocole acceptées : HTTP, HTTPS, TLS, TCP, UDP, QUIC, STUN, DNS, DOH, DOQ.

Remarque : le protocole détecté n'est renseigné que pour les sessions entrantes TUN : la détection produit HTTP et TLS (toute connexion TLS, y compris HTTPS) pour TCP, et QUIC pour UDP. Les connexions arrivant par les entrées proxy HTTP ou SOCKS5 ne correspondent jamais aux règles PROTOCOL. Les autres valeurs acceptées sont réservées — aucun détecteur ne les produit encore, les règles qui les utilisent ne correspondront donc pas. En particulier, utilisez PROTOCOL,TLS plutôt que PROTOCOL,HTTPS pour faire correspondre le trafic HTTPS.


SCRIPT

SCRIPT,MyRuleScript,DIRECT

La règle évalue un script JavaScript pour une logique de correspondance personnalisée. Le nom du script doit correspondre à un script défini dans la section [Script] avec type=rule.

[Rule]
SCRIPT,CheckInternal,PROXY

[Script]
CheckInternal = type=rule, script-path=internal-check.js

Le script de règle reçoit $request et doit appeler $done({matched: true}) ou $done({matched: false}). Notez que $request.dnsResult n'est disponible que lorsque la session a déjà été résolue (par exemple, pour les requêtes adressées directement à une adresse IP, ou lors de la seconde passe de correspondance après résolution DNS).

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-19 16:18:44

results matching ""

    No results matching ""