กฎ HTTP
มีกฎระดับ HTTP 4 ประเภท USER-AGENT และ URL-REGEX ต้องการส่วนหัวคำขอ HTTP ดังนั้นจึงจับคู่เฉพาะคำขอ HTTP (หรือคำขอ HTTPS ที่มีการถอดรหัสด้วย MitM) ส่วน PROTOCOL และ SCRIPT จะถูกประเมินสำหรับการเชื่อมต่อใดๆ
USER-AGENT
USER-AGENT,Instagram*,DIRECT
กฎจะจับคู่หาก user agent ของคำขอตรงกัน รองรับอักขระ wildcard * และ ?
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(การเชื่อมต่อ TLS ใดๆ รวมถึง HTTPS) และQUIC(ขาเข้า TUN) เท่านั้น ค่าที่ยอมรับอื่นๆ ถูกสงวนไว้ — ยังไม่มีตัวตรวจจับใดให้ค่าเหล่านี้ ดังนั้นกฎที่ใช้ค่าเหล่านี้จะไม่จับคู่ โดยเฉพาะอย่างยิ่ง ให้ใช้PROTOCOL,TLSแทนPROTOCOL,HTTPSเพื่อจับคู่ทราฟฟิก HTTPS
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 จะพร้อมใช้งานเฉพาะเมื่อเซสชันได้รับการแก้ไข DNS แล้วเท่านั้น (เช่น คำขอที่ส่งไปยังที่อยู่ IP โดยตรง หรือรอบการจับคู่ที่สองหลังการแก้ไข DNS)