Chute tvOS リリースノート
バージョン 1.4 (75)
新機能:
- コントロールパネルに「Web UI アドレス」の行を追加:コンソールのリスナーが実際に起動しているときだけ表示され、開くとアクセストークンを URL に含んだ QR コードが表示されます。スマートフォンで読み取るだけでサインインでき、アドレスと 32 桁の 16 進数をリモコンで書き写す必要はありません
- 設定に「オフライン診断バンドル」を追加。トンネルが動いていなくてもアプリ単独で作成します:デバイスとアプリの情報、tvOS が保持する VPN プロファイルの状態、選択中の設定の概要と解析エラー、ネットワークのセクション(到達性、リンク種別、DNS サーバー、ローカルアドレスとインターフェース)、秘匿処理済みの設定の冒頭、前回の実行の終わり方、最新セッションのログシャード、未送信のクラッシュレポート。tvOS には共有シートが無いため、アーカイブは推測できないパスで動く使い捨てのローカル HTTP サーバーから提供され、QR コードとして表示されます。画面を閉じるとリンクは無効になります
- セッションログにレベルによる絞り込みを追加(すべて、Notify+、Warning+、Fatal)。ソフトウェアキーボードで検索を打つ代わりに、「警告だけ見る」がワンクリックで済みます。パーサーが判別できなかった行が隠されることはありません
- セッション詳細に書き換えの帰属を追加:「REWRITES」セクションに、リクエストをルーティングしたルールとポリシーの横に、リクエストを変更した URL 書き換え・ヘッダー書き換え・ボディ書き換え・Map Local・Map Remote・Mock のルールが表示されます
- 設定エディターに「Allow WiFi Access」の行を追加。Surge の
http-listen = 0.0.0.0:…や sing-box のallow-lanをインポートすると生じるキーで、これまでのエディターでは表示すらできない状態でした。有効な間は 2 つのリスナー行が「オン」と表示されロックされます(エンジン自身が両方のリスナーを広げるため) - 内蔵言語にフランス語を追加し、内蔵 8 言語すべてを App Store に申告しました
- Web コンソールに「現在」と「履歴」のタブ、接続の詳細ビュー(一致したルール、ルールの出所、ポリシー、アダプター、DNS の出所、切断理由、リクエストとレスポンスのボディ)、どの書き換えルールが発火したかを示す「ルール」ページ、「診断」ページ(メモリフットプリント、CPU、稼働時間、フロー数、前回の実行の終わり方、拒否の集計、イベントログ、Tailscale スナップショット、ping / DNS / 出口 / URL テストのプローブ)を追加。コンソールは 9 言語すべてで完全対応になりました。テレビ自体にはファイルの置き場所が無いため、tvOS ではランタイム診断バンドルや HAR エクスポートもこのコンソールから取得します
- HTTP 制御 API にエンドポイントを追加:
/api/health、/api/events、/api/tailscale、/api/diagnostics/配下のプローブ、/api/connections/export?format=har、/api/diagnostics/bundle、/api/rewritesと/api/mitm/hostsによる書き換えルールと MitM ホストの管理、ルールテーブルに対してリクエストを試験的に照合するPOST /api/rules/match(2 回の DNS パスの両方を報告)、再読み込みなしでログレベルとサブシステムのセクションを変更するGET|PUT /api/loglevel、プロファイルを適用せずに検証するPOST /api/config/validate
改善:
- 設定に
external-http-secretが無い場合、HTTP 制御 API はもう無認証で公開されません。エンジンがトークンを生成し、「Web UI アドレス」の QR コードがそれを運びます。匿名アクセスを維持するにはexternal-http-secret = noneを設定してください。また、ワイルドカードの待ち受けアドレスはループバックとして扱われなくなりました - 大きなリストでのルール照合が大幅に高速化:RULE-SET と DOMAIN-SET のペイロードは接続ごとにストリーム走査する代わりに、ダウンロード時または復元時にインデックス化され、ドメインルールだけで構成されたルールテーブルはハッシュ化されたプランで照合します。5 万行のリストで 1 回の照合が約 94 ms から 2 ms 未満になり、インデックスあたりのメモリは約 100 KB です
- UDP フローは 1 回だけ照合:フローの判定を 60 秒間記憶し、後続のデータグラムは 2 回の照合パスとその間の DNS クエリを省略します
- ネットワーク切り替え後の回復を改善:上流の送信元アドレスがどのインターフェースにも無くなったトンネルは、アイドルタイムアウトまでアプリを待たせずに閉じられます。接続はできるがデータが流れないパスはブラックホールとして報告されます
- セッションログは 8 MB のシャード単位で書き込まれます(1 回の実行につき最大 8 個、古いものから削除)。ログ画面は 1 実行分をまるごと読み込む代わりに、新しいシャードからシャード 1 つ分だけを取り込み、古いシャードを省いたことを表示し、ローテーションをまたいで書き込み中のシャードを追い続けます
- エンジンは実行中に実行マーカーを保持し、次回起動時に前回の実行が正常に停止したか強制終了されたかを、ログヘッダー、
/api/status、両方の診断バンドルで報告します - HAR エクスポートは記録されたフレームからエンジンが生成するようになり、ステータスコード、タイムスタンプ、タイミングが実際の値になりました。各エントリには
_klの下に選択されたポリシー、一致したルール、書き換えのヒットが含まれます - ライセンスが必要なのは購入ページで販売している 3 つの機能(複数設定、ローカルプロキシサーバー制御、トラフィックレコーダー)だけになりました。HTTP API と Web UI のスイッチ、プロトコルスニッフィング、Optimus DNS、DNS キャッシュの消去、「Web UI アドレス」の行はライセンスを求めません。トンネルが停止している無料ユーザーには、購入シートではなくトンネルの開始を促します
- コンソールがループバックアドレスにバインドされている場合、開けない QR コードを出す代わりに、この Apple TV でしか開けないことと何を設定すべきかを説明します。アクセストークンも部屋中から見える画面には表示しなくなりました
- 購入時の説明には、1 回の購入で Apple TV 3 台と iPhone または iPad 3 台をカバーすることを明記しました。「IAP 購入を復元」で何も見つからなかった場合、アラートに「マニュアルを見る」が表示され、アプリの言語でクロスプラットフォームのライセンス手順を QR コードで示します
loglevel = infoでは、1 MiB 以上を転送した大量フローが切断時に 1 行を記録し、リモート側とアプリ側でそれぞれどれだけ待ったかを示します
バグ修正:
- TUN モードの MitM を修正:MitM ルールに一致したホストがタイムアウトまで停止し、HTTPS のヘッダー書き換え、ボディ書き換え、Map Local、Mock、復号キャプチャがアプリのトラフィックに一切適用されていませんでした(ローカル HTTP/SOCKS5 プロキシ経由のトラフィックは影響なし)
allow-wifi-accessが効かない問題を修正:ローカルの HTTP と SOCKS5 リスナーがループバックに留まり、Wi-Fi 上の他のデバイスから到達できませんでした。このフラグ(およびインポート時の sing-box のallow-lan)で両リスナーが広がり、無効にすると再バインドされます- 「Web UI アドレス」の行が現れうるようになって以降、コントロールパネルの 2 番目のセクションでスイッチを切り替えるとアプリがクラッシュしていた問題を修正。行単位の再読み込みの下でテーブルの行数が変わっていました
- エンジンがログを一定サイズでローテーションするようになって以降、セッション画面が実行のうち一部しか表示せず、8 回目のローテーション以降はセッションの日付が失われていた問題を修正。シャードは番号順に並び、ライブ表示もローテーションで止まらなくなりました
- ログ画面がセッションのすべてのシャードを一度にメモリへ読み込んでいた問題(Apple TV では最大 64 MB のテキストになります)と、レベルによる絞り込みが、隠されたエントリに属する複数行の続き行だけを通してしまう問題を修正
- MitM の HTTP/1.1 でレスポンスのヘッダー書き換えが適用済みと記録されながら、クライアントには元のヘッダーが届いていた問題と、完全な URL で書かれたルールが一度も一致しなかった問題を修正
- Mock レスポンスがリクエストヘッダーから応答を組み立てていた問題(ステータス行の位置にリクエスト行、リクエストヘッダーの持ち越し、誤った Content-Length)と、平文 HTTP でオリジンのヘッダーを先に送っていた問題を修正
- プロトコルスニッフィングが Host ヘッダーや逆引き DNS 名を与えた場合に、
no-resolve付きの IP ルール(IP-CIDR、GEOIP、IP-ASN)が IP リテラル宛ての接続をスキップしていた問題を修正。スニッフィングで得た IP リテラルは DOMAIN ルールにも一致しなくなりました - RULE-SET ペイロードで内容の後にオプションを持つ行(
GEOIP,CN,no-resolve、DOMAIN,example.com,force-remote-dns)が捨てられる、または何にも一致しなかった問題と、AND/OR/NOT のサブルールがno-resolveを失っていた問題を修正 - HOSTNAME-TYPE が一度も一致しなかった問題を修正:レコードタイプは IPv4 で発信した接続なら A、IPv6 なら AAAA になります。ルールエディターのプレースホルダーは PROTOCOL の
http | https、IN-TYPE はTCP | UDPと表示されていましたが、どちらもそのルールが実際に受け付ける値を示すようになりました - スニッフィングした Host ヘッダー内の角括弧付き IPv6 リテラル(
[2001:db8::1]:8080)がホスト名[2001として読まれていた問題を修正 - select グループが先頭以外のメンバーに設定された状態でトンネルを開始すると「ポリシーグループが切り替わりました」通知が出て、開始後の再構築がフラッピング警告を引き起こしていた問題を修正。記憶された選択が無いグループは、先頭メンバーに強制されるのではなくプロファイルの
default=に従います external-http-controller = *:9090と:::9090(どちらも文書化された書き方)が拒否され、コントローラーが黙って起動しなかった問題を修正- 高負荷時に XHTTP トランスポートで時折発生していたクラッシュを修正
- ライセンス画面で別製品の証明書が Chute のバンドルと表示されていた問題を修正。このアプリが正当に保持できない種類は「不明」と表示され、Android のラベルを追加しました
- 「情報」画面の「Chute iOS」の QR コードが失効した App Store ID を指していた問題と、「評価」が本アプリではなく iOS 版のページを開いていた問題を修正
- Wi-Fi アップロードページのレイアウトを修正
- 中国語とタイ語における書き換え系統の名称を、マニュアルおよび設定ファイル自身のセクション名と一致するよう修正
- 各種の安定性とパフォーマンスの改善
バージョン 1.3 (62)
新機能:
- ポリシーエディターにXHTTPトランスポートを追加:スイッチ、モード(auto、packet-up、stream-up、stream-one)、パス、ホストを設定でき、Trojan・VMess・VLESSに対応
- AEGIS-128LおよびAEGIS-256 Shadowsocks暗号化方式を追加
- これまで欠けていたShadowsocks 2022(SS2022)暗号化方式を追加:
2022-blake3-aes-128-gcm、2022-blake3-aes-256-gcm、2022-blake3-chacha20-poly1305 - TLSポリシー向けにECH(Encrypted Client Hello、暗号化クライアントハロー)設定を追加:有効化スイッチ、固定ECH設定(
ech-config)、カバー名の上書き(ech-public-name) - クライアントフィンガープリント(uTLS)をポリシー単位で設定可能にし、プロフィール全体の既定値も追加
- トラフィック難読化機能を備えたWireGuard派生のAmneziaWGプロトコルに対応
- 操作を中断するアラートを置き換える、tvOSのフォーカスナビゲーションに対応した設定エラーレポート画面を追加
- TLS 1.3向けにX25519MLKEM768耐量子ハイブリッド鍵交換を追加
改善:
- ポリシーエディターは保存時に、現在の画面では編集できない既存のオプション(ECH、ALPN、証明書ピンニング、
test-url、underlying-proxy、udp-relay)を保持するようになりました
バグ修正:
- 不正な
IP-CIDRルールによるトンネルのクラッシュを修正 - SSHの
idle-timeoutおよびREALITYのspiderx設定が誤ったキー名で書き込まれ、保存時に破棄される問題を修正 - 言語切り替え時のクラッシュを修正
- 画面上のコントロールの表示問題を修正
- 安定性とパフォーマンスのさまざまな改善
バージョン 1.2 (45)
新機能:
- Tailscaleを組み込みプロキシタイプとして追加:Tailscaleアカウントを設定し、tailnetに参加してApple TVのトラフィックをTailscaleノード経由で転送できます。別のクライアントは不要です
- Tailscaleコントロールパネルを追加:ノードのリアルタイムステータス(オンライン/オフライン、IP、最終確認時刻)を表示し、リモコンから出口ノードを切り替えできます
- ダークなレベル別セッションログを備える全画面DashboardとSessionsビューを追加
- アクティブなトンネルを確認するためのトンネル詳細パネルを追加
- ポリシーエディタにMASQUEプロキシタイプを追加
改善:
- Apple TVのTUNスループットを向上
- TailscaleおよびWireGuardの接続安定性とスループットを向上
- リスト、電源ボタン、About行にわたるホーム画面のフォーカスナビゲーションをより予測しやすく改善
- 設定のレイアウトをiOSに合わせて調整(Always Onエントリを削除、Twitter→X、APNs/Rate/Languageの各項目を調整)
- VPNオフ時のみホームの右側リストにデバイスIPを表示
バグ修正:
- Dashboardの誤った「VPNが実行されていません」ステータスと、消えずに残る「実行中」ラベルを修正
- Dashboard/Sessionsを開く際やTailscaleノードリストから戻る際のフォーカスの消失やジャンプを修正
- Menuボタンの挙動を修正し、リストを確実に閉じてフォーカスを正しく戻すように改善
- セッションリストのフッター表記を「スワイプで削除」から「長押しで削除」に修正
- 各種の安定性とパフォーマンスの改善
バージョン 1.0 (35)
- 初回リリース
本ページは英語版からの翻訳です。内容に相違がある場合は、英語版が優先されます。