Shadowrocket を初めて使う多くの人は、「ノードが速いか」「レイテンシがどれくらいか」に注意を向けがちですが、より重要な問題—DNS リーク—を見落としがちです。
重要なのは、多くのチュートリアルが「ノードへの接続方法」しか教えておらず、DNS リークを防ぐために Shadowrocket を正しく設定する方法を明確に説明していないことです。
次に、このガイドでは、基礎から実践的な設定、そして DNS リークテストとブラウザの fingerprint 検出まで、ステップごとに説明します—無用なミスを避けられるように。

• DNS はインターネットの「電話帳」のようなもので、ウェブサイトにアクセスする際、端末はまず DNS サーバーに「このドメインに対応する IP アドレスはどれか」を問い合わせます。
• 問題は、プロキシを利用していても DNS クエリがプロキシを迂回してローカルの ISP に直接送られてしまうと、DNS リークが発生することです。
• これにより実 IP が間接的に露出したり、ローカルの回線事業者に閲覧履歴を記録されたり、DNS を手掛かりにプラットフォームに位置情報を特定されたりする可能性があります。
つまり、DNS リークは些細な問題ではなく、プライバシー上の脆弱性です。
設定を調整する前に、DNS リークテストを実行することを推奨します。一般的な方法は次のとおりです:
• オンラインの DNS リークテストサイトを利用する
• ブラウザの fingerprint 検出ツールと併用して、総合的な匿名性を評価する
• ToDetect の fingerprint チェッカーなどの総合ツールで、DNS・IP・fingerprint の整合性を確認する
何に注目すべきか?
• DNS サーバーの場所がプロキシ ノードと一致しているか
• ローカル ISP の DNS(例:China Telecom/Unicom)が現れていないか
• 異常な DNS リクエストが複数ないか
プロキシを使用しているのにローカル DNS が表示される場合、DNS リークが発生しているとほぼ断定できます。
Shadowrocket で DNS リークを防ぐには、主に次の3点に依存します:
• DNS を強制的にプロキシ経由にする
• 信頼できる DNS(DoH/DoT など)を使用する
• システム既定の DNS による干渉を避ける
要するに、DNS リクエストはローカル回線ではなく「プロキシ経由」にする必要があります。
実際の手順は以下のとおりです(多くのチュートリアルが曖昧にしている箇所です):
Shadowrocket:Settings → DNS に進みます。いくつかのオプションが表示されます—ここが要となる部分です。
DoH(DNS over HTTPS)の利用を推奨します。例:
または: https://dns.cloudflare.com/dns-query
👉 目的: DNS が監視・改ざんされるのを防ぐ
⚠️ ここが要点です。「DNS over Proxy」/「Resolve DNS via proxy」などのオプションを探して有効にしてください。無効のままだと DNS リークが発生します。
iOS はローカル DNS を強制的に使う場合があります。この場合は次の対応を行います:
Shadowrocket の「Global Mode」を有効化(テスト時に推奨)するか、ルールモードを使う場合も DNS がプロキシ経由になるように設定します。
高度な設定を使用する場合は、Fake-IP モードを有効にできます。
目的は、DNS 汚染を回避し、解決速度を向上させ、DNS リークの可能性を減らすことです—ただし上級ユーザー向けです。
設定後に問題ないと決めつけず、必ず DNS リークテストを再実行してください。推奨プロセス:
1. プロキシをオンにする(Shadowrocket をノードに接続)
2. DNS リークテストのサイトにアクセス
3. ToDetect の fingerprint ツールで総合チェックを実施
4. ブラウザの fingerprint テストも実施し、以下を確認:
• プロキシの国に位置する DNS サーバー
• ローカル ISP の記録がない
• IP と DNS が一致している
これらの条件がすべて満たされていれば、Shadowrocket の DNS リーク対策は正しく機能しています。
回答: Global Mode = DNS がプロキシ経由、ではありません。ここを見落とす人が多いのですが、DNS は別途設定が必要です。
対処: 「Resolve DNS via proxy」を有効化 + DoH を設定。
回答: はい、よくあります
ノード側に DNS が用意されていても ≠ 実際にそれが使われている、とは限りません。「一部はプロキシ、一部はローカル」という挙動になっている可能性があります。
対処: DNS を手動設定 + プロキシ経由を強制
回答: ブラウザの fingerprint が露出している可能性があります。サイトは DNS だけでなく端末情報も確認します。
対処: ToDetect の fingerprint ツールを使用し、ブラウザの fingerprint テストも併用する。
DNS リークは日常の使用では気づきにくいものの、発見された時点で実際のネットワーク環境がすでに露出しているおそれがあります。
そのため、ノードや設定を変更するたびに DNS リークテストを実施し、定期的に ToDetect などのツールで全体の環境を確認する習慣をつけることをお勧めします。
この部分は少し複雑なため多くのチュートリアルが省いていますが、無視するとこれまでの努力が水の泡になりかねません。
AD