1 iOS で Clash YAML を扱うなら Stash
iOS はデスクトップのようにカーネル直下で任意の TUN を差し込めず、代わりに Network Extension の Packet Tunnel によってトラフィックをアプリ側のポリシーに渡します。その制約のなかで「単一 SOCKS ではなく、リモートプロファイルと proxy-groups、rule-providers まで含めた Clash 系の設定言語」を扱いたい場合、Stash はコミュニティでもよく名前が挙がる選択肢です。Windows/macOS の Clash Verge Rev や、Android の FlClash で慣れた用語がそのまま通ると、移行コストが下がります。
Android 側の流れはFlClash の記事で触れているとおり、VPN 権限の取り方は違っても「ルールモードで国内を DIRECT に残す」といった発想は共通です。本稿はクライアント側の手順に限定し、プロバイダー契約や地域の法令順守は利用者ご自身の責任で判断してください。
2 取り込み前に揃えるもの
デスクトップと同様、HTTPS の Clash 用購読 URL、QR コード、必要なら手元の config.yaml を用意します。購読が SS/V2Ray など非 Clash のみの場合は、先に変換してから iOS へ——手順はサブスクリプション変換の実務ガイドを参照してください。購読 URL はパスワード同様に扱い、公開チャットや不明な「YAML 整形サイト」に貼らないことが重要です。
3 App Store から Stash を入れる
Stash は対応リージョンの App Store から配信されます。開発元表示を確認し、信頼できるビルドだけを入れてください。iPhone と iPad は別端末としてインストール対象が分かれる点も踏まえ、チーム利用ではライセンスの帰属を決めておくと安全です。初回は安定した Wi-Fi で開き、ヘルプ資産や Geo データの取得が途中で止まらないようにします。OS はできるだけ新しめに保ち、Network Extension 周りの不具合はポイントリリースで直ることがあります。
継続的な互換作業への対価
iOS クライアントは、Apple の署名・メモリ制限・バックグラウンド予算の変更に追従する必要があります。App Store 版はそのメンテナンスコストを購入で支えるモデルになりがちで、メジャーアップデートのたびに消えるサイドロード系より、長期運用では再現性が高いことが多いです。
4 VPN 許可とトンネル
Stash は VPN 構成を登録し、対象トラフィックを Packet Tunnel に流します。初回接続時に iOS 標準の許可ダイアログが出るので、App Store 版を信頼したうえで承認してください。拒否すると YAML は見えても実経路は張れません。プロファイルは「購読 URL 指し」か「ローカルファイル」など、用途が分かる名前に分け、誤って別プロファイルを有効化しないようにします。マスターの接続スイッチは、オフなら Stash 無しの通常動作、オンならアクティブなプロファイルに従う、というイメージでデスクトップの Clash に近いです。
5 購読またはローカル YAML を取り込む
プロファイル画面で追加し、プロバイダーが示す Clash 用 HTTPS URL を貼り付けます。クライアントは TLS で YAML を取得し、proxies/proxy-groups/rules を解析してローカル保存します。更新間隔はプロバイダーの推奨に合わせ、短すぎるとバッテリーとキャプティブポータル環境で負荷が出ます。QR はデスクトップの画面をスキャンするのに便利です。手元 YAML は AirDrop 等で渡し、長大な編集は Mac/PC 側で行うのが無難です。
パースエラーはメッセージをそのまま読みます。「HTML が返った」場合は Safari で URL を開いて中身を確認、「未対応の暗号」はサーバ設定側の問題、など。初回同期後はノード一覧と遅延テストで生存確認し、ストリーミング用アウトバウンドが YAML に含まれているかも確認してください。
6 ルールモード、プロキシグループ、DNS
典型的にはルールモードで DOMAIN-SUFFIX や GEOIP に従い分割し、国内 CDN は DIRECT に残します。グローバルは切り分け用、ダイレクトは上流を経由しない検証用、という使い分けはデスクトップと同じです。セレクターと URL-Test/Fallback の階層を把握し、参照先プロキシが空になっていないかも確認してください。
モバイルでは DNS の挙動がデスクトップとずれて「ルールが壊れた」ように見えることがあります。FakeIP や DoH の設定はプロバイダー推奨に合わせ、詳細はDNS 漏洩を防ぐ記事の概念がそのまま役立ちます。rule-providers の巨大なリストは初回接続や更新を重くするので、必要最小限に留めるのが実務的です。低電力モードやバックグラウンド更新の制限、MDM による VPN 禁止にも注意してください。
7 iPad とマルチタスク
iPad では Split View でドキュメントを見ながらセレクターを触ったり、Stage Manager で複数ウィンドウを並べたりしやすく、ログ確認や IP 表示サイトとの照合がはかどります。セルラー回線では基地局の切り替えでトンネルが途切れやすいので、Fallback グループを用意しておくと安心です。有線アダプタ利用時は Wi-Fi からテザリングへ切り替わった際も VPN が有効か確認してください。
8 チェックリスト
- 接続がループ/すぐ落ちる:「設定 › VPN」に重複プロファイルがないか整理し、再起動後に再試行。最終手段として再インストールする前にローカル YAML を退避。
- セルラーだけ取得失敗: キャリアの DNS フィルタ、iCloud プライベートリレーの一時オフ、海外 SIM の APN を疑う。
- ノードは見えるがタイムアウト: 一時的にグローバルで試し、通るならルール側の GEOIP/国内 CDN の取り違えを疑う。
- ストリーミングが地域制限: 出口 IP をブラウザで確認し、メディア専用アウトバウンドやルールタグが YAML にあるか見る。
- バッテリー消費が大きい: URL-Test 間隔を緩め、巨大な rule provider を減らし、デバッグログを常時オンにしない。
デスクトップと挙動が違うときは、両方からサニタイズした YAML を diff します。Mac 側の導入はmacOS インストール記事と合わせてバージョンとマージ方針を揃えると差分が減ります。
9 まとめ
Stash は iPhone/iPad で Clash 互換の購読とルールを実運用しやすくするクライアントの一つです。App Store から正規導入し、VPN を一度許可し、HTTPS 購読またはローカル YAML を取り込み、ルールモードと DNS をデスクトップの設計と揃えれば、「スマホだけ挙動が別物」という摩擦は大きく減ります。大規模な編集やパケットキャプチャは依然としてデスクトップ Clash の勝ちですが、ポケットの中でも同じ YAML 言語で方針を共有できるようになります。
軽量な SOCKS ブラウザや、ルーティングが見えないストア系 VPN と比べ、プロバイダーが整えたルールを一貫して適用しやすい点が強みです。iOS のネットワークスタックはアップデートのたびに変わるため、メジャー OS 更新のあとは設定とログを一度見直してください。