โมดูล

Chute รองรับไฟล์โมดูลภายนอก (.sgmodule) เพื่อขยายการกำหนดค่าด้วยกฎ สคริปต์ โฮสต์ MitM และการกำหนด DNS ที่ใช้ซ้ำและแชร์ได้ โมดูลทำตามรูปแบบโมดูล Surge

โมดูลถูกกำหนดในส่วน [Module]:

[Module]
https://example.com/my-module.sgmodule
/path/to/local-module.sgmodule
~/.chute/custom-module.sgmodule

URL ถูกดึงจากระยะไกล; เส้นทางที่เริ่มต้นด้วย / หรือ ~ ถูกโหลดจากระบบไฟล์ในเครื่อง

โครงสร้างไฟล์โมดูล

ไฟล์ .sgmodule ทำตามไวยากรณ์เดียวกับไฟล์การกำหนดค่าหลัก ส่วนที่รองรับ:

ส่วน วัตถุประสงค์
[MITM] เพิ่มชื่อโฮสต์ไปยังรายการถอดรหัส MITM
[Script] ลงทะเบียนสคริปต์ JavaScript
[URL Rewrite] เพิ่มกฎ URL Rewrite
[Header Rewrite] เพิ่มกฎ Header Rewrite
[Rule] เพิ่มกฎการจัดเส้นทาง
[Host] เพิ่มการจับคู่ DNS host-to-IP

เพื่อความเข้ากันได้ ส่วน [DNS] ในโมดูลจะถูกยอมรับให้เป็นชื่อพ้องของ [Host]

ข้อมูลเมตาของโมดูล

โมดูลสามารถรวมคำสั่งข้อมูลเมตา (บรรทัดที่เริ่มต้นด้วย #!):

#!name = My Custom Module
#!desc = Blocks ads and trackers for example.com
#!system = ios,macos
คำสั่ง คำอธิบาย
#!name ชื่อโมดูล (แสดงใน UI)
#!desc คำอธิบายโมดูล
#!system ตัวกรองแพลตฟอร์ม: ios, macos (คั่นด้วยคอมมา)
#!arguments ประกาศตัวแปรของโมดูลพร้อมค่าเริ่มต้น (เช่น #!arguments = var1:default1, var2:default2)

#!system เป็นข้อมูลเมตาเชิงข้อมูลที่แสดงในตัวแก้ไขโมดูล; ปัจจุบันมันไม่ได้ควบคุมการโหลด — โมดูลจะถูกนำไปใช้บนทุกแพลตฟอร์ม

#!arguments สามารถปรากฏได้หลายครั้ง โดยการประกาศครั้งหลังจะแทนที่ครั้งก่อนหน้า ตัวยึดตำแหน่ง {{{variable}}} ในเนื้อหาโมดูลจะถูกแทนที่ด้วยค่าที่แปลงได้: ค่าที่แอปกำหนดทับจะถูกใช้ก่อน จากนั้นเป็นค่าเริ่มต้นจาก #!arguments และสุดท้ายคือสตริงว่าง

ตัวอย่างโมดูล

#!name = Ad Block Module
#!desc = Block common ad domains
#!system = ios,macos

[Rule]
DOMAIN-SUFFIX,doubleclick.net,REJECT
DOMAIN-SUFFIX,googlesyndication.com,REJECT
DOMAIN-SUFFIX,googleadservices.com,REJECT

[Host]
localhost = 127.0.0.1

[MITM]
hostname = *.google-analytics.com

[URL Rewrite]
^https://example\.com/old-api https://example.com/new-api 302

คำสั่ง %APPEND% / %INSERT% ที่อยู่ในค่า hostname ของโมดูลจะถูกตัดออก และชื่อโฮสต์จะถูกรวมเข้ากับรายการ MitM ส่วนคำนำหน้า - สำหรับการยกเว้นชื่อโฮสต์จะยังคงอยู่

วงจรชีวิตโมดูล

  • โมดูลถูกโหลดหลังจากแยกวิเคราะห์การกำหนดค่าหลัก
  • กฎ สคริปต์ โฮสต์ MitM และโฮสต์ DNS จากโมดูลถูกเพิ่มไปยังตัวจัดการรันไทม์
  • เมื่อโมดูลถูกลบหรือปิดใช้งาน กฎ สคริปต์ และโฮสต์ทั้งหมดของมันจะถูกยกเลิกการลงทะเบียน
  • เนื้อหาโมดูลระยะไกลถูกดึงเมื่ออุโมงค์เริ่มต้น และถูกดึงใหม่เฉพาะเมื่อรายการ URL ใน [Module] เปลี่ยนแปลงในการโหลดการกำหนดค่าใหม่เท่านั้น
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 12:06:42

หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก

results matching ""

    No results matching ""