なぜ surge を使うのか?#
surge の三端ユーザーとして、mac 端 + スマートフォン端 + Apple tv 端
surge のインターフェースは確かに美しいと言わざるを得ません(
- 主な用途:ストリーミング視聴 + 海外アプリ使用 + ChatGPT
- 次に:京東の価格比較、アリババクラウドの自動サインイン、Bilibili の UI 変更など多様なモジュール
- 開発用途:パケットキャプチャ、会員破解
実際には、私が使用している機能は surge が含むものには遠く及びません。ゲートウェイ設定、内網透過、DHCP サーバーなどの高度な機能も試したことがありますが、日常的にはあまり関与しないので詳しくは言及しません。
もちろん、上記の機能は実際には QuanX、clashX、小火箭も代替品として使用可能で、価格も比較的安価です(clashX は無料)。もし surge に本気でハマるつもりなら、課金の準備をしておいてください、ハハ。
surge に入るにはどうすればいいのか?
- mac 端購入リンク Surge Mac - Advanced Web Debugging Proxy for Mac & iOS (nssurge.com)
- ios 端購入リンク Surge Mac - Advanced Web Debugging Proxy for Mac & iOS (nssurge.com)
- ios 端を購入した場合、Apple tv 端は無料で提供されます(前提としてアカウントは同じ iCloud アカウントにバインドされている必要があります)
ウェブサイトでの購入を強くお勧めします、App Store 内での購入ではなく、私に感謝することになるでしょう(なぜなら、海外の Apple ID アカウントは簡単に禁止され、他人と共有するのも難しいからです)。
ウェブサイトでの購入では、複数のデバイスをサポートするプランを購入することをお勧めします。共有して往復できるので、個人で購入するのは少し損です🥹。
surge を手に入れたら、まだ終わりではありません。空港サービスを購入する必要があります(自分でノードを構築することも可能ですが、面倒で封鎖されやすいです)。私がずっと使っている空港をお勧めします(私のリンクから登録すると割引が得られます😄)。
https://rabbitpro.net/auth/register?code=JEBu
さて、次のステップは設定をインポートすることです。空港は自動的に設定を提供しており、開箱後すぐに使用可能です。
設定をインポートした後、現在の設定のコピーを作成することをお勧めします。後で編集しやすくなります(現在の設定は変更できません)。
surge の基本インターフェースについても紹介します:
さて、あなたは正式に入門しました。次は surge の魔力を目撃することです。
基本的な分流ルール#
まず、分流とは何かを理解する必要があります。この点については統一された定義はないようですが、私の理解は以下の通りです:
インターネットを使う本質は、サーバーとのデータ転送です。転送されるデータはバイト数で統計され、どれだけのトラフィックになるかを示します(余談ですが、『アップロードされた新生』というドラマを見ることをお勧めします。トラフィックについてより深く理解できるでしょう)。
私たちとサーバーの間には多くの接続があります。これらの接続は簡単に分類できます。例えば、国内のサービス、国外で壁に阻まれていないサービス、国外で壁に阻まれているサービスです。
分流とは、国外で壁に阻まれているサービスをすべて空港のプロキシを通じて通過させ、壁の封鎖を回避することです。ここには図が必要ですが(実際にはありません🐶)。
簡単にまとめると:
- 国内のサービス
- 国外で壁に阻まれていないサービス
- 国外で壁に阻まれているサービス
この中で、国外で壁に阻まれているサービスは地域の制限によって無形の壁が加わります。例えば、OpenAI のサービスは香港の IP がブロックされています。
したがって、私たちはさらに分流を進め、国外のサービスを異なる地域のノードに分流する必要があります。例えば、一般的な香港、アメリカ、インド、ナイジェリア、トルコ、アルゼンチン(私は精神的なアルゼンチン人です!)などです。
前のセクションでインポートした surge 設定ファイルの中には、この分流を行うための大部分が含まれています。
この時、surge を開くと、「ルールモード」に切り替える必要があります。3 つのモードはそれぞれ以下のように理解できます:
- 直接接続:surge は小透明に変身し、すべてのトラフィックを一括で通過させます。
- グローバルモード:surge は大魔王に変身し、すべてのトラフィックが surge のプロキシを通ります。
- ルールモード:surge は検査官に変身し、私たちが設定した分流ルールに従って分流します。
ルールモードに切り替えた後、現在の戦略グループはまだ比較的シンプルで、国内、国外、Apple、その他の 4 つのカテゴリに分かれています。
例えば、ChatGPT サービスにアクセスしたい場合、ChatGPT のサービスをすべてアメリカのノードを通じてアクセスする必要がありますので、いくつかのことが必要です:
- ChatGPT のサーバーはどれか
- アメリカのノード
- 分流ルール
では、ChatGPT のサービスは何でしょうか?すでに誰かが整理してくれています。surge rule chatgpt github
を検索すれば見つかります:ios_rule_script/rule/Surge/OpenAI/OpenAI.list at master · blackmatrix7/ios_rule_script (github.com)
ここにリストされているのは、私たちが取得する必要のある元の raw リンクです。
https://raw.githubusercontent.com/blackmatrix7/ios_rule_script/master/rule/Surge/OpenAI/OpenAI.list
もちろん、jsdelivr で加速されたものを使用することをお勧めします(raw.github のリンクはブロックされているため、後のリソース更新でエラーが発生しやすいです):
jsdelivr の加速方法は、github のドメイン名を
cdn.jsdelivr.net/gh
に置き換えるだけです。
https://cdn.jsdelivr.net/gh/blackmatrix7/ios_rule_script/rule/Surge/OpenAI/OpenAI.list
第一歩が準備できたら、第二歩としてアメリカ関連のノードを準備します。空港からインポートした設定を使用している場合、すでに多くのノードが自動的に追加されています。もちろん、自分の VPS ノードを手動で追加することもできます。
これらのノードを地域ごとに分類することができます。[プロキシサーバー]をクリックして最下部にドラッグし、新しい戦略グループを追加します:
surge はプロキシサーバーと戦略グループ(つまりプロキシサーバーの集約)をすべてプロキシサーバーとして扱います。
アメリカのノードをすべてドラッグします(他の地域で OpenAI の安定性を解除するのは一般的に難しいため、アメリカのノードが最も安定しています)。
第三歩として、分流ルールを設定します。この時点で、ChatGPT への分流ルールを直接追加できます。
さて、成功しました。ChatGPT にアクセスしてみてください。
補足#
空港のノードは安定していない場合があり、一時的に使用できないことがあります。
この時、戦略グループに切り替え、速度テストをクリックして、接続がスムーズなノードに切り替えます(人工的な負荷分散です🤣)。
手動で切り替えるのが面倒な場合は、戦略グループ内で次の 2 つを選択できます。
- URL 遅延自動テスト:自動的に遅延が最も低いものを選択します。
- URL 可用性自動テスト:利用できない場合はランダムに利用可能なものを選択します。
- 負荷分散:毎回ランダムに切り替えます。
上級分流ルール#
すでに最初のルールを追加したので、次はたくさんのルールを追加してみたいと思います。例えば Netflix、HBO、pornhub(大雾)。
いじる前に忘れないでください。これらのルールを追加する本質は、無感知のインターネットを実現することです。つまり、国内外のサービスにアクセスする際、surge は自動的にプロキシを選択するか、プロキシを使用しないようにします。
これらのルールはここで見つけることができます:https://github.com/blackmatrix7/ios_rule_script.git、ゆっくりいじってみてください。
ルールの微調整#
いくつかのルールは期限切れの可能性があります。例えば HBO のルールは、ネットで見つかるものはほとんどが期限切れです。したがって、次のようにできます:
- まず、グローバルモードに切り替え、ノードをアメリカに設定します。この時、surge の大魔王はすべてのトラフィックをアメリカのノードを通過させることを強制します(この時、国内のドラマを見ないでください。速度が遅く、トラフィックを無駄にします)。
- この時、HBO MAX アプリを開き、【最近のリクエスト】ページでどのドメインにアクセスしたかを観察します(surge はリアルタイムで観察できる浮き窓も提供しています)。
- 追加したいルールのドメインを選択します。一般的に非常に特徴的です。例えば、
[hbo.com](http://hbo.com)
や[max.com](http://max.com)
などです。一般的にはDOMAIN-SUFFIX
を選択します(後でこれが何か説明します)。
一時的なルールまたは永久的なルールを選択できます。これはテストのために考慮されています。
ルールの詳細#
前述のように、私たちが使用しているのはルールセットであり、一連の分流ルールが含まれています。surge ではこれをRULE-SET
と呼びます。
RULE-SET
の形式は、一行に一つのルールが含まれています。surge のルールは、ドメインの分流だけでなく、IP やプロセス(mac 上)にも適用できます。
一般的なルール形式には以下があります:
- ドメインルール
- DOMAIN:特定のドメインを厳密に一致させます。
- DOMAIN-SUFFIX:特定のドメインおよびそのサブドメインに一致します。例えば、DOMAIN-SUFFIX,apple.com は apple.com と www.apple.com に一致しますが、anapple.com には一致しません。
- IP アドレスルール
- その他のルール
- PROCESS-NAME:Mac バージョンのみ有効で、プログラム名に一致します。
- SRC-IP:接続元 IP アドレスに一致します。他のデバイスの接続を引き継ぐ際に使用できます。
- IN-PORT:Mac バージョンは複数ポートのリスニングをサポートしており、異なるリスニングポートに特定のルールを設定できます。
詳細については、ドキュメントを参照してください:Surge 公式中国語ガイド:Surge の原理を理解する (nssurge.com)
スクリプト&モジュール#
スクリプトとモジュール機能を使用する前に、MITM を開くことをお勧めします。
MITM を開くには証明書の信頼操作が必要です。ここでは詳しくは言及しませんので、Google で調べることをお勧めします。
その後、【変更】画面に切り替え、スクリプトとモジュール機能を使用できます。
実際、これら二つは本質的にリクエストとレスポンスを変更し、自動化された作業を完了するものですが、個人的にはモジュールの方がスクリプトよりも使いやすいと感じています。その理由は:
- スクリプトの設定は比較的面倒で、MITM のドメインを自分で追加する必要があります。
- モジュールは比較的簡単で、一鍵インストールできます(ただし、モジュールの作者の開発品質に依存します。以前、あるモジュールの作者が私の
skip-proxy
設定を直接上書きしてしまい、後で原因を見つけるのに苦労しました)。
以下は、すぐに使えるモジュールのいくつかです:
- 京東の価格比較:https://raw.githubusercontent.com/Rabbit-Spec/Surge/Master/Module/Spec/JD_Price/Moore/JD_Price.sgmodule
- アリババクラウドのサインイン:https://github.com/rayepeng/surge-module/raw/main/aliyunpan.sgmodule.sgmodule
- 天下を見て無料で読むアプリ:https://raw.githubusercontent.com/rayepeng/surge-module/main/ktx.sgmodule
- 財新週刊を無料で読む:https://raw.githubusercontent.com/rayepeng/surge-module/main/caixin.sgmodule
さらに進んだモジュールのテクニックは boxjs と組み合わせて使用する必要があります。インストールリンク:https://raw.githubusercontent.com/chavyleung/scripts/master/box/rewrite/boxjs.rewrite.surge.sgmodule
ドキュメント:紹介 - BoxJs
例えば、Bilibili の UI をカスタマイズするモジュール:https://raw.githubusercontent.com/BiliUniverse/Enhanced/main/modules/BiliBili.Enhanced.sgmodule
boxjs と組み合わせることで、ホームページに表示する内容を自由に選択できます。
今後の内容#
これまでのところ、いくつかの経験をまとめて書きました。次回は設定ファイル、スクリプトの作成、モジュールについて書く予定です。
参考#
- Surge Mac 使用ガイド | by Alan He | Jan, 2024 | Medium
- Surge 公式中国語ガイド:Surge の原理を理解する (nssurge.com) surge 公式のドキュメントで、ネットワークプロトコルを深く理解するのに大いに役立ちます。
- GetSomeCats/Surge 新手から Apple ID の登録から返金まで.md at Surge・getsomecat/GetSomeCats (github.com) これは非常に詳細に書かれています。
- 最小構成をお勧めします。設定ファイルを理解するために 中国区ユーザーに最小構成をお勧め - Surge Tech Community (nssurge.com)