インストール前の準備:クライアントとサブスクリプションを用意
Clash系クライアントは、設定の読み込み、ルールの判定、リクエストの転送を行います。インストーラーを入手しただけではプロキシサービスを利用できず、接続先が自動で作成されることもありません。開始前に、信頼できるサービス提供元のサブスクリプションURL、または使用するコアに対応したYAML設定ファイルを用意してください。アカウント情報、WebサイトのログインURL、単一ノードのQRコードしかない場合は、提供元の案内を確認し、適切なエクスポート形式を選びましょう。
ダウンロード前に、OSとプロセッサのアーキテクチャを確認してください。Windowsはインストーラーの案内に従ってセットアップします。macOSのディスクイメージは、通常、開いてアプリを「アプリケーション」フォルダにドラッグします。AndroidではAPKをダウンロード後、システムの案内に従ってインストールを実行するブラウザーやファイル管理アプリに権限を付与し、完了したら取り消せます。iOSではダウンロードページから対応するストアに進んでインストールしてください。Linuxはディストリビューションに対応したパッケージ形式を選びます。互換性がないと表示された場合はダウンロードページに戻って選び直し、システムのセキュリティ機能を無効にして何度も試さないでください。
クライアントを初めて起動したら、既存のネットワーク接続を維持し、ほかのプロキシやVPNツールは同時に有効にしないでください。補助サービスのインストールを求められた場合は、必要な権限を確認しましょう。TUNを使わないのであれば、このガイドを進めるために高度な機能をすべて有効にする必要はありません。基本設定を保存でき、設定画面を開けることを確認したら、サブスクリプションの追加に進めます。インストールや権限設定で困った場合は、ヘルプセンターのインストール・設定ガイドを確認してください。
ステップ1:サブスクリプションを追加して設定を選択
クライアントの「設定」「サブスクリプション」またはProfiles画面を開き、「追加」「URLからインポート」「サブスクリプションを追加」などの項目を探します。完全なサブスクリプションURLを入力欄に貼り付けてください。クライアントのノード検索欄には入力しないでください。「日常用」など、見分けやすい名前を付けてから「インポート」または「ダウンロード」をクリックします。名前は端末内で設定を区別するためのもので、サービス提供元のノードやルールは変わりません。
貼り付ける前に、URLの前後に空白や改行、チャットアプリが付けた記号が混ざっていないか確認してください。サブスクリプションURLには認証情報が含まれる場合があります。URL全体を公開の掲示板に貼ったり、クエリパラメーターが見える状態でスクリーンショットを共有したりしないでください。提供元が複数のクライアント形式を案内している場合は、使用中のクライアントの説明に合ったClashまたはmihomo形式を選びます。名前が似ているからといって、別ツール専用の形式を貼り付けないでください。
インポートが完了すると、通常は設定一覧に項目が追加されます。その項目、または横にある「使用」「有効化」ボタンをクリックして、現在の設定にします。ファイルがダウンロードされただけでは、設定が有効になったとは限りません。次に「プロキシ」画面で、この設定に対応するプロキシグループが表示されていることを確認し、「ルール」画面でルールが登録されていることを確かめます。サブスクリプションによって内容は異なるため、他の人のスクリーンショットと名前や件数をそろえる必要はありません。
ローカルファイルを使う場合は、同じ設定画面で「ファイルをインポート」を選択し、ファイル選択画面からYAMLファイルを開いて、現在の設定にします。拡張子をYAMLに変更するだけでは、形式の変換にはなりません。メッセージの添付ファイルは、まず端末からアクセスできる場所に保存してください。モバイル端末ではシステムの共有メニューからクライアントに渡すこともできますが、共有後に設定一覧へ戻り、有効になっていることを確認してください。
ダウンロードに失敗した場合は、システムプロキシをオフのままにして、通常のWebページを開けるか、サブスクリプションURLが有効かを確認します。解析エラーが表示されたら、エラーメッセージにあるフィールド名や行番号を控え、提供元のページで対応する形式を選び直してください。初回のインポート時にDNS、ルール、プロキシグループの項目をむやみに削除すると、形式の問題が別の設定トラブルにつながるおそれがあります。形式の変換や更新に失敗した場合の対処は、設定に関するよくある質問を確認してください。
設定が有効になり、プロキシグループが表示されたら次に進みます。以降のサブスクリプション更新は、通常、該当項目のメニューから「更新」を選べばよく、毎回新しい設定を作る必要はありません。リモートのサブスクリプションから生成されたファイルを直接編集すると、更新時に上書きされることがあります。初めて使う場合は元の内容を保ち、接続を確認してから必要に応じて変更を個別に管理しましょう。
ステップ2:ルールモードと接続先を選ぶ
クライアントの「プロキシ」または「モード」画面を開き、「ルール/グローバル/直接接続」の切り替えを探します。初めて使う場合は「ルール」を選ぶのがおすすめです。このモードでは、現在の設定に含まれるルールに従ってリクエストを処理します。一部は直接接続され、ほかは指定したプロキシグループに転送されます。ルールモードでも、すべての通信がプロキシ経由になるわけではなく、特定のWebサイトが必ず特定の接続先を使うとも限りません。実際の動作はサブスクリプションのルールによって異なります。
プロキシグループで接続先を指定
ルールモードを選んだら、プロキシグループを確認します。手動選択タイプのグループでは、ノードまたはサブグループをクリックして現在の接続先に指定する必要があります。自動選択タイプのグループでは、設定にある判定条件に基づいて接続先が選ばれます。まず一覧が空でないことを確認し、現在の選択が用途に合っているかチェックしてください。プロキシ経由にしたいリクエストに対応するグループがDIRECTに設定されていると、リクエストは直接接続されます。これはシステムプロキシが機能していないという意味ではありません。
クライアントに接続テストやノード速度測定の機能があれば、一度実行して、明らかに使えない接続先を除外できます。ただし、テスト先は実際にアクセスするサービスと同じとは限りません。テストに成功しても、すべてのWebサイトにアクセスできるとは限りません。初回設定では、実際のアクセスができる接続先を1つ選べば十分です。候補を何度も比較する必要はありません。プロキシグループの入れ子構造や自動選択ルールについては、まずサブスクリプションの初期設定を維持してください。
グローバルモードと直接接続モードの用途
「グローバル」では通常、クライアントに入ったリクエストをグローバルプロキシグループに転送し、そのグループが接続先を選びます。ルールの違いを一時的に比較する場合に便利ですが、クライアントを経由しないアプリの通信まで自動的に処理するわけではありません。端末上のすべてのプログラムがプロキシ経由になるわけでもありません。グローバルに切り替えた後は、対応するグループで目的の接続先が選ばれていることを確認してください。モードだけを変更して、グループの選択を確認しないままにしないでください。
「直接接続」では通常、クライアントに入ったリクエストを接続先へ直接送ります。比較確認には使えますが、プロキシ接続先が正常に動作していることの証明にはなりません。このガイドではルールモードのまま進めてください。モード、ノード、DNSを同時に切り替えないようにしましょう。設定を1つずつ変更すれば、アクセス結果が変化したときに原因を特定しやすくなります。3つのモードの詳しい違いは、使い方とモードの解説をご覧ください。
ステップ3:コアを起動して接続を有効にする
設定が選択され、モードと接続先も決まったら、クライアントのホーム画面またはステータス欄でコアが実行中か確認します。デスクトップクライアントによっては起動時にコアが動作しますが、「起動」または「接続」をクリックする必要があるものもあります。起動失敗のメッセージが表示された場合は、内容を記録し、スイッチを何度も押さないでください。コアが動作していないと、システムプロキシのアドレスが設定されていても、リクエストを受け取るプログラムがありません。
デスクトップ:システムプロキシを有効にする
Windows、macOS、Linuxのデスクトップ版では、通常「設定」画面に「システムプロキシ」のスイッチがあります。コアが実行中であることを確認してから、有効にしてください。クライアントがシステムのHTTPまたはHTTPSプロキシを、ローカルの待ち受けアドレスに設定します。初回の確認ではTUNをオフにし、ブラウザーで動作を確認しましょう。システムプロキシ、仮想ネットワークアダプター、DNSの設定を同時に変更すると、問題の原因を特定しにくくなります。
多くのクライアントでは、7890などの混合ポートが表示されますが、実際の値は現在の設定画面で確認してください。システムプロキシのポートは、クライアントの待ち受けポートと一致させる必要があります。これは端末内の接続口であり、リモートノードのポートではありません。サブスクリプションに記載されたサーバーポートをシステムプロキシに入力しないでください。ほかのツールが同じポートを使用している場合は、競合を解消してから関連設定を合わせます。詳しくはトラブル対処ガイドのポートに関する説明をご覧ください。
macOSでネットワーク設定の変更や補助サービスの利用を求められた場合は、要求がインストールしたクライアントから出ていることを確認し、アプリの説明に従って許可してください。Linuxではデスクトップ環境によってシステムプロキシの適用方法が異なり、独自のネットワーク設定を使うアプリもあります。そのため、スイッチを有効にしただけでは、すべてのアプリが設定に従うとは限りません。ブラウザー拡張機能が別途プロキシを管理している場合は、設定が競合しないよう、拡張機能のプロキシ機能を一時停止してください。
モバイル端末:システムの接続要求を許可
AndroidとiOSでは通常、クライアントのホーム画面にある起動または接続ボタンからシステムVPNを確立します。初回のタップ後にシステムの接続許可画面が表示されたら、アプリ名と説明を確認して許可し、クライアントに戻って状態を確かめてください。システムのVPN接続はプロキシ通信を運ぶためのもので、クライアントがリモートサービスを提供するわけではありません。アクセスできるかどうかは、追加した設定と接続先によって決まります。
ほかのVPNまたはプロキシアプリが接続中の場合は、まずそのアプリで切断してから、現在のクライアントを起動してください。モバイルOSでは通常、同時に使えるVPN接続に制限があるため、アプリを何度も切り替えると接続が置き換わることがあります。Androidで省電力機能によりバックグラウンド動作が制限される場合は、まずクライアントを前面に表示したまま動作を確認し、必要に応じてバッテリー設定を調整します。iOSではアプリの接続を維持し、オンデマンド接続などの追加設定はひとまず有効にしないでください。
TUNモードは、より多くのアプリの通信を取り込む必要がある場合に使います。権限、ルーティング、DNSの動作に関わることがあり、ブラウザーで基本動作を確認するだけなら必須ではありません。まずは現在の方法で次の手順に進んでください。システムプロキシに従わないアプリがある場合は、すべてのスイッチを一度に有効にするのではなく、トラブル対処ガイドで該当する症状を確認しましょう。
ステップ4:実際のリクエストと終了後の復元を確認
クライアントを起動したまま、ブラウザーで動作確認用のHTTPSページを開きます。アクセス結果を明確に確認できるページを選び、実際に再読み込みしてください。同時にクライアントの「接続」または「ログ」画面を開き、先ほどアクセスしたドメインに関する新しい記録があるか確認します。キャッシュ済みのページが表示されただけでは、今回のリクエストがクライアントを経由したとは判断できません。必要であれば、まだ開いていない別のページで確認してください。
リクエストの結果と適用ルールを照合
接続の詳細画面で、対象ドメイン、適用されたルール、実際に使われたプロキシグループまたは接続先を確認します。ルールモードで一部のアドレスがDIRECTと表示されるのは正常です。重要なのは、結果が設定の想定と一致しているかどうかです。Webページが開けるだけでは、プロキシ経由かどうかは判断できません。接続先を確認するページに特定のアドレスが表示されても、すべてのアプリが同じ経路を使っているとは限りません。実際のリクエストとクライアントの記録を照合すると、より確実に判断できます。
ブラウザーに「プロキシサーバーに接続できません」と表示された場合は、まずコアが動作中か確認し、システムプロキシのローカルアドレスとポートを調べます。ブラウザーのリクエストがクライアントにまったく記録されない場合は、拡張機能が通信を制御していないか、ブラウザー独自のプロキシ設定が使われていないか確認してください。記録はあるのにタイムアウトする場合、選択した接続先、アクセス先のサービス、またはネットワーク経路に問題がある可能性が高いです。クライアントを何度も再インストールするのではなく、ノードのタイムアウトに関するトラブル対処を確認してください。
ターミナルとブラウザーは分けて確認してください。多くのコマンドラインプログラムはデスクトップのシステムプロキシを参照せず、環境変数や専用オプションを使います。そのため、ブラウザーは正常でもターミナルが直接接続されることがあります。初回はブラウザーでの確認だけで十分です。コマンドラインでもプロキシを使う必要がある場合は、使用するツールの対応方法を確認して個別に設定してください。ターミナルの環境変数はクライアント終了後も残る場合があるため、必要に応じて別途解除します。DNSの名前解決に問題がある場合は、DNSのトラブル対処を確認してください。HTTPSエラーを回避するために証明書の検証を無効にしないでください。
動作確認後に自動起動を設定
接続が正常であることを確認したら、クライアントの「設定」で「自動起動」または「ログイン時に起動」を有効にできます。通常、この設定で制御されるのはアプリの起動タイミングだけです。システムプロキシも同時に有効になるとは限らず、モバイル端末で自動接続されるとも限りません。起動オプションの説明を一つずつ確認し、必要な機能だけを有効にしてください。デスクトップでは次回ログイン時に、クライアントが起動するか、設定が選択されたままか、プロキシの状態が想定どおりかを確認しましょう。
モバイル端末のバックグラウンド動作、オンデマンド接続、デスクトップの自動起動は、それぞれ異なる機能です。ときどき切断されるからといって、すべての権限を常に有効にしないでください。まず症状を確認し、必要なシステム設定を調整します。職場や学校の管理下にある端末では、既定のネットワークポリシーに従い、管理設定を上書きしないでください。
使用を終えるときは接続を切ってから終了
デスクトップで使用を終える際は、まずクライアントの「システムプロキシ」をオフにしてから終了します。モバイル端末では「切断」をタップしてからアプリを閉じてください。これにより、停止したローカルポートにシステムのリクエストが送られるのを防げます。終了後、普段直接アクセスできるページを開き、通常のネットワークが使えることを確認します。クライアントが予期せず終了してネットワークが切れた場合は、システムのネットワーク設定にローカルを指すプロキシが残っていないか確認してください。元の値を記録してから、今回の変更を元に戻します。
これで基本設定の手順は完了です。設定を選択し、モードと接続先を決め、接続を有効にしたうえで、クライアント上で実際のリクエストを確認できました。今後トラブルが起きた場合は、使用中のプラットフォームとクライアント名、現在のモード、エラー内容、直近で変更した設定を記録し、症状に合ったClashのトラブル対処ガイドを参照してください。スクリーンショットを共有する前に、サブスクリプションURLや個人情報を隠し、必要なエラー文だけを残しましょう。