กฎ HTTP
มีกฎ HTTP 3 ประเภท กฎ HTTP ใช้สำหรับคำขอ HTTP หรือคำขอ HTTPS มันจะไม่ส่งผลต่อการเชื่อมต่อ TCP
USER-AGENT
USER-AGENT,Instagram*,DIRECT
กฎจะจับคู่หาก user agent ของคำขอตรงกัน รองรับอักขระ wildcard * และ ?
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 เกิดขึ้นก่อนการประเมินสคริปต์