บันทึกการอัปเดต Chute tvOS
เวอร์ชัน 1.4 (75)
คุณสมบัติใหม่:
- เพิ่มแถว «ที่อยู่ Web UI» ในแผงควบคุม: จะปรากฏเมื่อตัวรับฟังของคอนโซลทำงานจริงแล้ว และเมื่อเปิดจะแสดง QR โค้ดที่ URL พาโทเคนการเข้าถึงไปด้วย — สแกนด้วยโทรศัพท์ก็ลงชื่อเข้าใช้ได้ทันที ไม่ต้องคัดลอกที่อยู่และเลขฐานสิบหก 32 ตัวด้วยรีโมท
- เพิ่ม «ชุดข้อมูลวินิจฉัยออฟไลน์» ในการตั้งค่า ซึ่งแอปสร้างเองโดยไม่ต้องมีอุโมงค์ทำงาน: รายละเอียดอุปกรณ์และแอป โปรไฟล์ VPN ตามที่ tvOS เก็บไว้ สรุปการกำหนดค่าที่เลือกและข้อผิดพลาดในการแยกวิเคราะห์ ส่วนของเครือข่าย (การเข้าถึงได้ ชนิดของลิงก์ เซิร์ฟเวอร์ DNS ที่อยู่และอินเทอร์เฟซในเครื่อง) ส่วนต้นของการกำหนดค่าที่ลบข้อมูลอ่อนไหวแล้ว วิธีที่รอบก่อนหน้าจบลง ชาร์ดบันทึกของเซสชันล่าสุด และรายงานการขัดข้องที่รอส่ง เนื่องจาก tvOS ไม่มีแผงแชร์ ไฟล์เก็บถาวรจึงถูกให้บริการโดยเซิร์ฟเวอร์ HTTP ในเครื่องแบบใช้ครั้งเดียวบนพาธที่เดาไม่ได้ และแสดงเป็น QR โค้ด ลิงก์จะใช้ไม่ได้ทันทีเมื่อออกจากหน้านี้
- เพิ่มตัวกรองตามระดับความรุนแรงในบันทึกเซสชัน — ทั้งหมด, Notify+, Warning+, Fatal — «ขอดูเฉพาะคำเตือน» จึงเป็นแค่การกดครั้งเดียว แทนการพิมพ์ค้นหาบนแป้นพิมพ์บนหน้าจอ; บรรทัดที่ตัวแยกวิเคราะห์จัดระดับไม่ได้จะไม่ถูกซ่อนเลย
- เพิ่มการระบุที่มาของการเขียนใหม่ในรายละเอียดเซสชัน: ส่วน «REWRITES» จะแสดงกฎ URL Rewrite, Header Rewrite, Body Rewrite, Map Local, Map Remote หรือ Mock ที่แก้ไขคำขอ ไว้ข้างกฎและนโยบายที่กำหนดเส้นทางให้คำขอนั้น
- เพิ่มแถว «Allow WiFi Access» ในตัวแก้ไขการกำหนดค่า — คีย์ที่เกิดขึ้นเมื่อนำเข้า
http-listen = 0.0.0.0:…ของ Surge หรือallow-lanของ sing-box และเป็นสถานะที่ตัวแก้ไขเดิมแสดงไม่ได้เลย; ขณะที่เปิดอยู่ แถวตัวรับฟังทั้งสองจะแสดงว่าเปิดและถูกล็อกไว้ เพราะเอนจินขยายตัวรับฟังทั้งสองเอง - เพิ่มภาษาฝรั่งเศสเป็นภาษาในตัว และประกาศภาษาในตัวทั้งแปดภาษาต่อ App Store
- เพิ่มแท็บ «ปัจจุบัน» และ «ประวัติ», มุมมองตรวจสอบ (กฎที่ตรง แหล่งที่มาของกฎ นโยบาย อะแดปเตอร์ แหล่งที่มาของ DNS เหตุผลที่ปิด เนื้อหาคำขอและการตอบกลับ), หน้า «กฎ» ที่แสดงว่ากฎการเขียนใหม่ใดถูกเรียกใช้แล้ว และหน้า «การวินิจฉัย» (หน่วยความจำที่ใช้ CPU เวลาทำงาน จำนวนโฟลว์ วิธีที่รอบก่อนหน้าจบลง จำนวนการปฏิเสธ บันทึกเหตุการณ์ ภาพรวม Tailscale และการตรวจสอบ ping / DNS / ขาออก / ทดสอบ URL) ให้คอนโซลเว็บ ซึ่งตอนนี้รองรับครบทั้งเก้าภาษา — และเนื่องจากตัวทีวีเองไม่มีที่เก็บไฟล์ ผู้ใช้ tvOS จึงดาวน์โหลดชุดข้อมูลวินิจฉัยขณะทำงานและไฟล์ HAR จากคอนโซลนี้เช่นกัน
- เพิ่มปลายทางของ HTTP Control API:
/api/health,/api/events,/api/tailscale, การตรวจสอบภายใต้/api/diagnostics/,/api/connections/export?format=har,/api/diagnostics/bundle, การจัดการกฎการเขียนใหม่และโฮสต์ MitM ภายใต้/api/rewritesและ/api/mitm/hosts,POST /api/rules/matchสำหรับทดลองจับคู่คำขอกับตารางกฎ (รายงานทั้งสองรอบของ DNS),GET|PUT /api/loglevelสำหรับเปลี่ยนระดับบันทึกและส่วนของระบบย่อยโดยไม่ต้องโหลดใหม่ และPOST /api/config/validateสำหรับตรวจสอบโปรไฟล์โดยไม่นำไปใช้
การปรับปรุง:
- HTTP Control API จะไม่เปิดให้เข้าถึงโดยไม่ยืนยันตัวตนอีกต่อไปเมื่อการกำหนดค่าไม่ได้ระบุ
external-http-secret: เอนจินจะสร้างโทเคน ซึ่ง QR โค้ดของ «ที่อยู่ Web UI» พาไปด้วย หากต้องการคงการเข้าถึงแบบไม่ระบุตัวตน ให้ตั้งexternal-http-secret = noneและที่อยู่รับฟังแบบไวลด์การ์ดจะไม่ถูกถือเป็น loopback อีกต่อไป - การจับคู่กฎกับรายการขนาดใหญ่เร็วขึ้นมาก: เนื้อหาของ RULE-SET และ DOMAIN-SET จะถูกทำดัชนีเมื่อดาวน์โหลดหรือกู้คืน แทนการอ่านสตรีมทั้งไฟล์ทุกการเชื่อมต่อ และตารางกฎที่มีแต่กฎโดเมนจะจับคู่ผ่านแผนแบบแฮช — รายการ 50,000 บรรทัดใช้เวลาต่อการค้นหาจากราว 94 ms เหลือไม่ถึง 2 ms โดยใช้หน่วยความจำราว 100 KB ต่อดัชนี
- โฟลว์ UDP จับคู่เพียงครั้งเดียว: ผลการตัดสินของโฟลว์จะถูกจำไว้ 60 วินาที ดาต้าแกรมถัดไปจึงข้ามการจับคู่ทั้งสองรอบและการสอบถาม DNS ระหว่างนั้น
- ฟื้นตัวหลังเปลี่ยนเครือข่ายได้ดีขึ้น: อุโมงค์ที่ที่อยู่ต้นทางฝั่งอัปสตรีมไม่มีอยู่บนอินเทอร์เฟซใดแล้วจะถูกปิดทันที แทนที่จะปล่อยให้แอปค้างจนหมดเวลาว่าง และเส้นทางที่รับการเชื่อมต่อได้แต่ไม่มีข้อมูลไหลจะถูกรายงานเป็นหลุมดำ
- บันทึกเซสชันเขียนเป็นชาร์ดขนาด 8 MB (สูงสุดแปดชาร์ดต่อรอบ ลบชาร์ดเก่าสุดก่อน); หน้าบันทึกจะดึงชาร์ดใหม่สุดรวมกันไม่เกินหนึ่งชาร์ด แทนการอ่านทั้งรอบเข้าหน่วยความจำ พร้อมแจ้งเมื่อละชาร์ดที่เก่ากว่าไว้ และยังติดตามชาร์ดที่กำลังเขียนอยู่ต่อเนื่องข้ามการหมุนไฟล์
- เอนจินเก็บเครื่องหมายการทำงานไว้ระหว่างทำงาน และเมื่อเริ่มครั้งถัดไปจะรายงานว่ารอบก่อนหน้าหยุดตามปกติหรือถูกบังคับปิด — ในส่วนหัวของบันทึก
/api/statusและชุดข้อมูลวินิจฉัยทั้งสองแบบ - การส่งออก HAR ตอนนี้สร้างโดยเอนจินจากเฟรมที่บันทึกไว้ รหัสสถานะ การประทับเวลา และเวลาที่ใช้จึงเป็นค่าจริง และแต่ละรายการมีนโยบายที่เลือก กฎที่ตรง และการเขียนใหม่ที่เกิดขึ้นอยู่ใต้
_kl - มีเพียงสามคุณสมบัติที่หน้าซื้อจำหน่ายเท่านั้นที่ต้องใช้ใบอนุญาต — การกำหนดค่าหลายชุด การควบคุมเซิร์ฟเวอร์พร็อกซีท้องถิ่น และเครื่องบันทึกการรับส่งข้อมูล; สวิตช์ HTTP API และ Web UI, การดมกลิ่นโปรโตคอล, Optimus DNS, ล้างแคช DNS และแถว «ที่อยู่ Web UI» ไม่ต้องใช้ใบอนุญาตอีกต่อไป และผู้ใช้ที่ยังไม่ซื้อซึ่งอุโมงค์ยังไม่ทำงานจะได้รับคำแนะนำให้เริ่มอุโมงค์ แทนที่จะเห็นหน้าซื้อ
- คอนโซลที่ผูกกับที่อยู่ loopback จะบอกว่าเปิดได้เฉพาะบน Apple TV เครื่องนี้และควรตั้งค่าอะไรแทน แทนที่จะเสนอ QR โค้ดที่เปิดไม่ได้; โทเคนการเข้าถึงก็ไม่ถูกแสดงบนจอที่ทั้งห้องมองเห็นอีกต่อไป
- ข้อความการซื้อระบุแล้วว่าการซื้อหนึ่งครั้งครอบคลุม Apple TV สามเครื่องและ iPhone หรือ iPad สามเครื่อง; เมื่อ «กู้คืนการซื้อ IAP» ไม่พบอะไร กล่องแจ้งเตือนจะเสนอ «ดูคู่มือ» และแสดง QR โค้ดของคำแนะนำเรื่องใบอนุญาตข้ามแพลตฟอร์มในภาษาของแอป
- ที่
loglevel = infoโฟลว์ขนาดใหญ่ที่ส่งข้อมูลอย่างน้อย 1 MiB จะบันทึกหนึ่งบรรทัดตอนปิด บอกว่ารอฝั่งระยะไกลและฝั่งแอปนานเท่าใด
การแก้ไขข้อบกพร่อง:
- แก้ไข MitM ในโหมด TUN: โฮสต์ที่ตรงกับกฎ MitM ค้างจนหมดเวลา ทำให้ Header Rewrite, Body Rewrite, Map Local, Mock และการจับข้อมูลที่ถอดรหัสของ HTTPS ไม่เคยมีผลกับทราฟฟิกของแอปเลย (ทราฟฟิกผ่านพร็อกซี HTTP/SOCKS5 ท้องถิ่นไม่ได้รับผลกระทบ)
- แก้ไข
allow-wifi-accessที่ไม่มีผล: ตัวรับฟัง HTTP และ SOCKS5 ท้องถิ่นยังคงอยู่บน loopback ทำให้อุปกรณ์อื่นบน Wi-Fi เข้าถึงไม่ได้; ตอนนี้ตัวเลือกนี้ (และallow-lanของ sing-box เมื่อนำเข้า) จะขยายตัวรับฟังทั้งสอง และเมื่อปิดจะผูกใหม่ - แก้ไขการสลับสวิตช์ใด ๆ ในส่วนที่สองของแผงควบคุมทำให้แอปขัดข้อง หลังจากที่แถว «ที่อยู่ Web UI» สามารถปรากฏได้ เพราะจำนวนแถวของตารางเปลี่ยนไปขณะโหลดใหม่ทีละแถว
- แก้ไขหน้าเซสชันที่แสดงเพียงช่วงใดช่วงหนึ่งของรอบการทำงาน และเซสชันที่สูญเสียวันที่หลังการหมุนไฟล์ครั้งที่แปด นับตั้งแต่เอนจินเริ่มหมุนบันทึกตามขนาดคงที่; ชาร์ดถูกเรียงตามหมายเลขแล้ว และมุมมองแบบเรียลไทม์ก็ไม่ค้างที่จุดหมุนไฟล์อีก
- แก้ไขหน้าบันทึกที่อ่านชาร์ดทั้งหมดของเซสชันเข้าหน่วยความจำพร้อมกัน — มากถึง 64 MB ของข้อความบน Apple TV — และตัวกรองระดับความรุนแรงที่ปล่อยบรรทัดต่อเนื่องของรายการหลายบรรทัดผ่านไป ทั้งที่ซ่อนรายการต้นทางไว้แล้ว
- แก้ไข Header Rewrite ฝั่งการตอบกลับผ่าน MitM HTTP/1.1 ที่ถูกบันทึกว่านำไปใช้แล้วแต่ไคลเอนต์ยังได้รับส่วนหัวเดิม และไม่เคยตรงกับกฎที่เขียนตาม URL เต็ม
- แก้ไข Mock Response ที่สร้างการตอบกลับจากส่วนหัวคำขอ — บรรทัดคำขออยู่ในตำแหน่งบรรทัดสถานะ ส่วนหัวคำขอถูกส่งต่อไปด้วย Content-Length ผิด — และบน HTTP ธรรมดายังส่งส่วนหัวของเซิร์ฟเวอร์ต้นทางนำหน้าไปก่อน
- แก้ไขกฎ IP ที่มี
no-resolve(IP-CIDR, GEOIP, IP-ASN) ข้ามการเชื่อมต่อไปยัง IP ตรง ๆ เมื่อการดมกลิ่นโปรโตคอลให้ส่วนหัว Host หรือชื่อจาก reverse DNS มา; IP ตรง ๆ ที่ได้จากการดมกลิ่นจะไม่ตรงกับกฎ DOMAIN อีกต่อไป - แก้ไขบรรทัดใน RULE-SET ที่มีตัวเลือกตามหลังเนื้อหา (
GEOIP,CN,no-resolve,DOMAIN,example.com,force-remote-dns) ถูกทิ้งหรือไม่ตรงกับอะไรเลย และกฎย่อยของ AND/OR/NOT ที่สูญเสียno-resolve - แก้ไข HOSTNAME-TYPE ที่ไม่เคยตรงเลย: ประเภทระเบียนตอนนี้เป็น A สำหรับการเชื่อมต่อผ่าน IPv4 และ AAAA ผ่าน IPv6 ข้อความตัวอย่างของกฎนี้ในตัวแก้ไขเคยเขียนว่า
http | httpsซึ่งเป็นของ PROTOCOL ส่วน IN-TYPE เขียนว่าTCP | UDP; ตอนนี้ทั้งสองบอกค่าที่กฎรับจริง - แก้ไข IPv6 ในวงเล็บเหลี่ยมในส่วนหัว Host ที่ดมกลิ่นได้ (
[2001:db8::1]:8080) ถูกอ่านเป็นชื่อโฮสต์[2001 - แก้ไขการเริ่มอุโมงค์ขณะที่กลุ่ม select ตั้งค่าไว้ที่สมาชิกอื่นที่ไม่ใช่ตัวแรก ซึ่งส่งการแจ้งเตือน «กลุ่มนโยบายถูกสลับ» และการสร้างใหม่หลังเริ่มทำให้เกิดคำเตือนการแกว่ง; กลุ่มที่ไม่มีตัวเลือกที่จำไว้จะทำตาม
default=ในโปรไฟล์ แทนที่จะถูกบังคับไปที่สมาชิกตัวแรก - แก้ไข
external-http-controller = *:9090และ:::9090— สองรูปแบบที่มีในเอกสาร — ถูกปฏิเสธ ทำให้ตัวควบคุมไม่เริ่มทำงานโดยไม่แจ้ง - แก้ไขการขัดข้องเป็นครั้งคราวของการขนส่ง XHTTP ภายใต้โหลดสูง
- แก้ไขหน้าใบอนุญาตที่แสดงใบรับรองของผลิตภัณฑ์อื่นเป็นชุด Chute; สิ่งที่แอปนี้ถือโดยชอบไม่ได้จะแสดงเป็น «ไม่ทราบ» และเพิ่มป้าย Android แล้ว
- แก้ไข QR โค้ด «Chute iOS» ในหน้า «เกี่ยวกับ» ที่ชี้ไปยัง App Store ID ที่ใช้ไม่ได้ และ «ให้คะแนน» ที่เปิดหน้าเวอร์ชัน iOS แทนที่จะเป็นแอปนี้
- แก้ไขการจัดวางของหน้าอัปโหลดผ่าน Wi-Fi
- แก้ไขชื่อภาษาจีนและภาษาไทยของตระกูลการเขียนใหม่ ให้ตรงกับคู่มือและชื่อส่วนในไฟล์การกำหนดค่าเอง
- ปรับปรุงความเสถียรและประสิทธิภาพต่าง ๆ
เวอร์ชัน 1.3 (62)
คุณสมบัติใหม่:
- เพิ่มการขนส่ง XHTTP ในตัวแก้ไขนโยบาย — สวิตช์เปิด/ปิด โหมด (auto, packet-up, stream-up, stream-one) พาธ และโฮสต์ — สำหรับ Trojan, VMess และ VLESS
- เพิ่มวิธีการเข้ารหัส Shadowsocks AEGIS-128L และ AEGIS-256
- เพิ่มวิธีการเข้ารหัส Shadowsocks 2022 (SS2022) ที่ขาดหายไป:
2022-blake3-aes-128-gcm,2022-blake3-aes-256-gcmและ2022-blake3-chacha20-poly1305 - เพิ่มการตั้งค่า ECH (Encrypted Client Hello) สำหรับนโยบาย TLS — สวิตช์เปิด/ปิด การตั้งค่า ECH แบบตรึง (
ech-config) และการแทนที่ชื่อกำบัง (ech-public-name) - เพิ่มลายนิ้วมือไคลเอนต์ (uTLS) ต่อนโยบาย พร้อมค่าเริ่มต้นทั่วทั้งโปรไฟล์
- เพิ่มการรองรับโปรโตคอล AmneziaWG ซึ่งเป็น WireGuard รูปแบบหนึ่งที่มีการอำพรางทราฟฟิก
- เพิ่มหน้าจอรายงานข้อผิดพลาดการกำหนดค่าที่รองรับการนำทางโฟกัสของ tvOS แทนที่การแจ้งเตือนที่ขัดจังหวะการใช้งาน
- เพิ่มการแลกเปลี่ยนคีย์ไฮบริดแบบต้านควอนตัม X25519MLKEM768 สำหรับ TLS 1.3
การปรับปรุง:
- เมื่อบันทึก ตัวแก้ไขนโยบายจะเก็บออปชันเดิมที่ไม่สามารถแก้ไขได้ในหน้าจอปัจจุบัน (ECH, ALPN, การปักหมุดใบรับรอง,
test-url,underlying-proxy,udp-relay)
การแก้ไขข้อบกพร่อง:
- แก้ไขอุโมงค์ขัดข้องจากกฎ
IP-CIDRที่ผิดรูปแบบ - แก้ไขการตั้งค่า SSH
idle-timeoutและ REALITYspiderxที่เขียนด้วยคีย์ผิดและถูกทิ้งเมื่อบันทึก - แก้ไขการขัดข้องเมื่อสลับภาษา
- แก้ไขปัญหาการแสดงผลของตัวควบคุมบนหน้าจอ
- การปรับปรุงความเสถียรและประสิทธิภาพหลายด้าน
เวอร์ชัน 1.2 (45)
คุณสมบัติใหม่:
- เพิ่ม Tailscale เป็นประเภทพร็อกซีในตัว: กำหนดค่าบัญชี Tailscale เข้าร่วม tailnet และส่งทราฟฟิก Apple TV ผ่านโหนด Tailscale — โดยไม่ต้องใช้ไคลเอนต์แยกต่างหาก
- เพิ่มแผงควบคุม Tailscale ที่แสดงสถานะโหนดแบบเรียลไทม์ (ออนไลน์/ออฟไลน์, IP, เห็นล่าสุด) และสลับ exit node ได้จากรีโมต
- เพิ่มมุมมอง Dashboard และ Sessions แบบเต็มหน้าจอพร้อมบันทึกเซสชันแบบเข้มแยกระดับ
- เพิ่มแผงรายละเอียดอุโมงค์สำหรับตรวจสอบอุโมงค์ที่ใช้งานอยู่
- เพิ่มประเภทพร็อกซี MASQUE ในตัวแก้ไขนโยบาย
การปรับปรุง:
- ปรับปรุงปริมาณงาน TUN บน Apple TV
- ปรับปรุงความเสถียรของการเชื่อมต่อและปริมาณงานของ Tailscale และ WireGuard
- ปรับการนำทางโฟกัสบนหน้าจอหลักข้ามรายการ ปุ่มเปิด/ปิด และแถว About ให้คาดเดาได้ง่ายขึ้น
- จัดวางเลย์เอาต์การตั้งค่าให้สอดคล้องกับ iOS (นำรายการ Always On ออก, Twitter→X, ขัดเกลาแถว APNs, Rate และ Language)
- แสดง IP ของอุปกรณ์ในรายการด้านขวาของหน้าหลักเฉพาะเมื่อ VPN ปิดอยู่
การแก้ไขข้อบกพร่อง:
- แก้ไขสถานะ "VPN ไม่ทำงาน" ที่ไม่ถูกต้องและป้าย "กำลังทำงาน" ที่ค้างอยู่บนแดชบอร์ด
- แก้ไขการสูญเสียโฟกัสและการกระโดดเมื่อเปิด Dashboard/Sessions และเมื่อกลับจากรายการโหนด Tailscale
- แก้ไขพฤติกรรมปุ่ม Menu ให้ปิดรายการได้เชื่อถือได้และคืนโฟกัสอย่างถูกต้อง
- แก้ไขข้อความส่วนท้ายของรายการเซสชันจาก "ปัดเพื่อลบ" เป็น "กดค้างเพื่อลบ"
- การปรับปรุงความเสถียรและประสิทธิภาพหลายด้าน
เวอร์ชัน 1.0 (35)
- การเปิดตัวครั้งแรก
หน้านี้เป็นฉบับแปลจากเวอร์ชันภาษาอังกฤษ หากเนื้อหาไม่ตรงกัน ให้ยึดเวอร์ชันภาษาอังกฤษเป็นหลัก