日が経過しています。情報の鮮度にご注意ください
⚠️ 本記事で言及するノードや空港サブスクリプションサービスはすべて架空のもので、実際には存在しません。ここでは単なるデモ例として紹介していますので、ご了承ください。
はじめに
Clashは便利な通信ツールで、その中核はClash coreと呼ばれ、本質的にはコマンドラインツールです(結局のところ、あらゆるソフトウェアはコマンドラインが本質ではないでしょうか)。開発者たちはこれをもとに、設定や使用を容易にするさまざまなGUIインターフェースを開発しました。私はこれまで、Mac用のClashXやClash For Windows For Mac(文字通りです)、通称CFWを使用してきました。開発の都合上、Electronアーキテクチャを用いてGUIを実装しているため、Mac版とWindows版の両方でパッケージ化でき、非常に便利です。
現在私はClash For Windowsを使用しています。

もちろん、国際的な慣例に従い、本記事では一般的な設定の用途を簡単に紹介するだけでなく、サブスクリプションリンクの更新方法やノードの切り替えについても簡単に説明します。これにより、「なぜbehanceがまた開けないんだ!」「なぜ壁を越えるのがこんなに面倒なんだ!」「こんなに高い梯子を買ったのにまだ使いにくい!」といった質問が来たときに、この記事を投げつけてゲームを続けることができます。
⚠️ 用語解説:通信自由 = 壁越え
いくつかの設定の用途
これらの説明は基本的に公式ドキュメントに記載されていますが、ここでは私自身の実際の使用例を交えて紹介します。
GeoIP Database
この機能は、IPアドレスの地理的位置に基づいてプロキシ経由かどうかを判断します。原理的には、ローカルにデータベースを保持し、それを参照します。IPアドレスは常に更新されるため、このデータベースも時々更新する必要があります(頻繁ではありません)。

TUN Mode
ターミナル、iTerm、Infuseなどの一部のソフトウェアはシステムプロキシを遵守しません。TUNモードはこの問題を解決するためのもので、システムプロキシを遵守しないソフトウェアのトラフィックを引き継ぎ、CFWで処理します。
私の実際の使用例は、InfuseでのEmby視聴です。私のEmbyサービスは空港の特定ノードを必要としますが、Infuseは(おそらく)独自のリクエストツールを内蔵しており、システムプロキシを経由しません。そのため、CFWをシステムプロキシに設定し、正しいノードを指定しても、空港が提供するEmbyサービスにアクセスできませんでした。この場合、TUNモードを有効にすれば解決します。
もう一つの使用例は、TUNモードを有効にすると、iTermターミナルのコマンドもプロキシ経由になることです。TUNモードを有効にしていない場合、git cloneなどはプロキシ経由になりません。以前は、手動でaliasコマンドを作成し、ターミナルプロキシを指定していました。必要なときはpppを押してEnter、不要なときはsssを押してEnter(私のプロキシポートは7890です):
1 | |
TUNモードを有効にするにはService Modeが必要です。詳細はドキュメントを参照してください:
TUN 模式 | Clash for Windows "by Fndroid" https://docs.cfw.lbyczf.com/contents/tun.html#macos
ただし、私が経験した問題として、CFWがService Modeは有効だと表示しているのに、小さな地球アイコンが赤いままの場合がありました。一度Service Modeを無効にし、CFWが自動的に再起動した後、Service Modeが非アクティブと表示され、installとuninstallの2つのボタンのみが表示されました。そこでinstallをクリックし、再起動後も赤い地球アイコンのままだったので、uninstallしてから再度installすると、CFWが自動的に再起動し、緑の地球アイコンになりました。GUIにバグがある可能性があるため、問題が発生した場合はさまざまな方法を試すことをお勧めします。
💡 TUNモードを正常に使用するには、ソフトウェアのセキュリティDNS機能を無効にしてください。TUNモードでソフトウェアが動作しない場合、この機能が原因である可能性があります。

Parser
つまり「設定ファイルの前処理」です。
CFWの分流ルールが適用される前に、独自のルールを設定したい場合があります。多くの人が利用している空港サブスクリプションリンクには、独自の分流ルールが含まれています。例えば、「グローバルダイレクト」「グローバルブロック」「漏れ魚」などです:

しかし、特定のリンクをプロキシ経由にしたいなど、独自のルールを設定したい場合があります。サブスクリプションリンクからダウンロードした設定ファイルを直接編集すると、次回のサブスクリプション更新時に変更が上書きされてしまいます。そこでParserが役立ちます。
簡単に言えば、Parserは空港サブスクリプションルールが適用される前に、あなたが設定したルールを最初に適用し、最終的なルールにマージします。例えば、私が頻繁にアクセスするウェブサイトには2つのドメインがあり、大陸ユーザーとしてアクセスすると大陸向けコンテンツが返されますが、海外IPからアクセスすると海外アドレスにリダイレクトされます。
TUNモードを有効にすると、このサイトはあなたを海外ユーザーと判定し、大陸ユーザーとしてアクセスできなくなります(アカウントが連携しない)。この場合、Parser機能を使用して、このサイトの大陸版アドレスを追加し、ダイレクト接続を設定できます:

しかし、少し残念なことに、これは特定のyaml(つまり、以下で説明するサブスクリプションノードリスト)に対してのみ有効です。そのため、複数のサブスクリプションノードリスト(空港)を持っている場合、複数のURLを記述する必要があります。
更新:良いニュースは、CFWが1つのルールで複数のサブスクリプションノードリストをマッチングできるようになったことです。regフィールドの正規表現を使用すれば可能で、以下はすべての設定ファイルにマッチングする例です:


サブスクリプションノードリストをクリックして、該当する設定に対応するParserを確認してください。

注意:サブスクリプション変換サービスはParserを無効にする可能性があります。
注意:Parserを設定した後、現在のプロキシの更新ボタンをクリックする必要があります。
Diff
この機能は上記のParserと似ていますが、Parserの後に適用されます。原理としては、手動でファイル(gitのbaseバージョンのようなもの)を生成し、このファイルは現在のサブスクリプション設定ファイルを修正したものに基づいています。その後、サブスクリプション設定ファイルが更新されるたびに、新しいものと古いものをdiffし、問題が見つかった場合は手動で衝突を解決する必要があります。
この機能の目的も、更新時に現在の設定ファイルに対する修正が上書きされないようにすることです。
Mixin
⚠️ **注意:この機能は「***機能属性」***の注入にのみ適しており、mixin内のルールは空港サブスクリプションリスト内の他のルールを上書きします!そのため、mixinではdnsなどの情報を注入する設定のみを行うべきで、rulesなどの情報を設定すべきではありません。なぜなら、空港サブスクリプションのノードを無効にする可能性があるからです。**

Setting内にも設定エントリがあり、ここではJavaScript形式のMixin設定を選択できます。詳細はドキュメントを参照してください:

System Proxy
その名の通り、Clashをシステムプロキシとして設定します。これをオフにすると、Safariなどシステムプロキシに依存するソフトウェアは動作しなくなります。そのため、Safariを使用したい場合は、System Proxyをオンにしてください。
正常に動作しない場合のトラブルシューティング
富强が必要なウェブサイトにアクセスできない場合、以下の手順で簡単に確認できます:
第一步:Proxiesを確認する
メニューバーの猫のアイコンをクリック

開いた画面でProxiesタブをクリックし、ノードを選択:

💡 自動選択:CFWが利用可能なノードを自動選択
ノード選択の後のテキストが「自動選択」であることを確認してください(デフォルトではそうなっています)。自動選択を確認したら、速度テストをクリックして現在の自動選択ノードの速度を確認:

ノードが利用できない場合、Timeoutタイムアウトと表示されます。遅延が1000以上の場合、赤い数字で表示され、ネットワーク速度が遅いことを示します。
第二步:Profilesを確認する
通常、Profilesは複数持っているはずです。例えば:

第一步でノードの速度テストがすべてTimeoutと表示される場合、ノードリストを変更することを検討してください。上図で新しいblockをクリックし、左側が緑色に変われば、そのblockのノードリストに切り替わったことを示します。その後、再度第一步を実行してノードの速度が正常か確認してください。
また、ノードリストの更新が長時間行われていない場合(括弧内に更新時間が表示)、上のUpdate Allをクリックして更新を試みてください。更新が失敗する場合、他のblockをクリックした後、再度Update Allをクリックして更新を試みてください:

注意:複数のノードリスト間で速く切り替えないでください。エラーが発生する可能性があります。1つ切り替えた後、3〜4秒待ってから他のものを切り替えてください(必要であれば)。
第三步:すべての接続を切断する
上記の2つの手順を実行しても問題が解決せず、ページが開けない場合、ブラウザが以前の接続を保持している可能性があります。そのため、プロキシを通じて新しい接続が確立されていません。この場合、CFWのConnectionsタブで「すべての接続を切断」をクリックし、開けないページをリフレッシュしてください:

新しい空港サブスクリプションを追加
新しい空港サブスクリプションは、上記の「ノードリスト」を指します。
Profilesタブで、取得したリンクを唯一の入力ボックスに貼り付け、Downloadをクリックしてください。ダウンロードが成功すると通知が表示されます:

その他
富强モード
Clashにはさまざまなプロキシモードがあります。例えばグローバルモードでは、すべてのネットワーク接続がプロキシされます。ルールモードでは、設定したルールに基づいて、異なるネットワーク接続がプロキシされたり直結されたりします。ダイレクトモードはすべてのネットワーク接続が直接接続され、Clashを有効にしていない状態と同じ効果があります。スクリプトモードでは、JavaScriptスクリプトを記述し、カスタムスクリプトでどの接続をプロキシするか、どの接続を直結するかを判断できます。これらの設定はここで切り替えることができます:

ローカルネットワーク上の他のデバイスをプロキシする
Clashは現在のローカルネットワーク上の同じセグメントにある他のデバイスのネットワーク接続をプロキシできます。これにより、プロキシできない他のデバイスもプロキシを利用できるようになります。最も典型的な使用例はApple TVのプロキシです。Apple TVのシステムは関連するプロキシインターフェースを開放していないため、スマートフォンのように直接プロキシソフトウェアをインストールしてプロキシすることはできません。そのため、ルーターでプロキシするか、プロキシサーバーをClashが動作しているデバイスに設定し、Clashで「Allow LAN」を有効にします:

空港サブスクリプションリンクとは?
空港サブスクリプションリンクとは、空港から提供されるリンクで、Clashがこのリンクを解析します。このリンクにより、Clashはyaml形式の設定ファイルをダウンロードし、Clashの機能を指示します。
人生の重要な選択に直面したとき、最善の方法を誰かが教えてくれて、貴重な時間を無駄にせずに済めばと、私はよく願っています。だからこそ、自分の経験を踏まえて頻繁にブログを書き、広大なインターネットのこの小さな片隅に、私にとって一度きりの人生経験を記録し、助けを求める人々の力になれればと思っています。