การแก้ไขปัญหา

เมื่อพบปัญหา ให้แยกเป็นสองคำถามก่อน: ทราฟฟิกเข้าถึง Chute หรือไม่ (ปัญหาการเข้าควบคุม) และ Chute ส่งต่อมันได้หรือไม่ (ปัญหาการส่งต่อ)? มุมมองทราฟฟิกแบบเรียลไทม์ตอบคำถามนี้ได้ — เปิดแดชบอร์ด (iOS) หรือแท็บ Traffic ของหน้าต่างหลัก (Mac) แล้วลองเปิดเว็บ: หากไม่มีอะไรปรากฏ แสดงว่า Chute ไม่ได้รับทราฟฟิก; หากการเชื่อมต่อปรากฏแต่ล้มเหลว แสดงว่า Chute ไม่สามารถส่งต่อได้ ปัญหาสองครึ่งนี้มีวิธีแก้ที่แตกต่างกันโดยสิ้นเชิง

หน้านี้มีไว้สำหรับ "มันไม่ทำงาน" ถ้าคำถามคือ "มันกำลังทำอะไร" — อ่านคำขอ เก็บเนื้อหา แก้การตอบกลับ จำลองความผิดพลาด — ให้เริ่มที่การดีบักเครือข่ายแทน

ไม่มีอะไรปรากฏ: ปัญหาการเข้าควบคุม

Chute iOS

  • สวิตช์ไม่ยอมเปิดและแถบการกำหนดค่าสั่น — ไม่มีการกำหนดค่าใดถูกเลือก แตะแถบ การกำหนดค่า แตะการกำหนดค่าหนึ่งจนแสดงเครื่องหมายถูก จากนั้นแตะ เสร็จสิ้น ("โปรดเลือกการกำหนดค่าก่อน")
  • กล่องขออนุญาต VPN ถูกปฏิเสธ — สลับสวิตช์อีกครั้งและอนุมัติ หากโปรไฟล์ VPN ค้าง (สวิตช์เด้งกลับทันที) ให้ใช้ รีเซ็ตการกำหนดค่า VPN ในการตั้งค่าของแอป; การเริ่มครั้งถัดไปจะสร้างโปรไฟล์ใหม่และขออนุญาตอีกครั้ง
  • แอป VPN อื่นกำลังเชื่อมต่ออยู่ — iOS รันทันเนล VPN ได้ครั้งละหนึ่งเท่านั้น ตัดการเชื่อมต่อแอปอื่น (หรือปิดกฎ on-demand ของมัน ซึ่งอาจแย่งทันเนลกลับไปอย่างเงียบ ๆ)

Chute Mac

  • พร็อกซีระบบเปิดอยู่แต่บางแอปไม่สนใจ — เครื่องมือหลายตัว (โดยเฉพาะโปรแกรมในเทอร์มินัล) ไม่ปฏิบัติตามพร็อกซีระบบ ชี้พวกมันไปยังลิสเนอร์ของ Chute อย่างชัดเจน (Copy Shell Export Command ในเมนูทำสิ่งนี้ให้สำหรับเชลล์) หรือใช้ Enhanced Mode ซึ่งดักจับทราฟฟิกที่เลเยอร์เครือข่าย
  • โหมดขั้นสูงไม่ยอมเริ่ม — network extension หรือ helper ต้องได้รับการอนุมัติ; ดูการแก้ไขปัญหาโหมดขั้นสูงสำหรับพาธการตั้งค่าระบบที่แน่นอน กรณี "System Extension Blocked" และการรีเซ็ต VPN ที่ค้าง
  • ทราฟฟิกไปยังที่อยู่ LAN ข้าม Chute โดยการออกแบบ — ตรวจสอบ skip-proxy และ tun-excluded-routes ในตัวเลือกเบ็ดเตล็ดก่อนสรุปว่าการเข้าควบคุมเสีย

การเชื่อมต่อปรากฏแต่ล้มเหลว: ปัญหาการส่งต่อ

  • แยกเส้นทางก่อน สลับกลุ่มนโยบายของคุณเป็น DIRECT: หากหน้าเว็บโหลดได้แบบตรงแต่ล้มเหลวผ่านพร็อกซี ปัญหาอยู่ที่เซิร์ฟเวอร์พร็อกซี — โฮสต์/พอร์ต/ข้อมูลรับรอง/วิธีเข้ารหัสผิด หรือเซิร์ฟเวอร์ล่ม รันการทดสอบเวลาแฝงกับกลุ่ม; นโยบายที่ไม่เคยผ่านการทดสอบในขณะที่ตัวอื่นผ่าน คือตัวการ
  • กฎที่ผิดตัวถูกจับคู่ ดูกฎที่ถูกจับคู่ของการเชื่อมต่อที่ล้มเหลวในมุมมองทราฟฟิกแบบเรียลไทม์ แล้วอ่านลำดับการประเมินกฎอีกครั้ง: กฎถูกประเมินเป็นสองรอบ ดังนั้นสำหรับคำขอที่อิงชื่อโฮสต์ กฎที่ไม่ใช่ IP ซึ่งอยู่หลังอาจถูกจับคู่ก่อนกฎ IP ที่อยู่ก่อน no-resolve และตำแหน่งของ FINAL คือผู้ต้องสงสัยตามปกติ
  • คำตอบ DNS ดูไม่ถูกต้อง ตรวจสอบส่วน DNS: เมื่อใช้ DNS ที่เข้ารหัส ให้แน่ใจว่าตัวเซิร์ฟเวอร์ DoH/DoT เองเข้าถึงได้โดยไม่ผ่านพร็อกซี; ล้างแคช DNS หลังเปลี่ยนเซิร์ฟเวอร์ (สวิตช์ในแผงควบคุม iOS, flushDNS จากสคริปต์ หรือ DELETE /api/dns/cache บน HTTP Control API)
  • แอปที่พึ่งพา UDP ทำงานผิดปกติ — ยืนยันว่านโยบายที่เลือกรองรับ UDP relay (ดูตารางความสามารถในนโยบายพร็อกซี) และจำไว้ว่า Tailscale ไม่ส่งต่อ ICMP ดังนั้นการ ping ผ่าน exit node จะเงียบ

การถอดรหัส HTTPS ไม่ถอดรหัส

  • CA ต้องถูกติดตั้งและเชื่อถือด้วย — เป็นสองขั้นตอนแยกกันบน iOS; ขั้นที่สอง (การตั้งค่า → ทั่วไป → เกี่ยวกับ → การตั้งค่าความน่าเชื่อถือของใบรับรอง) คือขั้นที่ทุกคนพลาด ดูการติดตั้งและเชื่อถือใบรับรอง CA
  • โฮสต์ต้องตรงกับรายการ hostname ของ [MITM] — เฉพาะโฮสต์ที่ประกาศไว้เท่านั้นที่ถูกถอดรหัส และเฉพาะบนพอร์ต 443 เว้นแต่ส่วนต่อท้าย :port/:0 ระบุเป็นอย่างอื่น
  • บางแอปปักหมุด (pin) ใบรับรองของตัวเองและจะล้มเหลวขณะถูกถอดรหัส — ยกเว้นโฮสต์ของพวกมันด้วยคำนำหน้า - แทนที่จะฝืนสู้
  • QUIC/HTTP-3 ไม่สามารถถอดรหัสได้ — ดู block-quic สำหรับการบังคับไคลเอนต์ที่รองรับให้กลับไปใช้ TCP
  • บน iPhone และ Apple TV การถอดรหัสเป็นฟีเจอร์ที่ต้องมีใบอนุญาต: หากไม่มีใบอนุญาตจะไม่มีการถอดรหัสใดๆ และสวิตช์ MitM ไม่มีผล — ดูใบอนุญาตและการเปิดใช้งาน

การอ่านบันทึก

เมื่อหัวข้อด้านบนยังไม่ชี้ขาด บันทึกมักให้คำตอบ:

  • เพิ่มระดับบันทึกชั่วคราว: loglevel = verbose (อย่าลืมเปลี่ยนกลับ — verbose ช้า)
  • Chute Mac: แท็บ บันทึก ของหน้าต่างหลัก Chute iOS: หน้าจอบันทึกเซสชัน ซึ่งมีปุ่มแชร์บนแถบนำทาง และจะส่งชาร์ดทั้งหมดของรอบนั้นให้ Chute tvOS: หน้าจอบันทึกเซสชัน พร้อมตัวกรองระดับความรุนแรงด้านบน (ทั้งหมด / แจ้งเตือนขึ้นไป / คำเตือนขึ้นไป / ร้ายแรง) ใช้รีโมตอย่างเดียวก็จำกัดขอบเขตได้
  • ทุกแพลตฟอร์ม: หน้า Logs ของคอนโซล หรือ GET /api/logs ผ่านAPI ควบคุม HTTP
  • บรรทัดคำเตือนคือบรรทัดที่น่าสนใจ: นโยบายที่ไม่รู้จัก ตัวเลือกที่ถูกปฏิเสธ และกฎที่แยกวิเคราะห์ไม่ได้ ล้วนถูกบันทึกเป็นคำเตือนเมื่อโหลดการกำหนดค่า
  • บันทึกถูกแบ่งเป็นชาร์ดขนาดไม่กี่เมกะไบต์ Chute เก็บชาร์ดล่าสุดของแต่ละรอบไว้ ไฟล์ใหม่สุดจึงเป็นแค่ตอนจบของเรื่อง ไม่ใช่ทั้งเรื่อง — เอาไปให้ครบทุกไฟล์ (ส่วน Chute Android เก็บบันทึกของรอบนี้ไว้ในหน่วยความจำแทน ไม่มีไฟล์ชาร์ดบนดิสก์)
  • บน macOS ตัวไฟล์เองอยู่ใต้ ~/Chute/Share/<run id>/ — ดูตำแหน่งไฟล์ (macOS)

การส่งชุดข้อมูลวินิจฉัย

เมื่อคุณต้องให้คนอื่นช่วยดู ไฟล์เก็บถาวรหนึ่งไฟล์ดีกว่าไฟล์หกไฟล์ที่ต้องไปหาจากแผงแชร์ บวกกับคำบรรยายอาการที่จำเอา แอปแยกชุดข้อมูลออกเป็นสองแบบ: ชุดข้อมูลวินิจฉัยขณะทำงาน ที่สร้างโดยเอนจินซึ่งกำลังทำงาน และ ชุดข้อมูลวินิจฉัยออฟไลน์ ที่แอปสร้างขึ้นเอง ทั้งสองแบบ รหัสผ่าน โทเคน คุกกี้ และข้อมูลรับรองใน URL ถูกแทนที่ด้วย <redacted> และเนื้อหาคำขอและการตอบกลับไม่รวมอยู่ด้วย

ชุดข้อมูลวินิจฉัยขณะทำงาน — สร้างโดยเอนจินที่กำลังทำงาน: สำเนาการกำหนดค่าที่ลบข้อมูลอ่อนไหวแล้ว ภาพรวมสุขภาพของเอนจิน (รวมถึงวิธีที่รอบก่อนหน้าจบลง) เหตุการณ์สำคัญของรอบนี้ กฎและนโยบายที่โหลดไว้ DNS ทราฟฟิก และส่วนท้ายของบันทึก (บน Android คือวงบันทึกในหน่วยความจำของรอบนี้ เพราะไม่มีชาร์ดบนดิสก์) ต้องมีอุโมงค์กำลังทำงานอยู่

  • Chute iOS: แผงควบคุม → แถวสุดท้ายของส่วน «พร็อกซีท้องถิ่น» คือ ชุดข้อมูลวินิจฉัยขณะทำงาน — แสดงเสมอ เป็นสีเทาจนกว่าอุโมงค์จะเชื่อมต่อ และไม่ต้องใช้ external-http-controller แตะแล้วจะสร้างชุดข้อมูลและเปิดแผงแชร์
  • Chute Android: แผงควบคุม → ชุดข้อมูลวินิจฉัยขณะทำงาน ใต้แถว HTTP API — ใช้ไม่ได้จนกว่า VPN จะทำงาน
  • Chute Mac: แถบเมนู → บันทึกชุดข้อมูลวินิจฉัย… — เอนจินทำงานอยู่ในแอป ชุดข้อมูลเดียวนี้จึงครอบคลุมทั้งสองแบบ และใช้ได้ไม่ว่าเอนจินจะกำลังทำงานหรือหยุดอยู่
  • Chute tvOS: อุปกรณ์นี้ไม่มีแผงแชร์และไม่มีตัวเรียกดูไฟล์ ปุ่ม Download diagnostic bundle (ดาวน์โหลดชุดข้อมูลวินิจฉัย) ของคอนโซลจึงเป็นทางเดียว — สแกนคิวอาร์โค้ดในแอปแล้วเปิดหน้า Diagnostics บนอุปกรณ์ที่คุณส่งเมลได้
  • ทุกแพลตฟอร์ม จากคอนโซล: ปุ่มดาวน์โหลดในหน้า Diagnostics หรือ POST /api/diagnostics/bundle

ชุดข้อมูลวินิจฉัยออฟไลน์ — แอปสร้างขึ้นโดยไม่ใช้เอนจิน จึงใช้ได้เมื่ออุโมงค์ล่มหรือไม่เคยเริ่มเลย: รายงานโฮสต์ของแอป (เวอร์ชัน อุปกรณ์ สถานะ VPN สรุปการกำหนดค่า และหน้าวินิจฉัย «เครือข่าย / พร็อกซี / ตารางเส้นทาง» ในรูปข้อความ) เครื่องหมายการออกของรอบก่อนหน้า (รายงานเป็น «running» หากเอนจินกำลังทำงานอยู่จริง) และไฟล์บันทึกที่แอปเข้าถึงได้

  • Chute iOS: การตั้งค่า → ส่วน «การวินิจฉัย» → ชุดข้อมูลวินิจฉัยออฟไลน์
  • Chute Android: การตั้งค่า → ส่วน «การวินิจฉัย» → บันทึกชุดข้อมูลวินิจฉัยออฟไลน์
  • Chute tvOS: การตั้งค่า → ชุดข้อมูลวินิจฉัยออฟไลน์ — Apple TV จะสร้างชุดข้อมูลแล้วแสดงคิวอาร์โค้ด สแกนด้วยโทรศัพท์ที่อยู่ในเครือข่ายเดียวกัน (หรือเปิดที่อยู่ที่แสดงบนคอมพิวเตอร์) เพื่อดาวน์โหลดไฟล์ zip — ลิงก์นี้ใช้ได้เฉพาะตอนที่หน้าจอนั้นยังเปิดอยู่
  • Chute Mac: ไม่ต้องมีชุดข้อมูลออฟไลน์แยกต่างหาก — บันทึกชุดข้อมูลวินิจฉัย… ในแถบเมนูใช้ได้แม้เอนจินหยุดอยู่ และไฟล์ที่มันดึงมาก็เป็นไฟล์ธรรมดาที่คุณแนบส่งได้โดยตรง: ชาร์ดบันทึกใต้ ~/Chute/Share/<run id>/ และเครื่องหมายรอบการทำงาน ~/Chute/Share/last-run.json — ดูตำแหน่งไฟล์ (macOS)

ชื่อไฟล์บอกว่าคุณได้แบบไหน: ชุดข้อมูลขณะทำงานคือ diagnostics-<timestamp>.zip ส่วนแบบออฟไลน์คือ diagnostics-offline-<timestamp>.zip ทั้งคู่มี manifest.json ซึ่งฟิลด์ kind ระบุอย่างเดียวกัน

ก่อนส่ง ควรอ่านบรรทัด การออกครั้งก่อน ในหน้า Diagnostics ของคอนโซลเสียก่อน: ถูกปิดเพราะหน่วยความจำ (Killed for memory) หมายความว่าระบบเรียกคืน Chute ไม่ใช่ Chute ทำงานผิดพลาด ซึ่งเปลี่ยนสิ่งที่ควรตามหาต่อไป

ทำไมการเขียนใหม่ของฉันไม่ทำอะไรเลย?

กฎเขียนใหม่ที่ไม่เคยตรงเลยจะไม่มีอาการใด ๆ — ไม่มีอะไรเกิดขึ้น ซึ่งดูเหมือนกฎที่ตรงแล้วแต่ไม่เห็นความเปลี่ยนแปลงทุกประการ คอนโซลตอบเรื่องนี้ตรง ๆ: หน้า Rules (กฎ) แสดงทุกกฎเขียนใหม่และ Mock ที่ทำงานในรอบนี้พร้อมจำนวนครั้ง ตารางนี้ติดตามกฎที่ต่างกันได้สูงสุด 512 กฎ เกินจากนั้นจะรายงานว่ามีอีกกี่กฎที่ทำงานโดยไม่ได้ติดตาม (rewrite_hit_dropped_rules ใน API) และตารางก็เป็นเพียงมุมมองบางส่วน

  • กฎที่ไม่อยู่ในรายการนั้นไม่เคยตรงเลย — ตราบใดที่ตารางไม่ได้รายงานว่ามีกฎที่ไม่ได้ติดตาม ลองตรวจรูปแบบของคุณกับรูปแบบ URL ใน การเขียน URL ใหม่ ส่วน การเขียนส่วนหัวใหม่ เทียบทั้ง URL ไม่ใช่บางส่วน
  • กฎที่ตรงแล้วแต่ไม่เห็นผลเป็นอีกปัญหาหนึ่ง — เปิดการเชื่อมต่อนั้นในคอนโซลแล้วอ่านแถว การเขียนใหม่ที่ใช้ ซึ่งจะระบุกฎด้วยข้อความของกฎเอง
  • กฎจะเห็นทราฟฟิก HTTPS ก็ต่อเมื่อเปิด การถอดรหัส HTTPS สำหรับโฮสต์นั้นแล้ว
S. Smart Rabbit LLC © All Rights Reserved            updated 2026-09-05 00:58:16

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

results matching ""

    No results matching ""