ブログ

システムは個人 VPN に枠を 1 つしか残しません。

Shadowrocket は Network Extension の中で動くため、その枠の制限を継承します。以下は「設定を見つけ損ねた」でも、「ある行が急に期限切れになった」でもありません。トンネルの起動は トンネル を見てください。

通常、個人 VPN は同時に 1 本

別の VPN アプリが接続中のとき、iOS は通常、トラフィックを Shadowrocket に渡しません。本アプリのスイッチが点いていても、バイトはこの拡張に入っておらず、Data の両方とも動きません。障害を切り分けるときは、先にシステムの VPN 一覧で今効いているのがどれかを見て、レコードを替えないでください。「スイッチが点いている」を「バイトが本アプリに入った」と読むと、並存では次の手が完全に違います。FINAL を直し、コンテナを更新し、UUID を疑う。本当の原因は、システムが別の拡張にトラフィックを渡していることです。

一部のシステムプロセス、一部のアプリは「VPN 接続中」を検知するか、独自の経路を使います。クライアントはすべてのバイナリを仮想 NIC に入れさせることはできず、他の App の挙動も変えられません。現れ方は、Data が増えているのに、ある App だけ失敗する、です。他のクライアントは Proxy で通り、これだけ失敗するなら、その App がトンネルを拒んでいることが多く、レコードが使えないのではありません。個人 VPN はコンシューマ端末では通常、端末全体の粒度であり、「この App だけプロキシ」ではありません。Shadowrocket でアイコンを選ぶとシステムがアプリ単位で振り分ける、という汎用スイッチはありません。ドメインでの振り分けはルールエンジンの仕事です。ルール を見てください。

ライフサイクル

トンネルはシステムに壊される

低電力モード、バックグラウンド App の更新を切る、機内モード、Wi-Fi とセルラーの切替は、いずれも拡張を終了または一時停止させます。復帰後はスイッチを入れ直すか、システムが必要に応じて起こすのを待ちます。再インストールでは直りません。再インストールは、システムが回収したセッションを戻せません。企業端末の MDM は個人 VPN を禁じられます。スクリーンタイムも VPN を制限できます。どちらでも、アプリ内でスイッチを入れても、システムは拡張を作りません。許可ダイアログを拒否した、またはあとから設定で Shadowrocket の VPN 構成を消したときも同じです。スイッチの対象がありません。

バックグラウンドでコンテナやルールを更新するには、システムがこのアプリのバックグラウンド実行をまだ許している必要があります。「バックグラウンド App の更新」を切ったあと、取りに行くのはアプリを前面に出したときだけです。省電力はさらに締めます。「一覧が更新されない」を URL 切れにする前に、システムが走らせたかを見てください。ホテル、空港、キャンパス網は先にログインページを出すことが多いです。そのページが終わるまで、端末に本当の送信はありません。スイッチを入れ、ポリシー Proxy だと、ログインページが開けず、認証が終わらず、トンネルが転送するネットもありません。先に Direct、またはスイッチを切り、システム自身にログインページを開かせ、終わってからトンネルを入れてください。

システム時刻が自動設定でないと、TLS はまとめて失敗します。スイッチはどのレコードでも異常に見え、プローブも一緒に壊れます。ある 1 行のレコードとは無関係です。先に時刻の「自動設定」を入れてください。宛先が IPv6 で、ルールが IPv4 の網段しか書いていないと、要求は FINAL に落ち、ルールがときどき効くように見えます。DNS を見てください。これらが「スイッチが点いている」の上に重なると、「ノードがダメ」の一文に収まりやすいです。

証明書と、できないこと

復号は振り分けの前提ではない

振り分け、閲覧、API 呼び出しは HTTPS 復号に依存しません。ルールが見るのはホスト名と宛先であり、暗号内容を開く必要はありません。リライトが URL や平文ヘッダだけを動かすなら、復号は必須ではありません。HTTPS の中身を見る・書き換えるときにだけ使い、ユーザプロファイルを入れます。その端末の「システムルートだけを信頼する」既定を弱めます。使い終わったらプロファイルを外してください。復号のために入れた証明書を、常用機や、ネットバンキングとパスワードを置く端末に残さないでください。証明書が未導入、期限切れ、またはシステムが信頼していないと、復号リスト上のホストはハンドシェイク失敗になり、レコードが壊れたと誤られやすいです。先に復号を切って対照します。他のアクセスが戻るなら、問題は証明書であり、出口ではありません。詳細は システムリライト です。

アプリは URL の有効期限を延ばせません。サーバー料金を立て替えられません。ハンドシェイク失敗のレコードを使えるようにはできません。通信事業者や対象サイト自身のアクセス方針も破れません。接続品質は、ローカルネット、そのレコードの対向、対向サービスが共同で決めます。公式の Android、Windows、macOS クライアントはありません。他のシステム上のソフトが同じプロトコル欄を埋められても、Shadowrocket ではなく、ルールファイルがそのまま開く保証もありません。本サイトはそれらのインストーラを配布しません。

構成は端末に保存され、任意で自分の iCloud に同期できます。アカウントシステムはなく、開発者側にあなたの一覧はありません。書き出しファイルは認証パラメータを含むので、秘密として扱ってください。初めてスイッチを入れたときの VPN 構成の確認はログインではありません。買い切りが覆うのはクライアントのライセンスです。ストアConfig を見てください。プラットフォームの境界を「隠しスイッチが見つからない」と思うと、レコードとルールで無効な変更がたくさん起きます。

枠が埋まっている、拡張がシステムに壊された、ある App がトンネルを拒む。この三つに共通なのは、Shadowrocket の一覧に対応する「壊れた行」がないことです。レコードを替え、ルールを替え、アプリを入れ直しても、システムの VPN 枠は二つになりません。仮想 NIC を自分で迂回するプロセスの考えも変わりません。できるのは、システムの VPN 一覧で今効いているのが誰かを見ること、バックグラウンド更新と低電力が拡張を回収していないかを見ること、別のクライアントで Proxy の下で同じホストを試し、単一 App の挙動か確認することです。この三つを確認してから、レコード欄とルールの順番です。マニュアルはオブジェクトをオブジェクト章に、境界をシステム章に書いてあります。二章を一度の「総点検」に合成して同時に直さないでください。

切り分けでは、先に枠を問い、それからレコード

Data が動かず、他の VPN アプリが接続中を示すなら、先に並存を処理します。Direct ですでにネットがないなら、先にローカルネットかポータルページを処理します。この二段が通ってから、1 行のレコードを固定してポリシーだけ変えます。マニュアルは同じ順を Data 章に書いてあります。