開始前の確認:クライアント、サブスクリプションURL、システム時刻
設定を始める前に、端末へ現在も保守されているClashのGUIクライアントがインストールされていることを確認します。クライアントによって同じ、または近い設定形式を使えますが、メニュー構成は統一されていません。本ガイドでは特定クライアントのボタン位置に依存せず、機能名に沿って手順を説明します。画面に同じ日本語表記が見つからない場合は、Profiles(設定一覧)、Proxies(プロキシとポリシー)、Connections(現在の接続)、Logs(実行ログ)などの英語表記を探してください。
次に、有効なサブスクリプションURL、またはクライアントで読み込めるYAML設定ファイルを用意します。Clashクライアント自体がサブスクリプションの内容を生成するわけではありません。サブスクリプションURLは通常、利用中のネットワークサービス提供元から発行されます。アカウントページから完全なURLをコピーし、パラメータを手動で削らないでください。ローカルYAMLファイルを受け取った場合は、追加時に「ファイルから追加」を選びます。その後の手順はサブスクリプション追加とほぼ同じです。
端末の日付、時刻、タイムゾーンが正しいか確認します。システム時刻のずれは、HTTPS接続、サブスクリプション更新、リモートリソースの読み込みに失敗する原因になります。デスクトップでは時刻の自動設定を有効にするのがおすすめです。モバイルでは通常、システム標準のネットワーク時刻で問題ありません。また、システムプロキシを変更したりVPNを構築したりする他のツールはいったん終了してください。複数のプログラムが同じネットワーク経路を同時に制御すると、問題の切り分けが難しくなります。
初回設定では、最小限の動作確認まで完了させれば十分です。接続に成功する前に、DNS、ポート、ルールセット、スクリプト、上書き設定を同時に変更しないでください。高度な設定には相互依存があるため、一度に多くを変更すると原因を特定できなくなります。設定項目、ポリシーグループ、ルール、DNSの定義は、このページの手順を終えてから用語集で確認できます。各プラットフォームのインストール権限、自動起動、システムごとの差異については、全プラットフォーム対応インストール設定ガイドで説明しています。
クライアントがインストール済み
正常に起動し、設定またはサブスクリプション管理ページを開けること。
サブスクリプションまたはYAMLを用意
完全なサブスクリプションURLをコピーするか、ローカル設定ファイルを読み込めることを確認します。
他のプロキシを停止
同時にシステムプロキシまたはVPN接続を制御するツールは1つだけにします。
サブスクリプションを追加して現在の設定を選択
Clashクライアントを開いたら、「設定」「サブスクリプション」またはProfilesページに移動します。デスクトップでは通常、ウィンドウのサイドバーに入口があります。モバイルではホーム画面の設定エリアにあることが多いです。「新規作成」「追加」「URLから追加」またはプラスボタンを見つけ、完全なサブスクリプションURLを入力欄に貼り付けます。名前には識別しやすい短い文字列を入力しても、クライアントが自動生成した名前をそのまま使っても構いません。URLの前後に空白や改行がないことを確認し、保存、ダウンロード、追加のいずれかを実行します。
追加処理ではリモート設定の読み込みが行われます。成功すると、一覧に新しい設定項目が表示され、通常は設定名、更新日時、更新ボタンなどが確認できます。すぐにページを離れず、まずその設定をクリックして現在使用する設定にします。クライアントによってはチェックマーク、濃い背景、「有効」などで現在の項目を示します。追加後に自動で切り替わるクライアントでも、手動で一度確認することをおすすめします。サブスクリプションを一覧に保存しただけでは、実行中のコアが読み込んだことにはなりません。
設定を選択したら、手動で一度更新します。これにより、サブスクリプションURLへアクセスできること、設定形式を解析できることを同時に確認でき、クライアントに最新内容が保存されます。更新後は「プロキシ」またはProxiesページを開きます。Proxy、Auto、Streaming、Finalなど、設定で定義されたポリシーグループや任意の名称が表示されていれば、設定は読み込まれています。ポリシーグループ名は設定提供元が決めるため、例と完全に一致する必要はありません。
追加直後に形式エラーが表示された場合は、URLの問題とファイル内容の問題を切り分けます。クエリパラメータの欠落を避けるため、サービスページからサブスクリプションURLをもう一度コピーしてください。WebページのURL、アカウント管理画面のURL、サブスクリプションの説明文を、サブスクリプション本体と取り違えていないか確認します。YAML解析に失敗したという表示は、互換性のない設定ファイルが返されたか、インデントやフィールド構造が正しくないことを示す場合が多いです。エラー行を無作為に削除して無理に読み込まないでください。削除した部分にポリシーグループ、ルール、DNSの依存設定が含まれている可能性があります。
サブスクリプションURLはアカウント設定の一部であり、スクリーンショット、ログ共有、公開テキストに載せるべきではありません。他人にエラーを見せる場合は、エラーの種類とメニュー位置だけ残し、完全なURLは隠してください。設定が選択され、ポリシーグループが表示されることを確認したら、プロキシモードの設定へ進みます。この時点でクライアントは実行可能な設定を持っていますが、ネットワーク通信が必ずしもそこを経由しているとは限りません。
ルールモードを選び、ポリシーグループを確認
「プロキシ」「モード」またはProxiesページを開き、一般的な3つのモード、ルール、グローバル、ダイレクトを探します。初回は「ルール」モードがおすすめです。ルールモードでは、設定ファイルのルールを上から順に照合し、ドメイン、IP、プロセス、ルールセットに応じて接続を直接接続、拒否、指定ポリシーグループへの転送のいずれかに振り分けます。日常利用に適しており、多くのサブスクリプション設定もこの動作を前提に設計されています。
「グローバル」モードでは、制御可能な接続の大半を現在のグローバルポリシーへ一括で転送します。ルールによる振り分けがアクセス問題の原因かどうかを短時間で確認する用途には向いていますが、すべての場面で標準設定にするのはおすすめしません。グローバルを有効にすると、本来は直接接続するローカルサービスやLANアドレスの経路まで変わる可能性があります。「ダイレクト」モードではプロキシを経由せず、利用を一時停止したり比較テストを行ったりできます。ダイレクトはクライアントを終了することではなく、システムプロキシが有効なままの場合もあるため、確認後は接続スイッチも確認してください。
ルール
設定ルールに従って接続を振り分けます。初回設定と日常利用に適しています。
グローバル
現在のポリシーを一律に使用し、ルールのマッチングがアクセスの違いを生んでいるか確認できます。
ダイレクト
プロキシ経路を迂回し、制御を一時停止したり元のネットワークが正常か確認したりする際に使います。
ルールモードを選んだら、ページに表示される主要なポリシーグループを確認します。「選択」「select」または手動選択の属性があるポリシーグループでは、利用可能な項目を1つ指定します。url-test、fallback、load-balance属性のあるポリシーグループは、通常、設定のロジックが自動的に処理します。クライアントに表示されるポリシーグループは追加のサブスクリプション一覧ではなく、設定ファイルが接続経路を整理するための論理層です。上位のポリシーグループを変更すると、そのグループを参照する下位ルールも新しい選択に従います。
初回は最上位のメインポリシーグループだけを調整すれば十分です。ストリーミング、メッセージ、ダウンロード、地域別グループを1つずつ変更する必要はありません。まず設定提供元が推奨するデフォルト項目を選び、プロキシページに戻って選択が保持されていることを確認します。ポリシーグループが空、展開できない、すべての項目が利用不可と表示される場合は、システムプロキシを有効にするのではなく、前の手順に戻ってサブスクリプションを更新します。空のポリシーグループは、設定内容が完全に読み込まれていないか、サブスクリプションの変換結果とクライアントコアに互換性がないことを示す場合があります。
モードとポリシーグループを設定すると、Clashは受信した接続の処理方法を把握しますが、OSはまだアプリの通信をクライアントへ渡していません。次に「システムプロキシ」と「TUN」のどちらかを接続制御方式として選びます。対象範囲が異なるため、プラットフォームの挙動を理解しないまま両方を繰り返し切り替えるのは避けてください。
システムプロキシを有効にし、必要に応じてTUNを使う
Windows、macOS、デスクトップ環境のLinuxクライアントでは、初回接続を「システムプロキシ」から始められます。クライアントの設定ページまたはホーム画面のスイッチを開き、System Proxy、「システムプロキシに設定」などの項目を見つけて有効にします。クライアントがOSのHTTPおよびHTTPSプロキシを、ローカルの待受ポートへ向けます。ブラウザーやシステムプロキシ設定に従うデスクトップアプリは、その後Clashへリクエストを渡します。
有効化後は、ポート競合を調べている場合を除き、OSのプロキシアドレスを手動で変更しないでください。通常、クライアントがローカルアドレスとmixed-portに対応するポートを自動入力し、スイッチを切るとシステム設定を復元します。手動でクライアントの待受ポートと異なる番号に変更すると、システムプロキシは有効に見えても、アプリがローカルサービスへ接続できなくなります。ポート設定の詳しい関係は高度な切り分けにあたるため、インストール設定ガイドの共通設定章を参照してください。
AndroidとiOSのGUIクライアントは通常、システムVPNインターフェースを通じてローカルのトンネルを構築します。接続ボタンを押すと、OSからVPN設定または接続の許可が表示されます。許可すると、ステータスバーにVPNアイコンが表示され、クライアントの接続ボタンも状態が変わります。この許可はクライアントによるローカルネットワークインターフェースの構築を認めるだけで、サブスクリプションやポリシーが正しいことを保証するものではありません。次の手順で必ず確認してください。
TUNモードは、システムプロキシ設定に従わないアプリや、一部のUDP、コマンドライン、システムレベルの接続を制御するために使います。デスクトップでブラウザーと一般的なアプリだけを使う場合は、まずシステムプロキシで確認してください。コマンドラインツール、ゲームランチャー、特定のアプリがシステムプロキシを読み取らない場合に、重複する接続制御を無効にするか、クライアントの説明に従ってTUNを有効にします。Windowsでは管理者権限、macOSではネットワーク拡張機能や補助サービスのインストール許可、Linuxでは権限、ルーティング、ファイアウォールルールが必要になる場合があります。
接続を有効にした後、クライアントに明確なエラーが表示されていないか確認します。正常なら実行状態は有効のまま保たれ、ログにポート使用中、権限拒否、設定読み込み失敗などの同じメッセージが連続して表示されることはありません。システムプロキシのスイッチが自動的に無効へ戻る場合は、クライアントにシステム設定を書き込む権限がないことがよくあります。TUNが起動直後に停止する場合は、管理者権限、ネットワーク拡張機能の許可、他のVPNの有無を確認します。スイッチを短時間に何度もクリックしないでください。古いプロセスがポートを解放する前に新しいインスタンスが起動する可能性があります。
ここまでで、設定、モード、ポリシー、システム側の接続制御が一つの経路としてつながりました。次はWebページが開くかだけでなく、クライアントの接続記録でリクエストが現在の設定を実際に通っていることを確認します。ブラウザーのキャッシュや、もともと直接接続できるページを成功と誤判定しないためです。
対象ページと接続記録で動作を確認
クライアントを起動したまま、新しいブラウザーウィンドウを開き、現在のプロキシ経路がなければ正常に読み込めない対象ページへアクセスします。キャッシュの影響を避けるため、構成がシンプルで、以前に開いていないページを選ぶのがおすすめです。ページが読み込めることは第一段階の結果にすぎません。Clashクライアントに戻り、Connections、接続、またはログページを開いて、アクセスしたドメインに新しい接続記録が生成されていることを確認します。
接続記録には通常、対象ドメイン、マッチしたルール、最終的に使用されたポリシーグループが表示されます。固定の表示形式を求める必要はなく、リクエストがクライアントに入り、想定したポリシーでルールモードに処理されていることだけ確認します。記録にDIRECTと表示される場合、そのリクエストは設定により直接接続と判定されています。設定上の想定どおりなら正常です。本来プロキシを使う対象がDIRECTになっている場合は、同じサブスクリプションを何度も追加し直すのではなく、ルールのマッチングを確認してください。
日常的に直接接続できるWebサイトにもアクセスし、基本ネットワークが意図せず遮断されていないことを確認します。ルールモードの目的は、リクエストごとに設定に従って処理することです。そのため、確認ではプロキシ経路と直接接続経路の両方を試します。最初の対象にはアクセスできるのに、ローカルサービスがすべて異常な場合は、グローバルモードが有効なままか、TUNルートでLANが正しく除外されていない可能性があります。プロキシページでモードを確認し、設定の「LAN接続を許可」が現在の用途に合っているか確認してください。
コマンドラインで確認する場合は、ツールがシステムプロキシを読み取るか注意してください。一部のコマンドはデスクトップのシステムプロキシを標準では無視するため、ブラウザーは成功してコマンドラインだけ失敗しても矛盾ではありません。その場合は、ツールのドキュメントに従ってプロキシ環境変数を設定するか、プラットフォームの権限を確認したうえでTUNを使います。1つのコマンドの結果だけで、クライアント全体が動作していないと判断しないでください。アプリの接続方式、DNSの解決経路、プロキシモードは異なる層の問題なので、個別に確認します。
完了条件
- 設定一覧に現在のサブスクリプションがあり、手動で更新できる。
- プロキシページにポリシーグループが表示され、現在のモードがルールモードになっている。
- システムプロキシ、モバイルのVPN、TUNのうち、少なくとも1つの接続制御方式が有効になっている。
- 対象ページへアクセスした際、クライアントの接続記録に該当するドメインまたはリクエストが表示される。
- 接続を無効にするとネットワークが元の経路へ戻り、無効なシステムプロキシが残らない。
最後に、無効化と再有効化のテストを一度行います。まずシステムプロキシ、VPN、TUNを無効にし、通常のネットワークが復旧することを確認します。次に再び有効にし、クライアントが安定して接続状態になるか観察します。これにより、システムプロキシが復元されない、権限が一時的にしか有効でない、再起動後に現在の設定が読み込まれないといった問題を発見できます。再有効化後にサブスクリプションを追加し直す必要はありません。現在の設定が選択されていることだけ確認してください。
接続に失敗したら逆の順番で復旧
接続を有効にした後、すべてのページにアクセスできなくなった場合は、まずシステムプロキシ、VPN、TUNを無効にして端末を元のネットワーク状態へ戻します。直接接続のネットワーク自体が正常なことを確認してから、Clashの設定に戻ります。切り分けは設定と逆の順番で行います。接続制御スイッチ、プロキシモードとポリシー選択、最後にサブスクリプション更新の順です。これにより、問題がOS側の接続制御層にあるのか、設定内容にあるのかをすばやく判断できます。
最初に、クライアントが起動しているか、ローカルポートが正常に待ち受けているか確認します。ポート使用中のエラーがある場合は、重複起動したクライアントや他のプロキシツールを終了し、現在のクライアントを再起動します。mixed-port、システムプロキシのポート、サブスクリプション設定を同時に変更しないでください。不一致が複数箇所で発生します。再起動後にポートエラーが消えたら、システムプロキシを再び有効にして確認します。
次に、プロキシモードを確認します。グローバルモードをルールモードへ戻し、メインポリシーグループをサブスクリプション提供元のデフォルト項目に戻します。それでも失敗する場合は、短時間だけダイレクトモードへ切り替えます。ダイレクトでは使えるのにルールモードで使えないなら、システム側の接続制御は正常で、ポリシー選択またはルール対象に問題がある可能性が高いです。ダイレクトでも使えない場合は、システムプロキシのポート、TUNの権限、他のVPNとの競合を優先して確認します。
3つ目に、サブスクリプションの更新を確認します。プロキシの接続制御を無効にして現在の設定を再更新し、HTTPエラー、タイムアウト、YAML解析エラーが表示されないことを確認します。更新に成功したら設定を再選択し、ポリシーページでグループ内容が復元されていることを確認します。サブスクリプションを継続して読み込めない場合は、サービス提供元のアカウントページでURLの状態を確認してください。クライアントの画面だけが原因とは限りません。
DNS関連の問題では、ドメインにアクセスできない一方で、特定のIPへの直接接続や既存の接続は機能することがあります。初回設定では、複雑なDNS設定を不用意にコピーしないでください。まずはサブスクリプションに含まれる設定を維持して基本接続を確認します。それでもfake-ip、nameserver、fallback、DNS漏えいを調整する必要がある場合は、用語集のネットワークとDNSの概念および体系的な設定ドキュメントを参照してください。詳しく切り分ける際は一度に1項目だけ変更し、復元できる元の設定を残します。