ตัวเลือกเบ็ดเตล็ด

[General]
ipv6 = true
loglevel = notify

skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local

tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12
tun-included-routes = 192.168.1.12/32

ตัวเลือกทั่วไป

เปิดใช้งานการรองรับ IPv6 เต็มรูปแบบ (ค่าเริ่มต้น: true)

ipv6 = true

loglevel (ค่าเริ่มต้น: warning)

loglevel = notify

หนึ่งใน none, fatal, warning, notify, info หรือ verbose ไม่แนะนำให้เปิดใช้งาน verbose ในการใช้งานประจำวันเพราะจะทำให้ประสิทธิภาพลดลงอย่างมาก

skip-proxy

skip-proxy = 127.0.0.1, 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12, 100.64.0.0/10, localhost, *.local

ในเวอร์ชัน iOS ตัวเลือกนี้บังคับให้การเชื่อมต่อไปยังช่วงโดเมน/IP เหล่านี้ถูกจัดการโดย Chute TUN แทนพร็อกซี Chute ในเวอร์ชัน macOS การตั้งค่าเหล่านี้จะถูกนำไปใช้กับระบบเมื่อเปิดใช้งาน "Set as System Proxy" ตัวเลือกนี้ใช้เพื่อแก้ไขปัญหาความเข้ากันได้กับบางแอป

  • เพื่อระบุโดเมนเดียว ให้ป้อนชื่อโดเมน - ตัวอย่างเช่น apple.com
  • เพื่อระบุเว็บไซต์ทั้งหมดบนโดเมน ใช้เครื่องหมายดอกจันก่อนชื่อโดเมน - ตัวอย่างเช่น *apple.com
  • เพื่อระบุส่วนเฉพาะของโดเมน ระบุแต่ละส่วน - ตัวอย่างเช่น store.apple.com
  • เพื่อระบุโฮสต์หรือเครือข่ายตามที่อยู่ IP ให้ป้อนที่อยู่ IP เฉพาะ เช่น 192.168.2.11 หรือช่วงที่อยู่ เช่น 192.168.2.* หรือ 192.168.2.0/24

หมายเหตุ: หากคุณป้อนที่อยู่ IP หรือช่วงที่อยู่ คุณจะสามารถข้ามพร็อกซีได้เฉพาะเมื่อคุณเชื่อมต่อกับโฮสต์นั้นโดยใช้ที่อยู่นั้น ไม่ใช่เมื่อคุณเชื่อมต่อกับโฮสต์โดยชื่อโดเมนที่แก้ไขเป็นที่อยู่นั้น


การรับฟังของเซิร์ฟเวอร์พร็อกซี

interface = 127.0.0.1
port = 8118
socks-interface = 127.0.0.1
socks-port = 8119

interface / port ควบคุมที่อยู่และพอร์ตการรับฟังของเซิร์ฟเวอร์พร็อกซี HTTP (ค่าเริ่มต้น 127.0.0.1:8118) ส่วน socks-interface / socks-port ควบคุมเซิร์ฟเวอร์พร็อกซี SOCKS5 (ค่าเริ่มต้น 127.0.0.1:8119)

ชื่อพ้องเพื่อความเข้ากันได้: doh-server ถูกยอมรับให้เป็นชื่อพ้องของ doh ส่วน http-listen / socks5-listen (เช่น 0.0.0.0:6152, [::]:6153 หรือระบุเพียงหมายเลขพอร์ต) จะถูกจับคู่เข้ากับการตั้งค่า interface/port ข้างต้น หากโฮสต์ที่รับฟังเป็น wildcard (0.0.0.0, :: หรือ *) จะเป็นการตั้งค่า allow-wifi-access = true ไปด้วย


การตรวจสอบสิทธิ์พร็อกซีขาเข้า

http-auth = username:password

กำหนดให้ไคลเอนต์ต้องตรวจสอบสิทธิ์ก่อนใช้เซิร์ฟเวอร์พร็อกซี HTTP และ SOCKS5 ของ Chute บรรทัดนี้สามารถระบุซ้ำได้เพื่ออนุญาตข้อมูลรับรองหลายชุด


บายพาสคำขอของระบบ

bypass-system = true

เมื่อเปิดใช้งาน คำขอที่ส่งโดยกระบวนการของระบบจะบายพาสการประมวลผลของ Chute

ค่าเริ่มต้น: true


Always Real IP

always-real-ip = *.example.com, tracker.example.org

เมื่อ Chute ให้บริการที่อยู่ IP ปลอมสำหรับคำถาม DNS ที่ถูกไฮแจ็ก (ดู hijack-dns) ชื่อโฮสต์ที่ตรงกับรายการที่คั่นด้วยคอมมานี้จะถูกตอบด้วยที่อยู่ IP จริงที่แก้ไขแล้วเสมอแทน รองรับ wildcard


ขัดจังหวะการเชื่อมต่อที่มีอยู่

interrupt-exist-connections = true

เมื่อเปิดใช้งาน การเปลี่ยนนโยบายที่เลือกในกลุ่มนโยบายใดๆ (ผ่าน URL Test, Fallback, Load Balance, SSID หรือการเลือกด้วยตนเอง) จะปิดการเชื่อมต่อที่มีอยู่ที่ใช้นโยบายเก่าอย่างนุ่มนวล สิ่งนี้รับประกันว่าการเชื่อมต่อใช้พร็อกซีที่เลือกใหม่ทันทีแทนที่จะค้างอยู่กับพร็อกซีเก่า

การเชื่อมต่อที่ได้รับผลกระทบแต่ละรายการถูกปิดอย่างนุ่มนวลด้วยเวลาหมด 3 วินาทีก่อนที่จะถูกบังคับปิด

ค่าเริ่มต้น: false นี่คือการตั้งค่าส่วนกลาง — มันส่งผลต่อกลุ่มนโยบายทั้งหมด


Network Framework (macOS / tvOS)

network-framework = true

เปิดใช้งาน Apple Network.framework สำหรับการเชื่อมต่อขาออก การใช้ Network.framework สามารถให้ประสิทธิภาพที่ดีขึ้นและการรวมสแตก TLS สมัยใหม่บนแพลตฟอร์มที่รองรับ

ค่าเริ่มต้น: true บน macOS, false บน iOS และ tvOS


ยกเว้นชื่อโฮสต์อย่างง่าย

exclude-simple-hostnames = true

เมื่อเปิดใช้งาน คำขอไปยังชื่อโฮสต์อย่างง่าย (ชื่อป้ายเดียวที่ไม่มีจุด เช่น localhost) ข้ามกฎพร็อกซีและถูกแก้ไขในเครื่อง สิ่งนี้ช่วยหลีกเลี่ยงการค้นหา DNS ที่ไม่จำเป็นสำหรับชื่อเครือข่ายท้องถิ่น

บน Chute Mac มีการย้ายข้อมูลแบบครั้งเดียวที่เปิดใช้งานตัวเลือกนี้เป็นค่าเริ่มต้นในการรันครั้งแรก แต่หากผู้ใช้ตั้งค่าปิดไว้อย่างชัดเจน ระบบจะเคารพการตั้งค่านั้น

ค่าเริ่มต้น: false


ปิดใช้งานการบันทึกฐานข้อมูล

disable-db-record = true

เมื่อเปิดใช้งาน Chute หยุดเขียนระเบียนทราฟฟิกไปยังฐานข้อมูลในเครื่อง สิ่งนี้สามารถปรับปรุงประสิทธิภาพและลดการใช้พื้นที่เก็บข้อมูล แต่ประวัติทราฟฟิกจะไม่พร้อมใช้งานใน Chute Dashboard

ค่าเริ่มต้น: false


menu-bar-show-speed = true

เมื่อเปิดใช้งาน Chute Mac แสดงความเร็วอัปโหลดและดาวน์โหลดปัจจุบันในแถบเมนู

ค่าเริ่มต้น: false


ไฮแจ็กเซิร์ฟเวอร์ DNS อื่น

hijack-dns = 8.8.8.8:53

โดยค่าเริ่มต้น Chute จะส่งคืนที่อยู่ IP ปลอมเฉพาะสำหรับคำถาม DNS ที่ส่งไปยังที่อยู่ DNS ของ Chute (198.18.0.2) คำถามที่ส่งไปยัง DNS มาตรฐานจะถูกส่งต่อเพียงอย่างเดียว

บางอุปกรณ์หรือซอฟต์แวร์ใช้เซิร์ฟเวอร์ DNS แบบ hardcode เสมอ (ตัวอย่างเช่น Google Speakers ใช้ 8.8.8.8 เสมอ) คุณอาจใช้ตัวเลือกนี้เพื่อไฮแจ็กคำถามเพื่อรับที่อยู่ปลอม

คุณอาจใช้ hijack-dns = *:53 เพื่อไฮแจ็กคำถาม DNS ทั้งหมด


เส้นทางที่ยกเว้น

tun-excluded-routes = 192.168.0.0/16, 10.0.0.0/8, 172.16.0.0/12

Chute VIF สามารถประมวลผลเฉพาะโปรโตคอล TCP และ UDP ใช้ตัวเลือกนี้เพื่อข้ามช่วง IP ที่ระบุเพื่ออนุญาตให้ทราฟฟิกทั้งหมดผ่านได้

หมายเหตุ: ตัวเลือกนี้ทำงานเฉพาะกับประเภท Enhanced Mode แบบ VIF (utun) — มันไม่มีผลเมื่อใช้ประเภท PacketTunnel VPN คำขอที่จัดการโดย Chute Proxy Server จะไม่ได้รับผลกระทบ รวม 'skip-proxy' และ 'tun-excluded-routes' เพื่อให้แน่ใจว่าทราฟฟิก HTTP บางอย่างข้าม Chute

ตัวเลือกนี้อาจทำให้เกิดข้อผิดพลาดของระบบ ENOMEM (Cannot allocate memory) ดูเหมือนเป็นข้อบกพร่องในระบบ iOS โปรดอย่าใช้ตัวเลือกนี้หากเป็นไปได้


เส้นทางที่รวม

tun-included-routes = 192.168.1.12/32

โดยค่าเริ่มต้น อินเทอร์เฟซ Chute VIF จะประกาศตัวเองเป็นเส้นทางเริ่มต้น แต่เนื่องจากอินเทอร์เฟซ Wi-Fi มีเส้นทางที่เล็กกว่า ทราฟฟิกบางอย่างอาจไม่ผ่านอินเทอร์เฟซ Chute VIF ใช้ตัวเลือกนี้เพื่อเพิ่มเส้นทางที่เล็กกว่า

หมายเหตุ: ตัวเลือกนี้ทำงานเฉพาะกับประเภท Enhanced Mode แบบ VIF (utun) — มันไม่มีผลเมื่อใช้ประเภท PacketTunnel VPN


การดมกลิ่นโปรโตคอล

sniffing-enabled = true
sniffing-timeout = 100

Chute สามารถตรวจจับโปรโตคอลที่แท้จริงของการเชื่อมต่อโดยการตรวจสอบไบต์เริ่มต้น สิ่งนี้ทำให้กฎเช่น PROTOCOL,TLS,Proxy ทำงานได้อย่างถูกต้องแม้สำหรับการเชื่อมต่อขาเข้าที่ไม่ใช่ HTTP

sniffing-enabled (ค่าเริ่มต้น: false)

sniffing-enabled = true

เปิดใช้งานการตรวจจับโปรโตคอลสำหรับการเชื่อมต่อ TCP

sniffing-timeout (ค่าเริ่มต้น: 100ms)

sniffing-timeout = 200

เวลาสูงสุดเป็นมิลลิวินาทีในการรอข้อมูลเริ่มต้นเพื่อกำหนดโปรโตคอล เพิ่มค่านี้หากการตรวจจับโปรโตคอลล้มเหลวบนการเชื่อมต่อที่ช้า


การบล็อก QUIC

block-quic = auto

ควบคุมว่า Chute จะปฏิเสธทราฟฟิก QUIC ที่ตรวจพบ รวมถึง HTTP/3 หรือไม่ QUIC ทำงานผ่าน UDP และไม่สามารถถอดรหัสด้วย HTTP MitM ของ Chute ได้ การปฏิเสธ QUIC อาจทำให้ไคลเอนต์ที่รองรับลองเชื่อมต่อใหม่ผ่าน TCP จึงสามารถใช้การประมวลผลพร็อกซีบน TCP และการถอดรหัส HTTPS เมื่อกำหนดค่าไว้ได้

ค่า พฤติกรรม
off ไม่ใช้การบล็อก QUIC แบบส่วนกลาง (ค่าเริ่มต้น) ทราฟฟิก QUIC ที่ตรวจพบจะเป็นไปตามกฎการกำหนดเส้นทางปกติ
on ปฏิเสธโฟลว์ QUIC ที่ตรวจพบทั้งหมด รวมถึงทราฟฟิกที่กำหนดเส้นทางไปยัง DIRECT
auto ปฏิเสธ QUIC ที่ตรวจพบเฉพาะเมื่อนโยบายขาออกสุดท้ายเป็นพร็อกซี ทราฟฟิกที่กำหนดเส้นทางไปยัง DIRECT จะได้รับอนุญาต ส่วนทราฟฟิกที่กำหนดเส้นทางไปยัง REJECT จะยังคงถูกปฏิเสธตามกฎนั้น

สำหรับทราฟฟิกที่เข้ามาทาง TUN Chute จะตอบกลับโฟลว์ QUIC ที่ถูกปฏิเสธด้วยข้อความ ICMP/ICMPv6 Port Unreachable ทำให้ไคลเอนต์ที่รองรับสามารถถอยกลับไปใช้ TCP ได้โดยไม่ต้องรอ QUIC หมดเวลา

การตรวจจับ QUIC สำหรับ block-quic ทำงานโดยอัตโนมัติและไม่ต้องใช้ sniffing-enabled โดย sniffing-enabled ใช้ควบคุมการตรวจจับโปรโตคอล TCP หากต้องการจัดการแต่ละโฟลว์ QUIC ด้วยกฎ ให้ใช้กฎ PROTOCOL,QUIC,...


บายพาส TUN

bypass-tun = 192.168.0.0/16, 10.0.0.0/8

คล้ายกับ skip-proxy แต่ทำงานในระดับการจัดเส้นทาง TUN/VIF การเชื่อมต่อไปยังช่วง IP เหล่านี้จะบายพาสอินเทอร์เฟซ TUN ทั้งหมดและผ่านสแตกเครือข่ายของระบบโดยตรง

หมายเหตุ: ตัวเลือกนี้ทำงานเฉพาะกับประเภท Enhanced Mode แบบ VIF (utun) มันไม่มีผลเมื่อใช้ประเภท PacketTunnel VPN


แสดงหน้าข้อผิดพลาดสำหรับ Reject

show-error-page-for-reject = true

เมื่อเปิดใช้งาน Chute ส่งคืนหน้าข้อผิดพลาดที่เป็นมิตรกับผู้ใช้สำหรับคำขอที่ถูกปฏิเสธแทนที่จะเพียงแค่ทิ้งการเชื่อมต่อ


Optimistic DNS

optimistic-dns = false

เมื่อเปิดใช้งาน Chute ส่งคืนผลลัพธ์ DNS ที่แคชไว้ทันทีในขณะที่รีเฟรชระเบียนในพื้นหลัง สิ่งนี้ลดเวลาแฝงในการเชื่อมต่อโดยมีค่าใช้จ่ายคืออาจส่งคืนระเบียน DNS ที่เก่า

ค่าเริ่มต้น: true ตั้งค่า optimistic-dns = false เพื่อปิดใช้งาน


อนุญาตการเข้าถึง Wi-Fi

allow-wifi-access = true

มีวัตถุประสงค์เพื่ออนุญาตให้อุปกรณ์อื่นในเครือข่าย Wi-Fi เดียวกันเข้าถึงพอร์ตพร็อกซี HTTP/SOCKS5 ของ Chute สวิตช์นี้แสดงในแอป Chute และค่าจะถูกเก็บรักษาไว้ในการกำหนดค่า

ข้อสังเกต: ปัจจุบันเคอร์เนลเก็บแฟล็กนี้ไว้แต่ยังไม่บังคับใช้


การกำหนดค่าแบบจัดการ

#!MANAGED-CONFIG https://example.com/config.conf interval=86400 strict=false

การกำหนดค่าที่บรรทัดแรกเป็นส่วนหัว #!MANAGED-CONFIG จะถูกดึงจาก URL นั้นใหม่โดยอัตโนมัติ พารามิเตอร์ของส่วนหัวและพฤติกรรมการอัปเดตมีบันทึกไว้ในการกำหนดค่าแบบจัดการ


Replica / การบันทึกทราฟฟิก

replica = true

คีย์ replica ใน [General] (replica = true) เปิดใช้การบันทึกทราฟฟิก ส่วน [Replica] ทำหน้าที่กรองสิ่งที่แสดงใน Chute Dashboard โดยคีย์ต่าง ๆ มีบันทึกไว้ใน Replica


การเข้าถึง External Controller (Chute Dashboard)

external-controller-access = password@0.0.0.0:6155

เริ่มเซิร์ฟเวอร์ควบคุมระยะไกลที่ใช้โดย Chute Dashboard ค่าคือ password@host:port; อาจมีชื่อผู้ใช้นำหน้ารหัสผ่านก็ได้ (user:password@host:port) บน iOS ช่องทาง USB ที่มาคู่กันจะถูกเปิดบน port + 1 (ไม่มีบน macOS)


HTTP Control API และ Web UI

[General]
external-http-controller = 127.0.0.1:9090
external-http-secret = your-secret-token
external-http-ui = true
external-http-cors = false

Chute มี HTTP control API ในตัวและ UI การจัดการบนเว็บ คล้ายกับแดชบอร์ด Clash และ Surge API เปิดเผยสถานะเคอร์เนล ทราฟฟิก การเชื่อมต่อ DNS การควบคุมนโยบาย และการจัดการการกำหนดค่าผ่านปลายทาง REST

external-http-controller (ค่าเริ่มต้น: ปิดใช้งาน)

external-http-controller = 127.0.0.1:9090

ที่อยู่และพอร์ตสำหรับเซิร์ฟเวอร์ควบคุม HTTP ใช้ 127.0.0.1 สำหรับการเข้าถึงเฉพาะในเครื่อง การผูกกับที่อยู่ที่ไม่ใช่ loopback แบบเจาะจง (เช่น 192.168.1.5:9090) ต้องการ external-http-secret ที่ไม่ว่างเปล่า — หากไม่มี เซิร์ฟเวอร์จะปฏิเสธที่จะเริ่มทำงานและบันทึกคำเตือน โปรดทราบว่า 0.0.0.0 ผ่านการตรวจสอบนี้แม้ว่ามันจะรับฟังบนอินเทอร์เฟซทั้งหมด: เมื่อรวมกับ secret ที่ว่างเปล่า สิ่งนี้จะเปิดเผย API ทั้งหมดสู่เครือข่ายโดยไม่มีการตรวจสอบสิทธิ์ ดังนั้นให้ตั้งค่า secret เสมอเมื่อผูกกับ 0.0.0.0

external-http-secret (ค่าเริ่มต้น: ว่าง)

external-http-secret = your-secret-token

โทเค็น Bearer ที่ใช้สำหรับการตรวจสอบสิทธิ์ API คำขอต้องรวมส่วนหัว Authorization: Bearer <secret> — โทเค็นถูกยอมรับเฉพาะในส่วนหัวนี้เท่านั้น ไม่ยอมรับเป็นพารามิเตอร์คิวรี และถูกเปรียบเทียบในเวลาคงที่ เมื่อ secret ว่างเปล่า ทุกปลายทางจะให้บริการโดยไม่มีการตรวจสอบสิทธิ์ ความล้มเหลวในการตรวจสอบสิทธิ์ส่งคืน 401 พร้อม {"ok": false, "error": {"code": "unauthorized", "message": "missing or invalid token"}} เฉพาะพาธ /api/* และชื่อพ้องที่เข้ากันได้กับ Clash เท่านั้นที่ถูกป้องกัน; ทรัพยากรแบบสแตติกของ Web UI ให้บริการเสมอ

external-http-ui (ค่าเริ่มต้น: true)

external-http-ui = true

เมื่อเปิดใช้งาน Chute ให้บริการ Web UI ในตัวที่ที่อยู่คอนโทรลเลอร์ Web UI มีแดชบอร์ดภาพรวม การจัดการการเชื่อมต่อ การตรวจสอบ DNS การตรวจสอบทราฟฟิก การควบคุมนโยบาย และการแก้ไขการกำหนดค่า ตั้งค่าเป็น false เพื่อให้ API เปิดใช้งานในขณะที่ปิดใช้งาน UI

external-http-cors (ค่าเริ่มต้น: false)

external-http-cors = true

เปิดใช้งานส่วนหัว CORS (Cross-Origin Resource Sharing) ในการตอบกลับ API มีประโยชน์เมื่อ Web UI หรือเครื่องมือบุคคลที่สามต้องการเข้าถึง API จากต้นทางที่แตกต่างกัน

ปลายทาง API:

เมธอด ปลายทาง คำอธิบาย
GET /api/status สถานะรันไทม์ พอร์ต เวลาทำงาน
GET /api/traffic ตัวนับทราฟฟิกส่วนกลางและต่อนโยบาย
GET /api/connections การเชื่อมต่อที่ใช้งานปัจจุบัน
DELETE /api/connections/:id ปิดการเชื่อมต่อ
GET /api/connections/history ระเบียนการเชื่อมต่อในอดีต
GET /api/connections/processes สถิติการเชื่อมต่อแยกตามกระบวนการ
GET /api/connections/:id/request ข้อมูลคำขอที่บันทึกไว้ของการเชื่อมต่อ
GET /api/connections/:id/response ข้อมูลการตอบกลับที่บันทึกไว้ของการเชื่อมต่อ
GET /api/dns ระเบียนแคช DNS
DELETE /api/dns/cache ล้างแคช DNS
DELETE /api/dns/records/:domain ลบระเบียน DNS รายการเดียว
GET /api/config การกำหนดค่าปัจจุบัน
PUT /api/config โหลดการกำหนดค่าใหม่
GET /api/policies กลุ่มนโยบายและการเลือกปัจจุบัน
PUT /api/policies/:group เปลี่ยนการเลือกกลุ่มนโยบาย
PUT /api/mode ตั้งค่าโหมดขาออก
GET /api/features สถานะสวิตช์คุณสมบัติ
PUT /api/features/mitm สลับ MitM
PUT /api/features/record-traffic สลับการบันทึกทราฟฟิก
GET /api/rules กฎที่โหลดอยู่
GET /api/logs รายการบันทึกล่าสุด

หมายเหตุปลายทาง:

  • GET /api/connections รับ limit (จำนวนเต็มบวก ค่าเริ่มต้นและสูงสุด 1000) และ cursor (ส่งคืนเฉพาะการเชื่อมต่อที่มี id มากกว่าเคอร์เซอร์) data ในการตอบกลับประกอบด้วย connections, total, page_size, has_more และ — เมื่อมีหน้าเพิ่มเติม — next_cursor
  • GET /api/connections/history รับ limit (ค่าเริ่มต้น 100 สูงสุด 1000) และ cursor/before (ชื่อพ้องกัน; การส่งทั้งสองพร้อมกันจะถูกปฏิเสธ)
  • GET /api/connections/:id/request และ .../response ส่งคืน {"connection_id": <id>, "data": "<base64>"} ข้อมูลที่บันทึกไว้ที่ใหญ่กว่า 2 MiB ส่งคืน 413
  • GET /api/config ส่งคืนการกำหนดค่าโดยค่าที่ละเอียดอ่อน (http-auth, external-http-secret, ca-p12, ca-passphrase, คีย์ WireGuard และค่าทำนองเดียวกัน) ถูกแทนที่ด้วย <redacted>อย่าป้อนผลลัพธ์กลับเข้า PUT /api/config โดยตรง มิฉะนั้นตัวยึดตำแหน่งเหล่านี้จะถูกเขียนลงในการกำหนดค่าตามตัวอักษร
  • PUT /api/config รับได้ทั้ง JSON {"configuration": "<ข้อความเต็ม>"} หรือข้อความการกำหนดค่าดิบเป็นเนื้อหาคำขอ (จำกัด 1 MB) เมื่อสำเร็จ เคอร์เนลจะโหลดใหม่ — หรือเริ่มทำงานหากยังไม่ได้รัน
  • PUT /api/policies/:group นำการเลือกจากคีย์แรกที่พบในเนื้อหาคำขอตามลำดับ policy, name, selected, select; ค่าอาจเป็นชื่อนโยบายหรือดัชนีตัวเลขในรูปสตริง ชื่อกลุ่มพิเศษ GLOBAL ตั้งค่านโยบายที่เลือกแบบสากล
  • PUT /api/mode ต้องการตัวเลข JSON: {"mode": 0}0 ตามกฎ, 1 ตรง, 2 พร็อกซี
  • PUT /api/features/mitm และ PUT /api/features/record-traffic รับ {"enabled": true}
  • GET /api/logs รับ since (วินาที Unix); บัฟเฟอร์ในหน่วยความจำเก็บรายการล่าสุด 1000 รายการ แต่ละรายการเป็น {timestamp, level, section, message}

ตัวอย่าง — อ่านสถานะ จากนั้นสลับกลุ่มนโยบาย:

curl -H "Authorization: Bearer your-secret-token" http://127.0.0.1:9090/api/status
{"ok":true,"data":{"running":true,"outbound_mode":0,"mitm":false, ...}}

curl -X PUT -H "Authorization: Bearer your-secret-token" \
     -d '{"policy": "ProxyB"}' http://127.0.0.1:9090/api/policies/MainGroup
{"ok":true,"data":{"outbound_mode":0,"selectable_groups":[...], ...}}

หมายเหตุ: คุณสมบัตินี้ถูกปิดใช้งานโดยค่าเริ่มต้น ทุกการตอบกลับใช้รูปแบบครอบ (envelope) {"ok": true, "data": {...}} เมื่อสำเร็จและ {"ok": false, "error": {"code": "...", "message": "..."}} เมื่อเกิดข้อผิดพลาด; เนื้อหาคำขอถูกจำกัดที่ 1 MB

ปลายทาง PUT ยังรับ PATCH ด้วย มีพาธชื่อพ้องที่เข้ากันได้กับ Clash สำหรับแดชบอร์ดจากบุคคลที่สาม: /version, /traffic, /connections, /configs, /proxies, /rules — พาธเหล่านี้เข้าถึงได้ แต่การตอบกลับใช้รูปแบบครอบและชื่อฟิลด์ของ Chute แทน schema ของ Clash (/version ส่งคืนเพียง {"name", "run_id"}) ดังนั้นแดชบอร์ด Clash จะไม่สามารถใช้ได้ทันที


ลายนิ้วมือไคลเอนต์

global-client-fingerprint = chrome

กำหนดลายนิ้วมือไคลเอนต์ TLS ให้ทุกนโยบายที่ไม่ได้ระบุ fingerprint ของตนเอง ค่าของนโยบาย จะมาก่อนเสมอ ดังนั้นค่านี้เป็นค่าเริ่มต้นไม่ใช่การเขียนทับ

ค่าที่รองรับคือ chrome, firefox, safari และ ios รวมถึง edge, 360, qq, android และ random ซึ่งทั้งหมดถูกจัดการเป็น Chrome ค่าที่ไม่รู้จักจะถูก ละเว้นและใช้ TLS ของแพลตฟอร์มแทน

ค่าเริ่มต้น: ว่าง หมายถึงใช้ TLS ของแพลตฟอร์ม เฉพาะนโยบาย Trojan, VMess, VLESS และ ShadowTLS เท่านั้นที่อ่านค่านี้

S. Smart Rabbit LLC © All Rights Reserved            updated 2026-08-18 12:08:14

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

results matching ""

    No results matching ""