全プラットフォームガイド · インストールと設定
Clash 全プラットフォーム
導入・設定ガイド
デバイス別の導入手順や、ネットワークの各層から接続問題を確認できます。プラットフォームごとの違い、権限、設定の解説を掲載しています。まず接続を試したい場合はクイックスタートガイドから始め、必要に応じて該当する章を参照してください。
1. Clashの導入前に確認すること
クライアント、コア、サブスクリプションの違い
クライアントは画面の表示や設定の保存、コアの起動、システム権限の取得を担います。コアはルールの解析、プロキシ接続の確立、DNS処理を担当します。サブスクリプションは設定を受け取る方法で、通常はノード、グループ、ルールを含みますが、プロキシ一覧だけの場合もあります。この3つは別のものです。クライアントをインストールしただけではプロキシを利用できず、リンクを追加しても、記載されたすべての項目が現在のコアで使えるとは限りません。
新規導入の場合は、まずインストーラーページからClash Plusを選び、必要に応じて他のクライアントと比較してください。Clash for Windowsは開発終了のため、既存環境の参照用として掲載しています。以前の手順に慣れていても、メンテナンス状況を確認して選びましょう。クライアントによってボタン名は異なります。本ガイドでは「設定管理」「プロキシ選択」「通信の取り込み」の流れで説明します。ProfilesやProxiesなどの英語表記は、現在の画面で該当する項目を探してください。
デバイスのアーキテクチャと設定の入手元を確認
ダウンロード前に、OS、プロセッサのアーキテクチャ、ソフトウェア要件を確認します。パソコンはメーカー名だけでアーキテクチャを判断できず、スマートフォンもAndroidのバージョンだけではインストールパッケージの種類を判断できません。ダウンロードページにあるプラットフォームとアーキテクチャを、デバイスの情報に合わせて選んでください。既存のクライアントを更新する前に、使用中のクライアント名、設定の入手元、通信の取り込み方法を記録し、必要な設定をエクスポートしておくと、移行の問題をネットワークの問題と混同せずに済みます。
サブスクリプションリンクには、アカウントへのアクセス情報が含まれることがあります。必ず自分のサービスアカウントから取得してください。リンク全体を公開コメント、スクリーンショット、ログ共有サイトに載せないでください。追加する前に、サービスの説明でClashまたは使用するクライアントに対応した形式か確認します。通常のWebページ、ログインページ、別のソフト専用のリンクではないことも確認してください。サービスの期限切れ、データ容量の超過、リンクのリセットも、設定の取得やノードへの接続に失敗する原因になります。こうした問題はクライアントを再インストールしても解決しません。
通信の入口と、それぞれの適用範囲を理解する
| 方式 | 対象 | 注意点 |
|---|---|---|
| システムプロキシ | システムプロキシ設定に従うアプリ | すべてのアプリが利用するとは限らない |
| 明示的プロキシ | プロキシアドレスを設定できる個々のアプリ | アドレス、ポート、プロキシプロトコルを一致させる |
| TUN | 仮想ネットワークインターフェースとルーティングで取り込む通信 | 権限、ルーティング、DNSの連携が必要 |
初回設定では、まずシンプルな方式から試すのがおすすめです。デスクトップではローカルプロキシのポートとシステムプロキシを確認し、システム設定に従わないアプリがある場合にTUNを検討します。モバイル端末では通常、システムのVPNインターフェースを使って通信を取り込みます。VPNアイコンはローカルで通信を取り込んでいることを示すもので、クライアントが外部のサービスを提供しているという意味ではありません。TUN自体はプロキシモードではなく、有効にした後もRule、Global、Directで通信方針を決める必要があります。
決まった手順で初回接続を確認
クライアントをインストールして起動し、設定を追加して選択、プロキシグループを確認、通信を取り込む方式を1つ有効化し、最後に実際のアプリでテストするのがおすすめです。各段階で確認できる結果を残しましょう。設定名が表示される、プロキシグループを選べる、コアが正常に動作する、接続ログでリクエストを確認できる、といった点が目安です。タスクトレイのアイコンやシステムのVPN表示だけでは、外部への接続が成功したとは判断できません。また、成功率を上げようとして複数のクライアントを同時に起動しないでください。
まず通常どおり直接アクセスできるサイトを開き、基本のネットワーク接続を確認してから、プロキシが必要な宛先にアクセスします。続いて、どのルールに一致し、どのプロキシが選ばれたかを確認してください。プロキシの選択に成功しても、名前解決が正常とは限りません。ブラウザーで接続できても、コマンドラインがプロキシを使っているとは限りません。各段階を分けて確認すれば、問題の範囲を絞り込めます。失敗のたびにDNS、ポート、ノードをまとめて変更する必要はありません。
クライアントを終了する前に、設定したシステムプロキシや通信の取り込みを解除してください。特に別のクライアントへ切り替える場合は重要です。画面いっぱいのノード一覧を撮影するより、正常時のポート、プロキシ選択、通信の取り込み方法を記録しておくほうが、後のトラブルシューティングに役立ちます。以降の章も同じ確認手順に沿って、プラットフォームごとのインストール、権限、バックグラウンド動作の違いを説明します。
2. Windowsへの導入、システムプロキシ、TUN
インストーラーを選んで初回起動
Windows用インストーラーでは、まずClash Plusを選んでください。Clash Verge Rev、FlClash、Clash Nyanpasuも選択できます。Clash for Windowsは開発終了のアーカイブクライアントとして掲載しています。ダウンロード前に「設定 → システム → バージョン情報」でシステムの種類を確認し、ダウンロードページに記載されたアーキテクチャを選びましょう。x64とARM64は自由に置き換えられる表記ではありません。
インストーラー形式の場合は、ウィザードに従ってインストールします。圧縮ファイルの場合は、固定のフォルダーに展開してからメインプログラムを起動してください。圧縮ソフトの一時フォルダーから直接実行しないでください。初回起動時にセキュリティ警告が表示されたら、ファイルの入手元と発行元を確認します。システムの保護機能をすべて無効にして対処するのは避けてください。通常の画面操作に常時管理者権限は不要です。一方、サービスのインストール、仮想ネットワークアダプター、ルートの変更には別途許可が必要になる場合があります。
サブスクリプションを追加し、使用中の設定を確認
設定管理画面を開き、サービスから提供されたサブスクリプションURLを貼り付けて追加します。Clash for Windowsでは、Profilesのダウンロード機能に相当します。追加後は設定を選択し、コアの読み込みを待ってください。設定名だけが表示され、プロキシグループがない場合は、まず解析ログを確認します。取得した内容がログインページではないか、またプロキシ一覧だけのファイルを完全な設定として使っていないかを確認してください。エラーを確認せずに何度も追加を繰り返さないでください。
プロキシまたはプロキシグループの画面を開き、通常はルールモードを選択して、手動選択のグループから利用可能なプロキシを指定します。自動選択グループの結果は、設定内のテスト先やパラメーターに左右され、すべてのWebサイトへの接続を保証するものではありません。対象のアプリを開いた後、接続ログに一致したルールと接続先が記録されているか確認します。新しい記録がない場合は、すぐにプロキシを変えるのではなく、アプリがローカルプロキシへ接続しているかを先に確認してください。
まずシステムプロキシでローカルポートを確認
クライアントに表示されたHTTPまたはmixedの待ち受けポートを確認してから、System Proxyを有効にします。例にある7890は、すべてのクライアントで共通の固定値ではありません。現在の設定を確認してください。Windowsのシステムプロキシ、ブラウザー独自のプロキシ拡張機能、アプリ内のプロキシ設定が同時に有効になっていることがあります。テスト時は、入口を1つに絞りましょう。LANアクセスの許可は、端末自身がインターネットを利用するために必須ではありません。共有しない場合は無効にしておいてください。
curl.exe --proxy http://127.0.0.1:7890 https://example.com/
次のコマンドは、ローカルの待ち受けポートが7890で、HTTPプロキシに対応している場合に限って使用してください。プロキシを明示的に指定するため、アプリがシステム設定を参照するかどうかの違いを回避できます。ローカルポートに接続できない場合は、コアの動作、待ち受けアドレス、ポートの競合を確認してください。ローカルプロキシには接続できるが外部へ接続できない場合は、プロキシ選択、サービスの状態、DNSを確認します。ターミナルがシステムプロキシを自動的に使うかどうかは、ツールによって異なります。
TUNが必要な場合はサービスと権限を確認
対象のアプリがシステムプロキシに従わない場合や、特定のUDP通信を取り込みたい場合に、クライアントの手順に従ってサービスをインストールし、TUNを有効にします。旧版Clash for WindowsではService ModeとTUN Modeを個別に確認してください。他のクライアントも独自のサービス機構を使う場合があります。権限を許可した後、仮想インターフェース、ルート、DNS設定が反映されているかを確認します。画面上で有効になっているだけでは、実際の接続を確認したことにはなりません。
企業VPN、仮想マシン、コンテナネットワーク、他のプロキシがルートを変更することがあります。TUNを有効にした後にLAN内の機器へ接続できなくなった場合は、まずTUNを無効にして比較し、プライベートネットワークの除外設定と既存のルートを確認してください。用途の分からない仮想ネットワークアダプターを削除しないでください。スリープ復帰後に接続できない場合は、まずコアを再起動して通信の取り込みを有効にし直します。繰り返し発生する場合は、ログでインターフェースの変化を確認してください。
終了後に残る設定と旧クライアントからの移行
クライアントが異常終了した後、ブラウザーにプロキシサーバーへ接続できないと表示された場合は、Windowsの「ネットワークとインターネット」のプロキシ設定を開き、停止したローカルポートが指定されたままになっていないか確認します。まずシステムのネットワーク設定を元に戻し、その後クライアントを再起動してください。「設定を自動的に検出する」「セットアップスクリプト」「手動プロキシ」を無計画に切り替えないでください。特に組織管理のデバイスでは、元の値を記録し、管理者が配布した設定を上書きしないようにします。
Clash for Windowsから移行する場合は、元のサブスクリプションを再度追加し、ルールや上書き設定を1つずつ移行してください。新しいクライアントのデータフォルダーをそのまま上書きするのは避けましょう。コアの違いにより古い項目が使えなくなることがあり、TUNのパラメーターも異なる場合があります。まず新しいクライアントを標準の通信方式で動作させ、その後で自動起動などの利便性に関わる設定を戻します。2つのクライアントを残す場合は、システムプロキシまたはTUNを同時に制御するのが1つだけになるようにしてください。
3. macOSへの導入、権限の許可、ネットワーク拡張機能
チップの種類に合わせてクライアントを選ぶ
Appleメニューの「このMacについて」を開き、Appleシリコン搭載機かIntelプロセッサ搭載機かを確認してから、macOS用インストーラーで対応するビルドを選択します。まずClash Plusをおすすめします。Clash Verge Rev、FlClashも選べます。ClashX Metaは開発終了のアーカイブクライアントです。古い記事で使われている画面に合わせて、すべてのクライアントに同じ手順を適用しないでください。
ダウンロードしたファイルがディスクイメージの場合は、開いて画面の指示に従い、アプリを「アプリケーション」フォルダーに移動してから起動します。ディスクイメージや一時ダウンロードフォルダーから直接実行すると、更新、補助コンポーネントの参照先、権限の記録に影響する場合があります。初回起動時にシステムによってブロックされた場合は、まず入手元とアプリの識別情報を確認し、「システム設定 → プライバシーとセキュリティ」に表示された案内を確認してください。権限を一括で変更したり、システムのセキュリティ機能を無効化するコマンドを先に実行したりしないでください。
プロキシの許可、補助サービス、ネットワーク拡張機能を区別する
macOSのクライアントは、ネットワークプロキシの変更、補助サービスのインストール、ネットワーク拡張機能の追加を求めることがあります。これらはそれぞれ異なる機能で、すべてのクライアントがすべてを使用するとは限りません。システムプロキシだけを有効にする場合と、TUNを実行する場合では、必要な権限が異なることがあります。許可のダイアログは、関連する操作を行った直後に表示され、アプリ名が一致することを確認してください。心当たりのないダイアログが表示された場合はキャンセルし、クライアントで操作をやり直して表示元を確認します。
ネットワーク拡張機能を許可する場所は、システムのバージョンやクライアントの実装によって異なります。アプリの案内に従ってシステム設定を確認してください。許可後にサービスの再接続やアプリの再起動が必要な場合があります。「拡張機能が許可された」ことと「プロキシに接続した」ことは別です。管理対象のMacでは、構成プロファイルがネットワーク拡張機能を制限している場合があります。その際はデバイス管理の方針に従い、インストールの繰り返しや権限の回避を試みないでください。
設定を追加し、プロキシ選択を確認
設定画面でサブスクリプションリンクを追加し、使用する設定を選択します。リモートサブスクリプションとローカルファイルの両方に対応するクライアントでは、現在どちらを編集しているかを確認してください。ローカルファイルを編集しても、別のリモート設定が使われている場合があります。追加後はプロキシグループが表示されるか、ルールモードが選択されているかを確認し、利用可能なプロキシを選びます。更新に失敗しても既存の設定を残しておけば、元からあった接続問題と更新リクエストの問題を区別しやすくなります。
ブラウザーで対象のページを開き、接続ログを確認します。一部のアプリは独自のネットワーク設定を持ち、ブラウザー拡張機能がシステムプロキシを上書きすることもあります。ブラウザーでは接続できてもターミナルで失敗する場合は、コマンドにプロキシを明示してテストしてください。特定のアプリだけが失敗する場合は、アプリ独自のプロキシ、証明書、ネットワーク権限を確認します。1つのアプリで問題が起きても、すぐにシステム全体のDNSやネットワークサービスの順序を変更しないでください。
システムプロキシとTUNを分けてテスト
システムプロキシを有効にした後、現在のネットワークサービスのプロキシ設定でアドレスとポートを確認します。Wi-Fi、有線LAN、ドッキングステーションのネットワークを切り替えると、使用中のネットワークサービスが変わり、以前のプロキシ設定が新しいサービスに適用されない場合があります。クライアントのスイッチだけを見るのではなく、現在のネットワークを確認してください。システムプロキシは、その設定に従うアプリで有効になります。すべてのプロセスやプロトコルを取り込めるわけではありません。
TUNを有効にする前に、ルートを制御する他のツールを停止し、クライアントの補助サービスや拡張機能が正常に動作していることを確認します。TUNが機能しない場合は、無効にした状態との違いを確認してから、DNSとルートのログを調べてください。リモートデスクトップ、LANプリンター、ネットワークストレージに影響が出た場合は、LANの除外設定とプライベートアドレスのルールを確認します。1つのサイトを開くために、すべてのローカル通信を外部のプロキシに強制的に流さないでください。
アプリの異常やネットワーク切り替えに対処
「アプリが破損している」という表示だけでは、ファイルが本当に破損しているとも、安全性に問題がないとも断定できません。まずアーキテクチャの選択ミス、ダウンロードの完了状況、アプリの入手元を確認し、開発元のリリース情報を調べてください。隔離属性やシステム拡張機能に関わる操作は、影響範囲を理解してから行いましょう。詳しくはmacOSのネットワーク拡張機能とキーチェーンの設定を参照してください。ネット上で見つけたコマンド1行を、あらゆる警告に対する解決策として扱わないでください。
アップグレードや移行の前に、設定とカスタム上書きをエクスポートしてください。クライアントを切り替えるときは、旧クライアントのシステムプロキシを無効にして通信の取り込みを終了してから、新しいクライアントを有効にします。スリープから復帰した後、テザリングに切り替えた後、社内ネットワークに接続した後は、まず基本のネットワークとポータル認証の状態を確認してください。必要なら一時的にプロキシを切断して認証を完了し、その後に再接続します。ネットワークへの接続許可がまだない状態を、サブスクリプションやノードの問題と誤認せずに済みます。
4. Androidへの導入、VPNの許可、バックグラウンド動作
インストーラーとクライアントを選ぶ
Android用インストーラーでは、まずClash Plusを選んでください。Clash Meta for Android、FlClash、Surfboardも選択できます。インストール可能なアプリのABIはデバイスのアーキテクチャによって異なるため、スマートフォンの外観やプロセッサの宣伝名称だけで判断しないでください。インストーラーに互換性がない場合は、デバイス情報とダウンロードページに記載されたビルドの種類を確認します。同じパッケージを何度もダウンロードしたり、インストールの失敗をすぐにネットワーク遮断のせいにしたりしないでください。
ブラウザーやファイル管理アプリからインストールする場合、現在の入手元に対してインストールの許可が必要になることがあります。実際に使う入手元だけを許可し、必要に応じてインストール後に無効にしてください。インストーラーにアプリの競合が表示された場合は、同じパッケージ名で署名の異なるアプリがすでにないか確認します。旧アプリをアンインストールすると設定やローカルデータも削除される場合があるため、先にバックアップしてください。原因が分からないままデータを消去して、すべてのインストール警告に対処しようとしないでください。
形式を確認してからサブスクリプションを追加
設定管理を開き、リンクから追加する項目を選んで、自分のサブスクリプションを貼り付けて保存します。設定のダウンロード後は、リストに表示されるだけでなく、選択して有効にする必要があります。Clash Meta for Android、FlClash、Surfboardの設定形式は完全には共通していません。特に、Clash YAMLをそのままSurfboardの設定として読み込めるとは限りません。Surfboardを使う場合は、サービス提供元から対応形式を取得し、クライアントの手順に従ってください。
追加に失敗した場合は、リンクが完全か、余分な空白が入っていないか、取得した内容が想定した設定かを確認します。モバイル通信とWi-Fiで結果が異なる場合、接続中のネットワークのDNS、ポータル認証、接続制限が関係している可能性があります。エラー表示を保存してから、信頼できる別のネットワークでも試してください。トラブルシューティングのためにサブスクリプションリンクを公開の変換サイトへ貼り付けないでください。漏えいした場合は、サービスアカウントからリンクを再発行してください。
VpnServiceの許可とシステム上の状態を理解する
初めて通信の取り込みを開始すると、AndroidからVPN接続の要求が表示されます。Clash系クライアントは通常、VpnServiceでローカルの仮想インターフェースを作り、通信をコアに渡します。許可後にステータスバーへVPNアイコンが表示されるのは、インターフェースが作成されたことを示します。外部のプロキシに接続できたことを示すものではありません。設定が読み込まれているか、プロキシが選択されているか、対象のリクエストに応答があるかも確認してください。
通常の個人設定では、同時に有効にできるVPNサービスは1つです。会社のVPN、別のプロキシ、一部のVPNインターフェースを使うフィルタリングアプリが、使用中のクライアントと入れ替わる場合があります。起動直後に停止する場合は、システムで別のVPNが接続中でないかを確認してください。複数のアプリでインターフェースを取り合わないようにしましょう。社内ネットワークへの接続が必要な場合は、組織のVPN利用要件を確認してから、どの方法で通信を取り込むか決めてください。
必要な制限は残しつつ、バックグラウンド動作を設定
画面を消してしばらくすると接続が切れる場合は、システムのアプリ設定でバッテリー最適化、バックグラウンド実行、自動起動の権限を確認します。メーカーによって設定名や場所は異なるため、他の機種のメニュー手順をそのまま当てはめず、アプリのバッテリー管理画面を探してください。使用中のクライアントについては、必要に応じてバックグラウンド制限を緩和します。また、データセーバーがバックグラウンド通信を禁止していないか確認してください。画面点灯中だけ接続が回復する事態を避けられます。
フォアグラウンドサービスの通知は、通信の取り込み状態を維持するのに役立ちます。通知を隠すためだけに関連サービスを停止しないでください。最近使ったアプリの画面でのロックは、一部のシステムで補助的に役立つだけで、バックグラウンド権限の代わりにはなりません。それでも切断される場合は、画面オフ、ネットワーク切り替え、システムによる終了のどの後に発生するか記録して、ログを確認します。詳しくはAndroidのVpnServiceとバッテリー最適化の対象外設定を参照してください。症状に合わせて調整し、システムの制限をすべて無効にするのは避けましょう。
アプリごとのプロキシとネットワーク切り替え
アプリごとの通信取り込みに対応している場合は、「選択したアプリのみ」と「選択したアプリを除外」の違いを確認してください。両者の動作は逆です。設定を変更した後、インターフェースの設定を更新するために再接続が必要な場合があります。特定のアプリだけが接続できない場合は、まず除外対象になっていないかを確認し、次にルールとDNSを確認してください。システムのダウンロード機能、ブラウザー、アプリ内ブラウザーは別のプロセスを使うことがあります。アプリのアイコンだけで、すべてのリクエストが同じ経路を通るとは判断できません。
Wi-Fiからモバイルデータに切り替えると、既存の接続を作り直す必要がある場合があります。ネットワークが安定するのを待ってからクライアントを再接続し、新しいリクエストが通るか確認してください。ホテルや空港などWeb認証が必要なネットワークでは、先にポータルへログインします。「VPNを常時接続」と「VPNを使わない接続をブロック」が有効な場合、クライアントを切断している間は認証ページも開けない可能性があります。変更前に端末全体への影響を確認してください。
モバイル端末にデスクトップ向けのSystem Proxy設定をそのまま適用しないでください。Androidでは、通信を取り込む方法、権限の確認、バックグラウンドでのライフサイクルがデスクトップとは異なります。設定後は、アプリ使用中のアクセス、画面オフからの復帰、ネットワーク切り替えをそれぞれテストします。すべて正常に動作することを確認してから、アプリごとのルールなどを1つずつ追加すると、動作が変わった原因を特定しやすくなります。
5. iOSへの導入、サブスクリプション、トンネル接続
App StoreからClash Plusをインストール
iPhoneとiPadではClash Plusをおすすめします。まずiOSクライアントの案内を確認し、次にApp StoreのClash Plusページを開いてください。開発元の公式サイトはclashplus.ioです。ストアのシステム要件とアプリの説明を確認してから設定してください。検索結果に似た名前があるだけで、アプリの身元を判断しないでください。
iOSでは、アプリのネットワーク拡張機能とVPN設定をシステムが管理します。デスクトップのサービスインストールやポートによる通信の取り込み手順を、そのままスマートフォンに適用することはできません。本ガイドの流れは「対応設定の追加、プロキシ選択、システムトンネルの許可、実際のリクエストの確認」です。アップデートにより画面が変わることがあるため、古いスクリーンショットと同じ位置やアイコンを探すのではなく、現在の画面に表示された機能名に従って操作してください。
サブスクリプションを追加し、アカウント情報を保護
サービスアカウントから対応するサブスクリプションをコピーし、アプリの設定またはサブスクリプション管理画面に戻って貼り付け、保存します。Webページからアプリを起動して設定を読み込む場合も、移動後に入手元、設定名、内容を確認してください。アプリが開いただけで追加が完了したとは限りません。クリップボードへのアクセス確認が表示された場合は、自分のリンクをコピーしたことを確認してから許可し、別のテキストを設定として保存しないようにします。
サブスクリプションURLとWebサイトへのログインURLは通常異なります。ログインしないと見られないページのアドレスをコピーしても、ページの内容がダウンロードされるだけのことがあります。追加に失敗した場合は、形式とアカウントの状態を確認してから再読み込みしてください。URL全体にはアクセス情報が含まれる場合があります。公開メモや共有スクリーンショットに載せないでください。相談する際はエラーの種類と操作手順を説明し、URLに含まれる個人情報や認証情報を隠します。
VPN設定を許可して接続を開始
初めて接続するとき、VPN設定の追加を許可するか確認され、デバイスの認証が求められることがあります。これはシステムに通信の取り込み設定を登録する操作であり、デバイスのパスワードをサブスクリプションサービスへ渡すものではありません。許可後にアプリへ戻り、使用中の設定とプロキシグループを確認して接続を開始します。組織管理の端末、制限付き構成プロファイルのある端末、別のVPNが動作中の端末では、システムの方針が接続に影響する場合があります。
ステータスバーやコントロールセンターのVPNアイコンは、システムトンネルが有効であることを示します。ただし、ルール、DNS、外部サービスがすべて正常であることを単独で証明するものではありません。実際に対象へアクセスし、接続ログとプロキシ選択を確認してください。接続中の表示が続く場合は、まずアプリのエラーを確認し、次にシステムのVPN設定で競合する設定がないか調べます。同じ用途の設定を何度も追加して、後から原因を判断しにくくしないでください。
ルールモードとモバイルの通信取り込みを理解
日常利用では、設定内のルールに応じて直通かプロキシかを決めるルールモードから試してください。グローバルモードは、コアに入ったリクエストを全体のプロキシ設定に従って処理しますが、システムのすべての通信を取り込めるわけではなく、使えないノードを直す機能でもありません。直通モードは比較テストに適しています。各モードの違いはルール・グローバル・直通モードの解説を参照してください。切り替え後は新しい接続を確認します。古い接続を再利用しているページを更新するだけでは不十分な場合があります。
iOSのネットワーク拡張機能は、システムのライフサイクルと権限の制約を受けます。デスクトップと同じようにバックグラウンドで動作すると期待しないでください。アプリの画面を閉じることと、トンネルが停止することは同じではありません。接続が維持されているかは、システムとクライアントの状態で確認します。バッテリー残量の低下、ネットワークの変化、拡張機能の異常が起きた場合は、まずアプリ内で接続状態を確認し、トンネルを再接続してください。アプリの強制終了を何度も繰り返すのは避けましょう。
テザリング、ポータル認証、個別アプリの問題に対処
Wi-Fiからモバイル通信へ切り替えると、既存の接続が切れて再接続されることがあります。モバイルデータが利用でき、クライアントに必要なネットワーク権限があることを確認してから再接続します。テザリングで接続した他のデバイスの通信がスマートフォンのトンネルを通るかどうかは、システムとアプリの機能によって異なります。スマートフォンで通信できても、テザリング先の通信までプロキシ経由とは限りません。接続先のデバイスで個別に確認し、必要ならそのデバイスにもクライアントを設定してください。
Webログインが必要な公共ネットワークでは、まず認証を済ませてからトンネルを再接続します。特定のアプリだけが開かない場合は、ネットワーク権限、アカウントの状態、一致したルールを確認してください。モードの切り替えだけで判断しないでください。システムのプライバシー機能、既存の暗号化DNS設定、組織の管理設定も通信経路に影響することがあります。一度に変更する設定は1つにし、元の値を記録して、復元できる状態を保ちましょう。
別のデバイスへ設定を移すときは、新しいデバイスでサービスを利用できるか、システム要件を満たしているか確認してください。入手元が不明なアプリデータ一式をコピーするより、サブスクリプションを追加し直すほうが確認しやすくなります。追加後にプロキシ選択とオンデマンド接続の設定を確認してください。こうした端末ごとの設定がサブスクリプションに含まれるとは限りません。設定の配布とシステム権限の許可は別であり、権限はデバイスごとに必要です。
6. Linuxへの導入、デスクトッププロキシ、サービスの実行
デスクトップ利用とサーバー運用を区別
デスクトップで使う場合は、Linux用インストーラーからClash Verge RevまたはFlClashを選び、ディストリビューションとページに記載された形式に合わせてインストールします。サーバー、ルーター、プロセスを自分で管理する環境では、Mihomoコアを確認してください。GUIクライアントは設定パス、プロセス起動、一部の権限管理を担います。コアを直接導入する場合は、それらを自分で設定する必要があるため、トラブルシューティングの入口も異なります。
まずuname -mでマシンのアーキテクチャを確認し、ディストリビューション、パッケージ形式、依存関係の要件を照合します。拡張子が同じでも、すべてのディストリビューションで使えるとは限りません。RPMパッケージをDebianパッケージとしてインストールすることはできません。デスクトップアプリは通常のユーザーで実行してください。ネットワーク管理の権限が必要な場合は、クライアントが明示的に用意する許可方法を使いましょう。手軽さを理由に、デスクトップ環境全体を常にrootで実行するのは避けてください。
パッケージマネージャーでインストールし、出力を確認
インストール前にパッケージを保存したディレクトリへ移動し、ファイル名とアーキテクチャを確認してから、使用中のディストリビューションに対応するパッケージ管理ツールを使います。依存関係に関する表示が出たら、内容を読んでください。入手元の分からないライブラリをダウンロードして、システムのディレクトリに上書きしないでください。インストールに成功してもウィンドウが開かない場合は、ディスプレイセッション、グラフィック関連の依存関係、実行環境が原因の可能性があります。サブスクリプションが無効だと決めつけず、まずターミナルからアプリを起動し、実際のエラーを記録してください。
uname -m
cat /etc/os-release
ss -lntp
次のコマンドは、アーキテクチャ、ディストリビューション情報、TCPの待ち受け状態を確認するためのもので、プロキシを自動設定するものではありません。通常ユーザーで実行したssは、一部のプロセス情報を表示できない場合がありますが、ローカルポートが待ち受けているかは確認できます。出力を共有する前に、個人のパス、ホスト名、機密性のあるアドレスを隠してください。ポートが競合している場合は、使用中のサービスを特定してからクライアントのポートを変更するか判断します。用途が分からないシステムプロセスをそのまま終了しないでください。
設定の追加とデスクトッププロキシの設定
GUIクライアントで対応するサブスクリプションを追加し、設定を選択してプロキシグループを確認してから、必要な通信の取り込み方法を有効にします。Linuxのデスクトップ環境によってシステムプロキシの仕組みは異なります。デスクトップの設定を参照するアプリもあれば、環境変数だけを参照するアプリや、独自のプロキシ設定を持つアプリもあります。そのため、デスクトップのプロキシスイッチを有効にしても、ターミナルのコマンド、パッケージマネージャー、バックグラウンドサービスが同じ設定を自動的に使うとは限りません。
curl --proxy http://127.0.0.1:7890 https://example.com/
export http_proxy=http://127.0.0.1:7890
export https_proxy=http://127.0.0.1:7890
ローカルポートが7890で、HTTPプロキシに対応している場合に限り、次の例を使ってください。環境変数が影響するのは、現在のシェルから後で起動する、かつ該当する変数に対応したプロセスです。すでに動作中のアプリにはさかのぼって適用されません。https_proxyのプロキシアドレスにHTTPを指定しても問題ありません。これはプロキシまでの接続方式を表すものです。テスト後はunset http_proxy https_proxyで現在のセッションの設定を解除できます。
TUNでは権限、ルート、DNS管理を確認
LinuxのTUNでは通常、仮想インターフェース、ルートテーブル、関連するネットワーク権限が必要です。GUIクライアントにサービスモードが用意されている場合があります。コアを直接実行する場合は、導入環境に合わせて権限を設定してください。他のOS向けのパラメーターをそのまま流用しないでください。有効化後はインターフェースとルートが作成されたことを確認し、次にDNSリクエストの経路を調べます。コンテナ、ネットワーク名前空間、ホストはそれぞれ異なる範囲です。コンテナ内で起動しただけでは、ホストの通信は取り込まれません。
NetworkManager、systemd-resolved、ディストリビューション付属のツールが、DNSを共同で管理している場合があります。/etc/resolv.confを直接上書きすると、ネットワーク切り替え時に再生成されたり、既存のシンボリックリンクを壊したりすることがあります。まずファイルの管理元を確認し、対応する仕組みで変更してください。SSHで遠隔操作している場合は特に注意が必要です。デフォルトルートやファイアウォールを変更する前に、現在の接続を維持し、別の復旧手段を用意してください。管理用の接続まで切断するおそれがあります。
コアを直接実行する場合は設定ディレクトリを明確に
Mihomoを使う場合は、設定ファイル、ルールデータ、実行ディレクトリの保存先を明確にします。コアを実行可能なパスに配置し、自分の設定を固定のディレクトリへ保存して、まずフォアグラウンドで動作を確認できます。以下はユーザー設定ディレクトリを使う例です。ディレクトリを作成し、有効なconfig.yamlを用意してあることが前提です。テストに成功してからサービス化してください。バックグラウンドで再起動すると、実際の設定解析エラーが分かりにくくなることがあります。
mihomo -t -d "$HOME/.config/mihomo"
mihomo -d "$HOME/.config/mihomo"
長時間動作させる場合はシステムサービスでプロセスを管理できますが、実行ユーザー、作業ディレクトリ、設定パス、必要な権限を明確にしてください。サービスの起動成功は、プロセスが開始したことを示すだけです。コアのログで設定の読み込みが完了したかも確認します。設定を変更した場合は、構文を検証してから導入方法に合わせて再読み込みしてください。サービス停止後は、サービスが設定したルートやプロキシも元に戻します。実行ファイルを削除しただけでネットワークの状態が復元するわけではありません。
7. 設定ファイル、DNS、接続問題のトラブルシューティング
最小構成で各項目の役割を理解
設定に問題がある場合は、まず構文エラーと機能の非互換を区別します。YAMLではインデントが重要で、通常はタブではなくスペースを使います。同じ階層の項目はインデントを揃え、リストの各項目にはハイフンを付けます。構文解析に成功しても、現在のコアがすべての機能に対応しているとは限りません。以下の例は、ローカルの接続口、モード、最後に評価されるルールを理解するためのものです。直通のみで外部のプロキシは含まないため、利用可能なノード設定として使わないでください。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
rules:
- MATCH,DIRECT
mixed-portはHTTPとSOCKSに対応するローカルの混合ポートを提供します。allow-lanは関連する待ち受けへのLANアクセスを許可するかどうかを制御しますが、実際に接続できるかはバインドアドレスとファイアウォールにも左右されます。modeはルールの処理方法を決めます。ルールは上から順に評価され、MATCH,DIRECTは最後のフォールバックとして直通にします。独自のルールはフォールバックより前に追加してください。後ろに置くと、すでに一致したリクエストには適用されません。
サブスクリプションの更新とMixin上書きを分けて管理
リモートサブスクリプションは元データとして残し、個別の項目はクライアントが対応するMixin、マージ、上書き機能で管理するのがおすすめです。配列を追加するのか、置き換えるのか、独自の方法でマージするのかはクライアントによって異なり、機能名だけで動作を判断できません。特にルール一覧やプロキシグループでは、誤ったマージにより存在しないグループ名が参照されたり、フォールバックの位置が変わったり、グループ定義全体が上書きされたりすることがあります。変更後は編集画面だけでなく、最終的に有効な設定を確認してください。
更新後に問題が起きた場合は、すぐに全データを消去せず、更新前後の設定と上書きを比較します。サブスクリプションでプロキシグループ名が変わり、独自ルールが古い名前を参照したままだとエラーになります。自動プロキシグループの設定は用途に応じて選んでください。詳しくはurl-test、fallback、load-balanceの比較を参照してください。問題を戻す場合は、まず最近追加した上書きを無効にし、その後1つずつ確認して原因の範囲を絞ります。
DNSサーバーを変更する前に名前解決の経路を確認
DNSエラーは、システム、アプリ、コア、リモート側のいずれでも発生する可能性があります。ドメイン名では開けず、既知のIPアドレスには接続できる場合も、特定のDNSサーバーが故障している証拠とは限りません。ログを見て、名前解決の失敗、ローカルの接続口の失敗、リモート側のタイムアウトのどれかを確認し、DNSリクエストがコアに届いているか調べます。アプリ内蔵の暗号化DNSは別の経路を使うことがあります。また、TUNのDNSハイジャック設定が、すべての暗号化DNSを自動的に取り込むとは限りません。
fake-ipは合成アドレスを使ってコアにドメイン名との関連を保持させる方式で、リモートサイトの実際のアドレスではありません。redir-hostは異なるマッピング方式を使うため、互換性の傾向も異なります。LAN内のドメイン名や特定のアプリに問題がある場合は、症状に応じてフィルタリングと名前解決の設定を確認してください。パブリックDNSを次々と変更するだけでは解決しません。nameserver、fallback、フィルタリングルールの組み合わせはClashのDNS設定ガイドを参照し、変更前に現在のコアが該当項目に対応していることを確認してください。
リクエストの流れに沿って確認
| 症状 | 最初に確認する項目 | 確認方法 |
|---|---|---|
| ローカルプロキシへの接続が拒否される | コア、待ち受けアドレス、ポート | 待ち受け状態を確認し、プロキシを明示してテスト |
| 接続ログにリクエストが表示されない | アプリの接続経路、システムプロキシ、ルート | 通信の取り込み方法を1つにして、新しいリクエストを送信 |
| リクエストに誤ったプロキシが選ばれる | ルールの順序とグループ名 | 一致したルールと最終的な接続先を確認 |
| プロキシ経由でタイムアウトする | サービスの状態、リモート接続、名前解決 | 利用可能なプロキシを明示的に選び、ログを比較 |
基本のネットワークを確認してから、ローカルの接続口、設定の読み込み、ルール、リモート接続、DNSの順に調べます。一度に変える項目は1つにし、同じ宛先で繰り返しテストしてください。ブラウザーは名前解決の結果をキャッシュし、接続を再利用することがあります。モードを切り替えた後は新しい接続を開始してください。そうしないと、古い経路のままに見えることがあります。ログの詳細度を一時的に上げた場合は、確認後に元へ戻します。共有する際は、サブスクリプション、認証情報、個人のアクセスを特定できる情報を削除してください。
よくある設定問題への対処
サブスクリプションの取得に成功したのに、なぜ接続できないのですか?
取得に成功したということは、内容を受信できたというだけです。設定が選択されているか、コアが正常に読み込んだか、プロキシグループに利用可能な接続先があるか、プラットフォームに合った通信の取り込み方法が有効かを確認してください。最後に接続ログでリクエストの経路を確認します。サブスクリプション一覧の更新日時だけでは判断できません。
グローバルモードにしても、なぜ問題が解消しないのですか?
グローバルモードで変わるのは、コアに届いたリクエストのプロキシ選択です。プロキシに入っていないアプリ、停止中のサービス、ローカルポートのエラーは修復できません。まずプロキシの入口を明示してテストし、次にグローバル設定で選ばれた接続先を確認します。通常の振り分けに戻す場合は、ルールモードへ切り替えてください。
クライアントの終了後にネットワークへ接続できない場合、何を確認すればよいですか?
デスクトップでは、まずシステムプロキシがローカルポートを参照したままになっていないか確認し、次にTUN、ルート、DNSが元に戻っているかを確認します。モバイル端末ではVPNの状態と、VPNを経由しない接続をブロックする設定を確認してください。組織のネットワーク設定は保持し、ネットワーク全体をリセットしないでください。
確認手順を最初から整理したい場合は、クイックスタートガイドに戻り、順番に操作してください。クライアントを切り替える場合は、インストーラーページで対応プラットフォームとメンテナンス状況を確認します。設定は少しずつ変更し、いつでも戻せるようにしておきましょう。元のサブスクリプションを残し、ローカルでの変更を記録し、旧クライアントの通信取り込みを終了してから新しい設定を有効にします。