Windows
Clash Plus、Clash Verge Rev、FlClashなどから選べます。普段のブラウジングには、まずシステムプロキシを有効にしてください。ゲームやコマンドラインのアプリがシステムプロキシを参照しない場合は、TUNでの通信取り込みを検討します。インストール前にシステム情報でCPUの種類を確認し、アップデート後もサービスモードが使えることを確かめましょう。
ダウンロードページへプラットフォーム別にクライアントを選び、mihomoコア、YAMLの設定項目、ルールによる振り分けを順に確認できます。
まず項目が属する設定階層を確認し、設定例と照らし合わせましょう。例は構造の参考であり、完全なサブスクリプションの代わりにはなりません。
CORE / mihomo
mihomoはClashエコシステムのプロキシコアです。設定の読み込み、接続の受け付け、ルールの照合、外部への接続を担います。一方、クライアントはサブスクリプション管理、トレイメニュー、システム連携などを提供します。両者は異なる役割です。オリジナルのClash、Clash Meta、mihomoには系譜上のつながりがありますが、新しい項目が古いコアで認識されるとは限りません。設定の問題を調べる際は、まずクライアントが実際に使用しているコアを確認し、項目の対応状況を調べてください。例の混合ポートはHTTPとSOCKSのリクエストを受け付けます。ローカル環境だけで使う場合は、LANからのアクセスを無効にしておきましょう。
共通項目を確認 →# トップレベルの共通項目
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
ipv6: false
ROUTING / rules
ルールモードでは、リストの上から順に接続を確認し、一致したルールのポリシーを適用します。より具体的なルールを後から探すことはありません。ドメインサフィックスのルールはサイトの分類に、IP関連のルールはアドレス範囲の処理に適しています。MATCHは通常、最後に置いて他のルールに一致しない通信を処理します。例のProxyは、定義済みのプロキシまたはプロキシグループ名に対応させてください。DIRECTは組み込みの直接接続ポリシーです。グローバルモードと異なり、ルールモードでは宛先ごとに異なる経路を選べます。変更時は具体的なルールを先に、広い範囲を対象とするルールを後に配置しましょう。意図した結果にならない場合は、選択中のノードだけでなく、接続ログに表示されるマッチしたルールを確認してください。
ルール構文を確認 →# Proxy は完全な設定内で定義する必要があります
mode: rule
rules:
- DOMAIN-SUFFIX,github.com,Proxy
- GEOIP,CN,DIRECT
- MATCH,Proxy
NETWORK / tun
TUNは仮想ネットワークインターフェースとルーティング設定を使い、条件に合う通信をコアへ送ります。システムプロキシを参照しないアプリにも適しています。変更するのは通信をコアへ取り込む方法であり、すべての接続がプロキシ経由になるわけではありません。最終的な処理はモードとルールで決まります。有効にする前に、クライアントのサービスやシステム権限が準備できていること、ほかのVPNが同じリソースを使用していないことを確認してください。auto-routeはルートの自動設定に、dns-hijackは指定したDNSリクエストの取り込みに使います。この例はDNSの完全な設定と組み合わせて使う必要があります。利用できる項目はOSとコアの対応状況によって異なります。
TUNのしくみと設定を見る →tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
PROFILE / merge
サブスクリプションはリモート設定の取得に使い、オーバーライドは待ち受けポート、ログレベル、追加ルールなどのローカル設定を保持するために使います。ダウンロードしたサブスクリプションファイルを直接編集すると、次回の更新で変更が失われることがあります。クライアントにオーバーライド機能がある場合は、そちらを優先してください。マッピング、リスト、スクリプトのマージ方法はクライアントによって異なり、新しいルールが必ず末尾に追加されるとは限りません。右側の例は、マージ前のYAML断片であり、汎用的なオーバーライド形式ではありません。保存前に生成後の設定を確認し、項目の重複がないこと、インデントが正しいことを確かめ、更新前の設定も利用できる状態で保存しておきましょう。
オーバーライドとマージを確認 →# クライアントのオーバーライド機能で、仕様に沿ってマージ
mixed-port: 7890
allow-lan: false
mode: rule
log-level: warning
# 完全な設定にはプロキシとポリシーグループも必要
CLIENT / integration
同じコアを使うクライアント間では、主要なYAML項目を共有できることが多い一方、システムプロキシ、バックグラウンド動作、仮想ネットワークインターフェース、アプリ単位の除外設定はプラットフォームとの連携に左右されます。移行時はまず設定を読み込み、システム権限を個別に確認してください。以前の端末のインターフェース名やファイルパスをそのままコピーしないでください。デスクトップではトレイから接続を管理でき、モバイルではシステムのVPN許可が必要です。クライアントを選ぶ際は、CPUアーキテクチャ、インストーラー形式、メンテナンス状況も確認しましょう。右側の共通項目は比較の出発点として使えます。ローカル待ち受けやLAN共有については、実際の利用範囲に合わせてアクセスを許可するか判断してください。
クライアントの選び方を見る →# 移行時は共通の動作を確認
mode: rule
allow-lan: false
log-level: info
# システムプロキシとVPNの許可
# 使用するクライアントの画面で設定
設定を確認するときは、「入口 → モード → ルール → ポリシー → 外部接続」の順に追うと整理しやすくなります。ポートとTUNは接続をコアへ取り込む方法を決め、modeは処理方法を、rulesは通信に適用するポリシーを決めます。各段階を分けて確認すれば、複数のスイッチを一度に変更するより原因を特定しやすくなります。
まずOSとCPUアーキテクチャを確認し、画面、通信の取り込み方法、メンテナンス状況を比較しましょう。
Clash Plus、Clash Verge Rev、FlClashなどから選べます。普段のブラウジングには、まずシステムプロキシを有効にしてください。ゲームやコマンドラインのアプリがシステムプロキシを参照しない場合は、TUNでの通信取り込みを検討します。インストール前にシステム情報でCPUの種類を確認し、アップデート後もサービスモードが使えることを確かめましょう。
ダウンロードページへApple SiliconとIntelでは対応するインストーラーが異なります。「このMacについて」でチップ情報を確認してください。初回起動時はシステムの案内に従って許可を与え、その後メニューバーの状態とネットワークのプロキシ設定を確認しましょう。クライアントを切り替える際は、システムプロキシを複数のアプリが同時に変更しないよう、古いアプリを終了してから操作してください。
ダウンロードページへClash Plus、Clash Meta for Android、FlClash、Surfboardを比較し、設定形式とコアの対応機能の違いを確認しましょう。初回接続時はVPNリクエストを許可してください。画面ロック後に接続が切れる場合は、バッテリー最適化、バックグラウンド動作、自動起動の権限を確認します。サブスクリプションを何度も再インストールする必要はありません。
ダウンロードページへダウンロードページにはClash PlusのApp Storeへのリンクと、公式サイトclashplus.ioを掲載しています。インストール後、対応する設定を読み込み、システムの案内に従ってVPN構成を追加してください。モバイルOSではバックグラウンドのネットワーク拡張機能を独自に管理するため、デスクトップ向けのサービスインストール手順はスマートフォンには適用できません。
ダウンロードページへデスクトップではClash Verge RevまたはFlClashを選び、ディストリビューションに合ったパッケージ形式を使います。サーバーやルーターで使う場合はmihomoコアの導入先を確認し、起動サービス、設定ディレクトリ、権限を自分で管理してください。デスクトップのプロキシ設定が、ターミナル内のすべてのプロセスに引き継がれるとは限りません。
ダウンロードページへインストーラーはアプリを提供し、サブスクリプションはプロキシ設定を提供します。互いに代用はできません。インストール後、信頼できる提供元から入手した、クライアントに対応する設定を読み込む必要があります。このナレッジベースはソフトウェアの入手先と設定項目を案内するもので、プロキシサービスは提供していません。クライアントをダウンロードしただけで、利用可能な接続先が自動的に作られるわけではありません。サブスクリプションURLにはアカウント権限が紐づくことが多いため、スクリーンショットやログを共有する前にURL全体を隠してください。
Clash for Windowsは開発が終了しています。古い解説の確認や既存設定の移行には役立ちますが、名前に馴染みがあるという理由だけで、新しい端末の標準クライアントにするのはおすすめできません。移行時はサブスクリプションURLとカスタムルールを保管し、新しいクライアントが生成した設定を確認してください。特定のプロトコルに対応するかどうかは、アプリ名にClashが含まれるかではなく、実際のコアとクライアントの連携で決まります。
すべてのクライアントを見る →まず接続をひとつ確認してから、振り分け、オーバーライド、TUNを設定しましょう。
クライアントの設定管理画面でサブスクリプションURLを追加するか、ローカルのYAMLファイルを読み込みます。ダウンロードと解析が完了したら、その設定を現在の構成として選択してください。解析エラーが表示された場合は、まず該当行を確認し、ネットワークリクエストの失敗とYAMLの構文エラーを切り分けます。対処方法はそれぞれ異なります。
サブスクリプションにはノード、ポリシーグループ、ルールが含まれる場合もあれば、ノード一覧だけの場合もあります。読み込みに成功しても、設定全体が揃っているとは限りません。まず画面に選択可能なポリシーがあることを確認してから接続を有効にしてください。Base64文字列を完全なYAMLとしてそのまま保存しないでください。
普段はルールモードから始め、該当するポリシーグループで利用可能な接続先を選び、システムプロキシまたはモバイルのVPN接続を有効にします。グローバルモードでは、コアに取り込まれた通信をグローバルポリシーに渡します。直接接続モードはプロキシを経由せずに接続するための設定です。これらは通信速度の設定ではありません。
システムプロキシとTUNは通信の入口、ルールとグローバルは処理モードです。ブラウザーは使えるのに他のアプリが接続できない場合は、まずそのアプリがシステムプロキシに従うか確認し、必要に応じてTUNを検討します。一度に変更する条件はひとつにし、変更前の状態を記録してください。
プロキシが必要な宛先にアクセスし、接続画面で宛先ドメイン、マッチしたルール、ポリシーグループ、実際の接続先を確認してください。VPNやトレイのアイコンが表示・変化しただけでは、すべてのアプリが意図した経路を使っている証拠にはなりません。該当する接続ログを根拠に判断しましょう。
ログがない場合は、まず通信の入口を確認します。誤ったポリシーが適用されている場合はルールの順序を確認し、ポリシーが正しいのに接続できない場合は接続先とDNSを調べます。動作確認が済んだら、正常に使える設定を保存してください。次回の更新後に問題が起きたとき、すべての設定を一度にリセットせず、項目ごとに比較できます。
ブラウザーからはアクセスできるのにターミナルからは接続できない場合、まずターミナルのプロキシ設定を確認します。サブスクリプションは更新できるのにWebページが開かない場合は、接続先の選択と宛先への接続を確認してください。サブスクリプションの取得、コアからの外部接続、ブラウザーのアクセスでは通信経路が異なることがあります。ひとつが成功しただけで、すべて正常とは判断できません。
DNSを変更しても古い結果が返る場合は、関連する接続をいったん切って再試行し、必要に応じてプラットフォームに応じた方法でキャッシュを消去してください。ほかのVPN、通信高速化ツール、仮想ネットワークインターフェース用のツールを使っている場合は、範囲を絞るためにひとつずつ終了します。操作前に現在の設定を保存し、テスト後に変更を継続するか判断してください。
使い方の詳細を見る →クライアント、コア、サービス提供元を区別すると、各情報が何に当てはまるか判断できます。
Clashエコシステムには、コア、GUIクライアント、設定ツール、ルールプロジェクトがあります。オリジナルのClashはルールベースのプロキシに基本となる設定構造を提供し、Clash Metaはその機能を拡張しました。その後、mihomoの名称で開発が続いています。古い解説にあるMetaと、現在のドキュメントにあるmihomoには関連がありますが、すべての設定項目、プロトコル、既定の動作が同じとは限りません。
解説を読む際は、まずどのコアを対象としているか確認し、クライアント上で該当項目を直接設定できるか調べてください。GUIクライアントはポート、DNS、TUNの設定を自動生成したり、起動前にローカルのオーバーライドをマージしたりする場合があります。問題の調査では、サブスクリプションの元ファイルだけでなく、実際に適用された最終設定も確認しましょう。両者の違いが動作の変化につながっていることがあります。
mihomoはソースコードを公開しており、コアにはGPL-3.0ライセンスが適用されています。公開リポジトリでは実装や変更内容を確認し、問題の原因を調べられます。ライセンスはコードの利用・配布条件を定めるものです。GUIクライアントは別のプロジェクトであり、異なるライセンスを採用している場合があります。コアのライセンスをすべてのクライアントのライセンス表示とみなしたり、サブスクリプションサービスが利用可能かどうかの判断に使ったりすることはできません。
公開リポジトリの課題や議論は、既知の動作を確認する際に役立ちます。ただし、個別の報告がすべての端末で同じ問題が発生することを意味するわけではありません。問題を報告する際は、OS、クライアント名、コアの情報、再現手順、個人情報を隠したログを添えてください。サブスクリプションURL全体、アカウント情報、プライベートなネットワーク情報を含む設定ファイルは公開しないでください。
クライアントの更新では、コアの機能、画面上の設定項目、システム連携が変わることがあります。サブスクリプションの更新では、通常リモート設定の内容が変わります。更新後に問題が起きたら、まずどの層に変更があったか確認してください。更新前に使えていた設定を保存し、クライアントのリリースノートを確認したうえで、生成後のルールとDNS設定を比較します。ファイル名だけでコアも更新済みだと判断しないでください。
このナレッジベースの設定例は、項目や構文の解説用であり、そのまま接続できるプロキシの接続先は含まれていません。例をコピーする前にコメントを読み、ポリシー名が定義済みか、利用する機能が現在のプラットフォームに対応しているか確認してください。YAMLではスペースで階層を表現します。リストのハイフン、カンマ、文字列の引用符にはそれぞれ意味があります。複数の断片をそのまま連結すると、キーの重複や必要な設定の不足が起きることがあります。
初めて使う場合は使い方ガイドで設定の読み込みと動作確認を行います。クライアント選びには選び方ガイド、確認したい項目名が分かっている場合は設定リファレンスをご覧ください。コアのしくみや利用シーンの解説は、テーマ別の記事にまとめています。すべての機能を一度に有効にするより、今の課題に合った資料から確認するほうが、設定の効果を判断しやすくなります。
プロキシモード、通信の取り込み、モバイルOSの権限を取り上げ、設定の背後にあるしくみを解説します。
rule、global、directの処理方法を比較します。モードの切り替えでどの動作が変わるのか、システムプロキシを入口とする接続にどのような制限があるのか、接続ログで実際のポリシーを確認する方法を解説します。
記事を読む →仮想ネットワークインターフェースとルーティングテーブルから通信の取り込みを解説し、stack、auto-route、dns-hijackを比較します。有効にできない場合は、権限、インターフェース、ルート、DNSの順に原因を絞り込みます。
記事を読む →システムのVPN許可とバックグラウンド動作の関係を解説します。画面ロック後に接続が切れる場合は、バッテリー最適化、バックグラウンドプロセスの終了、ネットワークの切り替えを切り分け、OS側の問題をサブスクリプションの不具合と誤認しないようにしましょう。
記事を読む →