เริ่มต้นใช้งานบน Android
Chute Android ทำงานด้วยเอนจินเดียวกับรุ่นอื่น ๆ ที่พอร์ตไปเป็น Kotlin และอ่านไฟล์การกำหนดค่าเดียวกัน หน้านี้อธิบายการรันครั้งแรก ส่วนเริ่มต้นใช้งาน มีเนื้อหาเทียบเท่าสำหรับ iOS, macOS และ tvOS และการกำหนดค่าขั้นต่ำที่นั่นใช้ได้บน Android โดยไม่ต้องแก้
1. เตรียมการกำหนดค่า
ในการเปิดครั้งแรกโดยไม่มีการกำหนดค่าใด ๆ Chute จะเปิดตัวช่วยตั้งค่า ("มาตั้งค่าพร็อกซีครั้งแรกของคุณกัน") ซึ่งมีสามเส้นทาง: URL การสมัครสมาชิกจากผู้ให้บริการของคุณ, QR Code หรือรายละเอียดเซิร์ฟเวอร์ของคุณเอง ตามด้วยเว็บไซต์ที่ต้องการใช้พร็อกซีและตัวเลือก DNS ขั้นตอนสุดท้าย สร้างและเชื่อมต่อ จะบันทึกการกำหนดค่า เลือกใช้ และเริ่มทันเนล ปุ่ม ข้าม จะปิดตัวช่วยนี้ ตราบใดที่ยังไม่มีการกำหนดค่าใด ๆ ตัวช่วยจะเปิดขึ้นอีกครั้งในครั้งถัดไปที่เปิด Chute แต่จะไม่เปิดเมื่อหมุนหน้าจอหรือกลับมาที่แอป ส่วน แสดงหน้าแนะนำการใช้งาน ในการตั้งค่าจะเปิดตัวช่วยนี้อีกครั้ง
URL การสมัครสมาชิกต้องเป็นที่อยู่ https:// โปรไฟล์เนทีฟที่ตัวช่วยดาวน์โหลดมา — จาก URL นั้น หรือจากที่อยู่ใน QR Code — จะถูกเก็บเป็นการกำหนดค่าแบบจัดการ ที่รีเฟรชทุก 86400 วินาที ซึ่งเป็นค่าเริ่มต้นของ เพิ่มการสมัครสมาชิก ด้านล่าง โปรไฟล์ Clash หรือ sing-box ไม่ว่าจะมาจากการสมัครสมาชิกหรือจาก QR Code จะถูกแปลงเป็นสแนปช็อตแบบคงที่ที่ไม่ถูกรีเฟรช เหมือนในหน้า การกำหนดค่า QR Code จะถูกอ่านแบบเดียวกับที่หน้านั้นอ่าน: ลิงก์ chute://download (หรือ import, install-config, subscribe) คือที่อยู่ที่จะดาวน์โหลด โค้ดอาจบรรจุการกำหนดค่าทั้งชุดไว้ก็ได้ และโค้ด chute://tv หรือ chute://remote จะเปิดกล่องโต้ตอบคลังระยะไกลของหน้าจอหลัก
หากต้องการเพิ่มการกำหนดค่าในภายหลัง แตะแถบ การกำหนดค่า บนหน้าจอหลักเพื่อเปิดหน้า การกำหนดค่า จากนั้นแตะ เพิ่มการกำหนดค่าจาก...:
- การกำหนดค่าเปล่า — บันทึกเทมเพลตเป็น
Untitled.confโดยไม่เปิดตัวแก้ไข; เปิดแก้ไขได้ด้วย แก้ไขแบบมีโครงสร้าง หรือ แก้ไขข้อความ จากเมนู ⋮ ของแถวนั้น - เพิ่มการสมัครสมาชิก — ดาวน์โหลดจาก URL ของผู้ให้บริการและเก็บเป็นการกำหนดค่าแบบจัดการ ซึ่งรีเฟรชตามช่วงเวลาที่คุณพิมพ์ในกล่องโต้ตอบ (ค่าเริ่มต้น 86400 วินาที) การสมัครสมาชิกแบบ Clash หรือ sing-box จะถูกแปลงระหว่างนำเข้าและเก็บเป็นสแนปช็อตนิ่งที่ไม่มีส่วนหัวการอัปเดต จึงไม่รีเฟรชตัวเอง
- นำเข้าจากไฟล์ในเครื่อง — นำเข้าไฟล์ Chute (
.conf), sing-box (.json) หรือ Clash/mihomo (.yaml) รูปแบบที่ไม่ใช่เนทีฟจะถูกแปลง - ดาวน์โหลดจาก URL, ดาวน์โหลดจาก QR Code, อัปโหลดไฟล์ผ่าน Wi-Fi — ช่องทางอื่นสำหรับสิ่งเดียวกัน หน้าอัปโหลดผ่าน Wi-Fi แสดงที่อยู่ที่ต้องเปิดในเบราว์เซอร์บนเครือข่ายเดียวกัน โดยป้องกันด้วย PIN
- เซิร์ฟเวอร์ระยะไกล — โหลดการกำหนดค่าจากคลังการกำหนดค่าระยะไกล
ลิงก์ chute://download?url=... ที่เปิดจากภายนอกแอป — แตะเปิด หรือสแกนด้วยกล้อง — ก็ดาวน์โหลดไฟล์เช่นกัน และโปรไฟล์ Clash หรือ sing-box จะถูกแปลงเป็นสแนปช็อตแบบคงที่เหมือนในหน้า การกำหนดค่า แต่ลิงก์นี้ไม่ได้เพิ่มการสมัครสมาชิก: chute://subscribe?url=... เป็นเพียงชื่อแฝงของ download โปรไฟล์เนทีฟที่ลิงก์เช่นนี้บันทึกไว้จะไม่ถูกแอปรีเฟรชเลย แม้ว่าเอนจินที่กำลังทำงานจะดึง URL ของมันใหม่ทุก 24 ชั่วโมงและนำเนื้อหาใหม่ไปใช้ในหน่วยความจำ — ดู URL Scheme ส่วนหากสแกนลิงก์เดียวกันที่ชี้ไปยังโปรไฟล์เนทีฟในตัวช่วยตั้งค่าแทน จะได้การกำหนดค่าแบบจัดการที่แอปรีเฟรชทุก 86400 วินาที
หากไม่มีใบอนุญาต Chute จะเก็บการกำหนดค่าภายในเครื่องได้เพียงหนึ่งรายการ การเพิ่มรายการที่สองผ่านช่องทางใดก็ตามเป็นคุณสมบัติของ Chute Pro — ดูใบอนุญาตและการเปิดใช้งาน
2. เลือก
ในหน้า การกำหนดค่า แตะการกำหนดค่าหนึ่งให้ถูกทำเครื่องหมาย รอดำเนินการ จากนั้นแตะ เสร็จสิ้น: นั่นคือการกำหนดค่าที่ Chute จะรัน รายการที่คุณเพิ่งเพิ่มในหน้านั้นจะกลับมาพร้อมเครื่องหมาย รอดำเนินการ อยู่แล้ว รายการที่ลิงก์ chute:// ซึ่งเปิดจากภายนอกแอปเพิ่มเข้ามาก็เช่นกัน: Chute จะเปิดหน้านี้พร้อมทำเครื่องหมายรายการนั้นไว้ และจะไม่มีอะไรเปลี่ยนจนกว่าคุณจะแตะ เสร็จสิ้น — ลิงก์เช่นนี้ไม่เคยสลับการกำหนดค่าที่ Chute กำลังรันอยู่ การกำหนดค่าที่เลือกไว้สลับได้ขณะ Chute กำลังรัน ไม่ว่าจะมีใบอนุญาตหรือไม่ก็ตาม รายการใหม่จะถูกนำมาใช้ด้วยการเริ่มทันเนลใหม่
3. เริ่มและให้สิทธิ์
แตะสวิตช์ (แตะเพื่อเริ่ม VPN) ในการเริ่มครั้งแรก Android จะขอให้อนุญาตคำขอเชื่อมต่อ VPN — เป็นการยินยอมของระบบที่แอป VPN ทุกตัวต้องมี หากปฏิเสธ Chute จะหยุดอยู่ การตั้งค่าสองรายการกำหนดว่าทันเนลจะรับส่งอะไร:
- โหมดบริการ — VPN (ค่าเริ่มต้น) จับทราฟฟิกของอุปกรณ์ผ่าน VPN ของระบบ พร็อกซีท้องถิ่น รันเฉพาะตัวรับฟัง HTTP และ SOCKS5 ให้แอปหรืออุปกรณ์อื่นชี้มา โดยไม่มีทันเนล
- โหมดพร็อกซีของแอปพลิเคชัน — สากล ส่งทุกแอป พร็อกซี เฉพาะแอปที่เลือก บัญชีดำ ทุกแอปยกเว้นที่เลือก
สวิตช์ที่เกี่ยวข้องในการตั้งค่า: เริ่มเมื่อบูต (ต้องได้รับการยินยอม VPN มาก่อนหนึ่งครั้ง), จำกัด Wi-Fi เท่านั้น (เฉพาะโหมด VPN: หยุดทันเนลชั่วคราวเมื่อเครือข่ายพื้นฐานเป็นแบบคิดค่าตามปริมาณข้อมูล และกลับมาทำงานเมื่อไม่ใช่ — นั่นคือสิ่งที่ Android รายงาน ไม่ใช่ชนิดของการเชื่อมต่อ ดังนั้น Wi-Fi ที่คิดค่าตามปริมาณก็ทำให้หยุดชั่วคราวเช่นกัน ส่วนแพ็กเกจมือถือที่ไม่คิดค่าตามปริมาณจะไม่หยุด) และ VPN ตลอดเวลา ซึ่งเปิดรายการ VPN ของ Android เพราะหน้าตั้งค่า VPN ตลอดเวลาเองไม่ใช่ปลายทางที่เปิดให้เรียกได้ ให้เปิด VPN ตลอดเวลาสำหรับ Chute จากที่นั่น จากนอกแอป ทางลัดบนหน้าจอหลัก เริ่ม, หยุด และ สลับ, Broadcast Intent และปลั๊กอิน Tasker/Locale ใช้เริ่มและหยุดทันเนลได้ ไทล์การตั้งค่าด่วนก็เช่นกัน — เว้นแต่ การดำเนินการด่วน ในการตั้งค่าจะเปลี่ยนมันจาก VPN เป็น โหมด (วนเปลี่ยนโหมดขาออก) หรือ กลุ่ม (วนเปลี่ยนกลุ่มนโยบายที่เลือกไว้ใน กลุ่มวิดเจ็ต ซึ่งไม่แสดงกลุ่มที่ตั้ง hidden=true ไว้ ยกเว้นกลุ่มที่เลือกไว้แล้ว) วิดเจ็ตบนหน้าจอหลักแสดงว่าทันเนลกำลังทำงานหรือไม่และนโยบายของกลุ่มนั้น การแตะวิดเจ็ตจะเปลี่ยนกลุ่มไปยังนโยบายถัดไป
เมื่อเปิด VPN ตลอดเวลา Android จะเริ่มทันเนลเอง — ตอนที่เปิดการตั้งค่านี้ ตอนบูต และหลังจาก Chute อัปเดต — ด้วยการกำหนดค่าที่เลือกไว้ และเริ่มเป็น VPN เสมอ แม้ โหมดบริการ จะเป็น พร็อกซีท้องถิ่น ก็ตาม นอกจากนั้น หาก Android ปิดกระบวนการของ Chute ขณะที่ VPN ทำงานอยู่ ทันเนลจะกลับมาเองด้วยการกำหนดค่าที่เลือกไว้ เว้นแต่คุณได้หยุดมันไว้ ตัดการเชื่อมต่อมันในการตั้งค่า VPN ของ Android หรือให้สิทธิ์ VPN แก่แอปอื่นไปแล้ว โหมด พร็อกซีท้องถิ่น ก็เช่นกัน: ตัวรับฟังที่ทำงานอยู่จะกลับมาเอง เว้นแต่คุณได้หยุดมันไว้ — แต่ใน Android 12 ขึ้นไป ระบบอาจปฏิเสธการเริ่มใหม่นี้ขณะที่ Chute อยู่เบื้องหลัง และการเริ่มจะถูกแสดงว่าล้มเหลว
4. ตรวจสอบ
ปล่อยโหมดขาออกไว้ที่ กฎ (โหมด ตรง / สากล จะข้ามหรือบังคับใช้พร็อกซีทั้งหมด) แล้วเปิดเว็บไซต์ แดชบอร์ด บนหน้าจอหลักแสดงทราฟฟิกสดในแท็บ สถิติ, ทันเนล, DNS, UDP และ บันทึก เปิดทันเนลเพื่อดูรายละเอียดคำขอและการตอบกลับ แผงควบคุม มีสวิตช์รันไทม์ — ตัวรับฟัง HTTP และ SOCKS5 ภายในเครื่อง, HTTP Control API และคอนโซลเว็บ, MitM, การดักจับทราฟฟิก, การดมกลิ่นโปรโตคอล, Optimus DNS — รวมถึง ล้างแคช DNS และ ชุดข้อมูลวินิจฉัยขณะทำงาน
ความแตกต่างระหว่างแพลตฟอร์ม
- กฎกระบวนการจับคู่กับชื่อแพ็กเกจ
PROCESS-NAMEเปรียบเทียบกับชื่อแพ็กเกจของแอปที่เปิดการเชื่อมต่อ เช่นPROCESS-NAME,com.android.chrome,ProxyChute จะถาม Android ว่าแอปใดเป็นเจ้าของแต่ละการเชื่อมต่อ TCP ที่อินเทอร์เฟซ VPN รับส่ง ส่วนการเชื่อมต่อที่เข้ามาทางตัวรับฟังแทน — ทั้งหมดในโหมด พร็อกซีท้องถิ่น และของแอปที่ใช้ พร็อกซี HTTP ของระบบ — จะไม่มีชื่อแพ็กเกจ กฎนี้จึงไม่มีวันตรงกับการเชื่อมต่อเหล่านั้น - การถอดรหัส HTTPS ต้องใช้ CA ของคุณเอง ไม่มีตัวสร้างใบรับรอง: ในหน้า กำหนดค่า CA ของตัวแก้ไข (อยู่ใต้ MitM) นำเข้า P12 จะเขียน PKCS#12 ลงใน
ca-p12ของการกำหนดค่าในรูป base64 แบบเดียวกับที่ Chute เขียนบนอุปกรณ์ Apple การกำหนดค่าจึงพา CA ของมันไปยังอุปกรณ์ใดก็ได้ และเมื่อกรอกรหัสผ่านแล้ว ติดตั้ง CA จะเปิดตัวติดตั้งใบรับรองของ Android สำหรับใบรับรอง CA ในนั้น หน้าในตัวแก้ไขไม่ถูกจำกัดด้วยใบอนุญาต แต่เอนจินถูกจำกัด: หากไม่มี Chute Pro จะไม่มีการถอดรหัสใด ๆ ไม่ว่า[MITM] enable = trueของโปรไฟล์จะสั่งอย่างไร และสวิตช์ MitM ตอนรันไทม์ในแผงควบคุมและบนแดชบอร์ดก็ถูกกั้นไว้เช่นกัน - คุณสมบัติที่อิง SSID ใช้งานได้ — กลุ่มนโยบาย
ssid, กฎSUBNETและ[SSID Setting]— โดยต้องให้สิทธิ์ตำแหน่ง (Android 12 และก่อนหน้า) หรืออุปกรณ์ Wi-Fi ใกล้เคียง (Android 13 ขึ้นไป) ที่ระบบต้องการเพื่ออ่านชื่อเครือข่าย Chute จะขอสิทธิ์นั้นเมื่อคุณเริ่มด้วยสวิตช์หลักและการกำหนดค่ามีกลุ่มนโยบายssidหรือsubnetกฎSUBNET,SSID:หรือSUBNET,BSSID:หรือส่วน[SSID Setting]/[SSID Suspend]การเริ่มที่แสดงคำขอไม่ได้ — ไทล์การตั้งค่าด่วน ทางลัด เริ่มเมื่อบูต Broadcast และ VPN ตลอดเวลา — จะส่งการแจ้งเตือน ต้องการสิทธิ์ SSID แทน การกำหนดค่าละหนึ่งครั้ง และแตะที่การแจ้งเตือนเพื่อขอสิทธิ์ เอนจินอ่านเครือข่ายใหม่ทุกนาที การให้สิทธิ์จึงมีผลภายในหนึ่งนาทีโดยไม่ต้องรีสตาร์ต กฎSUBNETภายในชุดกฎภายนอกจะตรวจไม่พบ: หากกฎอยู่ที่นั่น ให้ไปให้สิทธิ์จากการตั้งค่าของระบบ ในโหมด VPN รายการsuspendของระงับตาม SSID จะปิดอินเทอร์เฟซ VPN ขณะที่อุปกรณ์อยู่บนเครือข่ายที่ตรงกัน ส่วนโหมด พร็อกซีท้องถิ่น จะไม่สนใจรายการนี้ - Tailscale ใช้ได้ ตัวแก้ไขมีหน้า Tailscale สำหรับมัน
- ไดเรกทีฟเฉพาะแพลตฟอร์ม — บรรทัด
#!IOS-ONLY,#!MACOS-ONLYและ#!TVOS-ONLYเป็นเพียงบรรทัดหมายเหตุที่นี่ จึงไม่มีบรรทัดใดมีผลบน Android - บรรทัด Trojan จากเวอร์ชันเก่า นโยบาย Trojan ต้องมี
tls=trueอย่างชัดเจนบนทุกแพลตฟอร์ม Chute Android เวอร์ชันเก่าถือว่า Trojan ใช้ TLS อยู่แล้ว และตัวแก้ไขของมันไม่ได้เขียนตัวเลือกนี้เป็นค่าเริ่มต้น ดังนั้นการเปิดครั้งแรกหลังอัปเดตจะเพิ่มtls=trueให้นโยบาย Trojan ทุกรายการในการกำหนดค่าในเครื่องที่ไม่มีตัวเลือกtlsเลย และบันทึกทุกการเปลี่ยนแปลงไว้ในบันทึกบริการของแอป การกำหนดค่าที่มีการจัดการจะไม่ถูกแตะต้อง — แหล่งที่มาของมันจะแทนที่มัน — และบรรทัดที่เขียนtls=falseก็คงไว้ตามเดิม - บันทึกสองชุด บันทึกของเอนจินอยู่ในหน่วยความจำ: อ่านได้ที่หน้า Logs ของคอนโซลเว็บ หรือด้วย
GET /api/logsนำออกไปได้ด้วย ชุดข้อมูลวินิจฉัยขณะทำงาน (แผงควบคุม ขณะทันเนลทำงาน) หรือติดตามด้วยadb logcatส่วนแอปจะเขียนลงดิสก์เฉพาะบันทึกบริการของตัวเอง — การเริ่มและหยุด การระงับ การเปลี่ยนเครือข่าย และการแจ้งเตือนที่มันโพสต์ — ในlogs/runtime.logในที่เก็บส่วนตัวของมัน พร้อมสำเนาแยกตามรอบการรันใต้sessions/<run id>/แท็บ บันทึก ของแดชบอร์ดแสดง 80 บรรทัดสุดท้ายของไฟล์นั้น และแท็บ บันทึก ของเซสชันแสดงสำเนาของรอบการรันนั้น; บันทึกชุดข้อมูลวินิจฉัยแบบออฟไลน์ ใต้การตั้งค่า → การวินิจฉัย จะรวมไฟล์นี้ไปด้วย และ ล้างบันทึกในเครื่อง ในการตั้งค่าจะลบไฟล์นี้แต่ไม่ลบสำเนาแยกตามรอบการรัน — ดูการแก้ไขปัญหา - Chute Dashboard บน Mac เชื่อมต่อกับโทรศัพท์ผ่าน USB ด้วย
adbหรือผ่านเครือข่าย — ดู Chute Dashboard - การแจ้งเตือน ครอบคลุมเหตุการณ์เอนจินเดียวกับแอปอื่น (การตั้งค่า → การแจ้งเตือน) เหตุการณ์เครือข่ายไม่ส่งข้อมูลเป็นไปตามสวิตช์ การเชื่อมต่อล้มเหลวจำนวนมาก การแจ้งเตือนเหล่านี้จะโพสต์เฉพาะในโหมด VPN: โหมด พร็อกซีท้องถิ่น ไม่แสดงการแจ้งเตือนเหตุการณ์ของเอนจินเลย
- ไม่มีบน Android: โหมดขั้นสูงและ VIF เฉพาะ Mac, การซิงค์ iCloud และการกระทำผ่าน URL
chute://start/stop/toggle— ดู URL Scheme สำหรับ Broadcast Intent ที่ใช้แทน Broadcast เรียกกล่องยินยอม VPN ขึ้นมาไม่ได้START_VPNจึงถูกทิ้งไปอย่างเงียบ ๆ จนกว่าจะเคยให้การยินยอมมาแล้วหนึ่งครั้ง ส่วนTOGGLE_VPNจะเปิดแอปขึ้นมาแทน ซึ่งการแตะสวิตช์ในแอปจะเรียกกล่องนั้นขึ้นมา และโหมด พร็อกซีท้องถิ่น ไม่ต้องการการยินยอมเลย
หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก