กฎ HTTP
มีกฎระดับ HTTP 4 ประเภท USER-AGENT และ URL-REGEX ต้องการส่วนหัวคำขอ HTTP ดังนั้นจึงจับคู่เฉพาะคำขอ HTTP (หรือคำขอ HTTPS ที่มีการถอดรหัสด้วย MitM) ส่วน PROTOCOL จับคู่เฉพาะเซสชันขาเข้าแบบ TUN ซึ่งเป็นที่ที่การตรวจจับโปรโตคอลทำงานอยู่ ส่วน SCRIPT จะถูกประเมินสำหรับการเชื่อมต่อใดๆ
USER-AGENT
USER-AGENT,Instagram*,DIRECT
กฎจะจับคู่หาก user agent ของคำขอตรงกัน รองรับอักขระ wildcard * และ ?
URL-REGEX
URL-REGEX,^http://google\.com.*,DIRECT
กฎจะจับคู่หาก URL ตรงกับนิพจน์ปกติ นิพจน์ปกติต้องตรงกับ URL ทั้งหมด ไม่ใช่เพียงบางส่วน: ^http://google\.com เพียงลำพังจะจับคู่ได้เฉพาะ http://google.com แบบตรงทั้งหมดเท่านั้น
PROTOCOL
PROTOCOL,TLS,Proxy
กฎจะจับคู่หากโปรโตคอลที่ตรวจพบของการเชื่อมต่อตรงกัน ใช้ร่วมกับ sniffing-enabled เพื่อผลลัพธ์ที่ดีที่สุด NETWORK ได้รับการยอมรับเป็นชื่อแทนของ PROTOCOL
ค่าโปรโตคอลที่ยอมรับ: HTTP, HTTPS, TLS, TCP, UDP, QUIC, STUN, DNS, DOH, DOQ
หมายเหตุ: โปรโตคอลที่ตรวจพบจะถูกกำหนดค่าเฉพาะสำหรับเซสชันขาเข้าแบบ TUN เท่านั้น โดยการตรวจจับจะให้ผลเป็น
HTTPและTLS(การเชื่อมต่อ TLS ใดๆ รวมถึง HTTPS) สำหรับ TCP และQUICสำหรับ UDP ส่วนการเชื่อมต่อที่เข้ามาผ่านขาเข้าแบบพร็อกซี HTTP หรือ SOCKS5 จะไม่จับคู่กับกฎ PROTOCOL เลย ค่าที่ยอมรับอื่นๆ ถูกสงวนไว้ — ยังไม่มีตัวตรวจจับใดให้ค่าเหล่านี้ ดังนั้นกฎที่ใช้ค่าเหล่านี้จะไม่จับคู่ โดยเฉพาะอย่างยิ่ง ให้ใช้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)
หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก