URL Rewrite

Chute สามารถเขียน URL ของคำขอใหม่ด้วยวิธีการต่าง ๆ หรือปฏิเสธบางคำขอตาม URL

สามารถใช้กฎเดียวเท่านั้นต่อหนึ่งคำขอ

หมายเหตุ: คำขอ HTTP ธรรมดาจะถูกประมวลผลก็ต่อเมื่อเข้ามาถึง Chute ผ่านพร็อกซี HTTP ของ Chute เท่านั้น ส่วน HTTP ธรรมดาที่เข้ามาทางอินเทอร์เฟซ TUN จะถูกส่งต่อไปโดยไม่มีการแก้ไขใด ๆ Chute Android ส่งทราฟฟิกทั้งหมดผ่าน TUN เว้นแต่จะเปิด พร็อกซี HTTP ของระบบ ในการตั้งค่า ซึ่งจะมอบพร็อกซี HTTP ของ Chute ให้แอปต่าง ๆ ใช้ (Android 10 ขึ้นไป และปิดอยู่โดยค่าเริ่มต้น) คำขอ HTTPS จะถูกประมวลผลก็ต่อเมื่อโฮสต์ของคำขอถูกถอดรหัสด้วย MitM เท่านั้น

ตัวอย่าง:

[URL Rewrite]
^http://www\.google\.cn http://www.google.com header
^http://amazon\.cn https://z.cn 302
^http://ad\.com/ad\.png _ reject
^http://tracker\.com/event _ reject-200
^http://ad\.com/pixel _ reject-img
^http://api\.example\.com/block _ reject-dict
^http://api\.example\.com/list _ reject-array
^http://ad\.com/beacon _ reject-tinygif

กฎการเขียนใหม่ประกอบด้วย 3 ส่วน: นิพจน์ปกติ, การแทนที่ และประเภท ส่วนเหล่านี้คั่นกันด้วยช่องว่าง และคำแรกที่ขึ้นต้นด้วย #, ; หรือ // จะเปิดหมายเหตุที่ยาวไปจนสุดบรรทัด ในส่วน URL Rewrite ไม่มีเครื่องหมายคำพูด ดูหมายเหตุ

สำหรับประเภท reject (reject, reject-200, reject-img, reject-dict, reject-array, reject-tinygif) ยังรองรับรูปแบบย่อสองโทเคน <pattern> reject โดยไม่ต้องมีตัวยึดตำแหน่ง _ ด้วย รูปแบบย่อนี้ยังรับ reject-drop และ reject-no-drop ของ Shadowrocket ซึ่งทั้งสองจะถูกตอบแบบ reject และรับ reject-video ซึ่งจะถูกตอบแบบ reject-200 คีย์เวิร์ดทั้งสามนี้ใช้ได้เฉพาะในรูปแบบย่อเท่านั้น ใช้เป็นประเภทของบรรทัดสามโทเคนไม่ได้ บรรทัดสองโทเคนที่โทเคนที่สองไม่ใช่คีย์เวิร์ด reject จะถูกอ่านเป็นการเขียนใหม่โหมด header ไปยัง URL นั้น: ^http://a\.com http://b.com เท่ากับ ^http://a\.com http://b.com header ระวังการสะกดคีย์เวิร์ด reject — reject200 ไม่ใช่คีย์เวิร์ด ดังนั้น ^http://ad\.com reject200 จึงถูกอ่านเป็นการเขียนใหม่โหมด header ไปยัง reject200 ค่าที่ใช้แทนนั้นไม่ใช่ทั้ง URL แบบเต็มและพาธแบบเต็ม ณ เวลาที่มีคำขอการเขียนใหม่จึงถูกปฏิเสธพร้อมคำเตือนในบันทึก และคำขอถูกส่งต่อไปโดยไม่เปลี่ยนแปลง: ไม่ถูกปฏิเสธและไม่ถูกเขียนใหม่

คำตอบที่ Chute สร้างเอง — Map Local, response ของสคริปต์ รวมถึงคำตอบและหน้าข้อผิดพลาดของ URL Rewrite และนโยบาย REJECT — เป็นไปตาม HTTP: คำตอบต่อคำขอ HEAD มีเพียงส่วนหัว โดยมี Content-Length เท่ากับที่คำขอ GET จะได้ และคำตอบที่มีสถานะ 204, 205 หรือ 304 จะไม่มีทั้งเนื้อหาและ Content-Length

โหมด Header

Chute จะแก้ไขส่วนหัวคำขอและเปลี่ยนเส้นทางคำขอไปยังโฮสต์อื่นหากจำเป็น ไคลเอนต์จะไม่สังเกตเห็นการเขียนใหม่นี้ (โหมดนี้ตรงกับ "Map Remote" ของ Surge)

ฟิลด์ "Host" ในส่วนหัวคำขอจะถูกแก้ไขให้ตรงกับ URL ใหม่

[URL Rewrite]
^http://www\.google\.cn http://www.google.com header

การแทนที่ยังสามารถอยู่ในรูปแบบที่มีเฉพาะพาธ เช่น /new/path ได้ด้วย ในกรณีนั้นจะมีเพียงบรรทัดคำขอเท่านั้นที่ถูกเขียนใหม่เป็นพาธใหม่ และคำขอจะยังคงถูกส่งไปยังโฮสต์เดิม การแทนที่จะถูกอ่านเป็น URL ก็ต่อเมื่อขึ้นต้นด้วย scheme ตามด้วย :// เท่านั้น ดังนั้นพาธที่มี URL อยู่ใน query string เช่น /go?to=http://example.com/ ก็ยังเป็นการแทนที่แบบเฉพาะพาธ

เมื่อปลายทางไม่สามารถเขียนใหม่ในตำแหน่งเดิมได้ — ตัวอย่างเช่น การเขียนคำขอ HTTP ธรรมดาใหม่ไปยัง URL https:// การเขียนคำขอ HTTPS (ที่เปิดใช้งาน MitM) ใหม่ไปยัง origin อื่น หรือการจับคู่คำขอถัดมาบนการเชื่อมต่อ HTTP ธรรมดาแบบ keep-alive ที่เปิดค้างไว้แล้วด้วยกฎที่ระบุโฮสต์อื่น — Chute จะถอยกลับไปตอบไคลเอนต์ด้วยการเปลี่ยนเส้นทาง 307 ไปยัง URL ใหม่โดยอัตโนมัติ แทนการเขียนส่วนหัวใหม่แบบโปร่งใส

โหมด 302

Chute จะส่งคืนการตอบกลับเปลี่ยนเส้นทาง 302 คำขอ HTTPS สามารถเปลี่ยนเส้นทางได้หาก MitM สำหรับชื่อโฮสต์ถูกเปิดใช้งาน

[URL Rewrite]
^http://amazon\.cn https://z.cn 302

โหมด 307

Chute จะส่งคืนการตอบกลับเปลี่ยนเส้นทางชั่วคราว 307 คำขอ HTTPS สามารถเปลี่ยนเส้นทางได้หาก MitM สำหรับชื่อโฮสต์ถูกเปิดใช้งาน

[URL Rewrite]
^http://amazon\.cn https://z.cn 307

โหมด Reject

ปฏิเสธคำขอหากตรงกับรูปแบบ พารามิเตอร์การแทนที่จะถูกละเว้น ส่งคืนการตอบกลับ HTTP 503 คำขอ HTTPS จะถูกปฏิเสธหาก MitM สำหรับชื่อโฮสต์ถูกเปิดใช้งาน

[URL Rewrite]
^http://ad\.com/ad\.png _ reject

โหมด Reject-200

ปฏิเสธคำขอด้วยสถานะ HTTP 200 OK และเนื้อหาความยาวศูนย์ มีประโยชน์สำหรับการบล็อกคำขอติดตามอย่างเงียบ ๆ โดยไม่กระตุ้นการจัดการข้อผิดพลาด

[URL Rewrite]
^http://tracker\.com/event _ reject-200

โหมด Reject-Img

ปฏิเสธคำขอโดยส่งคืนภาพ GIF สีขาว 1x1 (HTTP 200 OK) มีประโยชน์สำหรับการบล็อกรูปภาพโฆษณาโดยไม่ทำให้เกิดตัวแทนรูปภาพที่เสียหาย

[URL Rewrite]
^http://ad\.com/pixel _ reject-img

โหมด Reject-Dict

ปฏิเสธคำขอโดยส่งคืนอ็อบเจกต์ JSON ว่าง {} (HTTP 200 OK) มีประโยชน์สำหรับการบล็อกการเรียก API ที่คาดหวังการตอบกลับ JSON

[URL Rewrite]
^http://api\.example\.com/block _ reject-dict

โหมด Reject-Array

ปฏิเสธคำขอโดยส่งคืนอาร์เรย์ JSON ว่าง [] (HTTP 200 OK) มีประโยชน์สำหรับการบล็อกการเรียก API ที่คาดหวังรายการ

[URL Rewrite]
^http://api\.example\.com/list _ reject-array

โหมด Reject-TinyGIF

ปฏิเสธคำขอโดยส่งคืนภาพ GIF ขนาด 1×1 (HTTP 200 OK) ซึ่งเป็นชื่อแบบ Surge ของการตอบกลับเดียวกับ reject-img

[URL Rewrite]
^http://ad\.com/beacon _ reject-tinygif
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-29 21:57:05

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

results matching ""

    No results matching ""