Windowsクライアント
まずClash Plusを確認し、Clash Verge Rev、FlClash、Clash Nyanpasuも比較できます。インストール後は設定を読み込んでからシステムプロキシを有効にします。ゲームやコマンドラインの通信も処理する場合は、TUNの利用許可を確認してください。ほかのソフトが待ち受けポートを使用している場合は、競合を解消してから接続をテストしましょう。
ダウンロードページへ →サブスクリプションURLを貼り付けるか、config.yamlをドラッグ&ドロップ · 画面イメージ
サブスクリプションの読み込みからルールと振り分けまで、必要に応じてTUNモードを有効にします。
CLIENT DOWNLOADS
まずOSとプロセッサを確認して、対応するクライアントを選びましょう。デスクトップとモバイルでは利用許諾の方法が異なり、サブスクリプションの設定形式もクライアントとの互換性が必要です。
まずClash Plusを確認し、Clash Verge Rev、FlClash、Clash Nyanpasuも比較できます。インストール後は設定を読み込んでからシステムプロキシを有効にします。ゲームやコマンドラインの通信も処理する場合は、TUNの利用許可を確認してください。ほかのソフトが待ち受けポートを使用している場合は、競合を解消してから接続をテストしましょう。
ダウンロードページへ →Appleメニューから「このMacについて」を開きます。Appleシリコンと表示される場合はAppleシリコン版、Intelと表示される場合はIntel版を選んでください。ダウンロードページではClash Plusを最初に紹介し、Clash Verge RevとFlClashも掲載しています。ClashX Metaはアーカイブ版として掲載しています。
アプリを「アプリケーション」フォルダに移して起動し、画面の案内に従ってネットワーク関連の権限を許可します。まずシステムプロキシでブラウザーの接続を確認し、必要に応じてTUNを有効にしてください。ネットワークを切り替えた後に接続できない場合は、設定が有効か、プロキシモードが正しいか、ほかのプロキシアプリが動作していないかを確認しましょう。
ダウンロードページへ →Clash Plus、Clash Meta for Android、FlClash、Surfboardから選べます。デバイスに合ったアーキテクチャのパッケージをインストールし、初回接続時にシステムのVPN利用を許可してください。バックグラウンドで切断される場合はバッテリー最適化の設定も確認しましょう。サブスクリプションの対応形式はクライアントごとに異なります。
ダウンロードページへ →ダウンロードページからClash PlusのApp Storeページに進めます。製品の公式サイトはclashplus.ioです。サブスクリプションを読み込んで設定を選択し、案内に従ってVPN構成を追加してください。特定のアプリが接続できない場合は、選択中のポリシーとルールの適用状況を確認してから振り分けを調整しましょう。
ダウンロードページへ →デスクトップ環境ではClash Verge RevまたはFlClashを選び、ディストリビューションに合ったパッケージ形式を使います。システムプロキシがアプリに適用されるかどうかは、アプリの実装によって異なります。サーバーやルーターで使う場合は、コアの一覧からmihomoを確認し、サービス権限、設定ファイルのパス、待ち受け範囲を管理してください。
ダウンロードページへ →サブスクリプションが接続情報を提供し、クライアントが読み込みと適用を行います。インストール後も有効な設定を選ぶ必要があります。別のデバイスへ移行する際は、サブスクリプションURLをコピーするだけでなく、ポリシーグループの選択とローカルオーバーライドも確認しましょう。
すべてのクライアントを見る → クライアント選びのガイドを見る →MIHOMO CONFIGURATION
macOSのウィンドウ画面を例に、よく使う設定を解説します。画面上の名称はクライアントによって異なるため、各項目の意味は使用中のmihomoコアのドキュメントを確認してください。
proxy-groups:
- name: Proxy
type: select
proxies:
- Auto
- DIRECT
- name: Auto
type: url-test
use:
- subscription
url: https://www.gstatic.com/generate_204
interval: 300
tolerance: 50クライアントのプロキシ画面を開き、まずルールで使われているポリシーグループを確認してから、手動選択または自動テストのグループを選びます。selectは選択内容を固定するために使い、url-testは指定したURLへのテスト結果に基づいて候補から選びます。ネットワーク環境が頻繁に変わるデバイスに適しています。2つを入れ子にすることもでき、外側で選択方式を決め、内側で定期的にテストします。テスト結果はその時点でテスト先に接続した結果であり、すべてのWebサイトでの実際の使用感を示すものではありません。例にあるサブスクリプションプロバイダーは完全な設定ファイル内で定義する必要があり、この部分だけをコピーしても接続できません。
rule-providers:
local:
type: file
behavior: classical
format: yaml
path: ./rules/local.yaml
rules:
- DOMAIN-SUFFIX,apple.com,DIRECT
- RULE-SET,local,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxyルール画面で照合順序を確認し、優先して処理したいドメインをフォールバックルールより前に配置します。ルールの提供元はrule-providersで管理し、RULE-SETから参照します。仕事で使うサービス、直接接続するドメイン、一般的なカテゴリを分けて管理するのに便利です。ローカルファイルとリモートサブスクリプションでは提供元の種類が異なります。リモートに切り替える場合は、URLと更新間隔も設定してください。ルールを1行ずつ追加する方法に比べ、サブスクリプションで管理すれば個別に更新できますが、ルールセットの動作タイプと内容の形式は確認が必要です。問題を調べる際は、ルール名だけで判断せず、接続の詳細に記録された適用ルールを確認しましょう。
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
まず設定でシステムプロキシを有効にし、ブラウザーから対象サイトにアクセスして設定を確認します。システムプロキシは、システムのネットワーク設定に従うアプリで利用できます。ほかの通信も制御する必要がある場合はTUNを有効にし、クライアントが要求するサービスのインストールやシステム権限の許可を行います。TUNは仮想ネットワークインターフェースとルーティングを使って通信を処理するため、DNS、デフォルトの出口、ほかのVPNとの互換性など、システムプロキシより広い範囲の確認が必要です。どちらの接続方法も、ルールモードそのものを置き換えるものではありません。有効にした後にネットワークの問題が起きたら、まずTUNを無効にして元の経路に戻し、ルーティングと名前解決を順に確認しましょう。複数の設定を同時に変更すると、原因を特定しにくくなります。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "localhost.ptlogin2.qq.com"
nameserver:
- https://dns.alidns.com/dns-query設定画面でDNSが有効になっていることを確認し、名前解決のリクエストが実際にコアへ渡されているかを調べます。Fake-IPはドメイン名に対応するマッピング用アドレスを返し、通信がコアに入った後でドメイン名に戻すことで、ドメインルールによる振り分けを可能にします。これは接続先サーバーの実際のIPアドレスではありません。LAN内のサービスや実際の名前解決結果に依存するアプリでは、必要に応じて対象ドメインをフィルターに追加し、関連するキャッシュを消去して再確認してください。DNSサーバーを変更するだけでなく、アプリ独自の暗号化DNS、TUNによるリクエストの制御、名前解決の出口も確認が必要です。この例は項目間の関係を示したものです。DNSサービスは利用するネットワークから接続できるものを選んでください。
初めて使うときは、「設定が有効」「ポリシーが利用可能」「ルールモード」「システムプロキシ」の順に確認します。まずブラウザーで接続し、次に接続画面で対象ドメイン、適用されたルール、出口ポリシーを確認してください。接続記録がない場合、通信がまだクライアントに届いていない可能性があります。記録があるのに接続できない場合は、ポリシーの選択、名前解決の結果、上流への接続を確認します。接続の入口と出口を分けて調べれば、アプリを何度も再インストールせずに問題を切り分けられます。
独自の振り分けルールが必要な場合は、クライアントのローカルオーバーライド機能を使い、仕事用ドメイン、LANの例外、固定ポリシーを個別に保存するのがおすすめです。サブスクリプションから取得した設定を直接編集すると、更新時に上書きされることがあります。一度に変更するパラメーターは1種類にし、接続できる設定のコピーを残しておきましょう。問題が起きたら元に戻し、変更前後の動作を比較できます。項目の意味、組み合わせの制限、より詳しいYAMLの例はmihomoの高度な設定ガイドをご覧ください。初めて読み込む場合はサブスクリプションの読み込み手順から始めましょう。
OPEN SOURCE CONTEXT
クライアント、コア、サブスクリプションを分けて理解すれば、更新や移行、トラブルの確認先が明確になります。
クライアントで設定を読み込んだり、ポリシーを切り替えたり、接続を確認したりする操作は、グラフィカルな画面を通して行います。設定の解析、ルールの処理、プロキシ接続の確立はコアが担当します。mihomoはClash Metaの関連プロジェクトを引き継ぎ、発展させたものです。そのため、解説ではClash、Clash Meta、mihomoという名称が登場します。名称が似ていても、すべてのクライアントに同じ機能や画面があるとは限りません。また、古いコアですべての設定項目を読み込めるわけでもありません。設定エラーが発生したら、まず実行中のコアを確認し、次にクライアントから設定がどう渡されているかを調べましょう。
クライアントを選ぶときは、OSとの互換性、設定の管理方法、オーバーライド機能、権限の設定手順を比較しましょう。同じコアを使うクライアントでも、初期設定、メニュー構成、サービスのインストール方法は異なる場合があります。移行時は互換性のあるサブスクリプションを引き継げますが、システムプロキシ、自動起動、TUNの権限、ローカルオーバーライドは新しいクライアントで改めて確認が必要です。新しいクライアントをテストするときは、古いクライアントを終了しておくと、待ち受けポート、システムプロキシ、仮想ネットワークインターフェースの競合を減らせます。
Clashエコシステムには、現在も開発が続くコアや画面がある一方で、開発が終了した旧クライアントも存在します。以前のチュートリアルの画面は参考になりますが、ダウンロード先、設定項目、システム権限の説明は変わっている可能性があります。ダウンロードページでは、アーカイブ版と現在選べるクライアントを分けて掲載しているため、既存設定との互換性を確認できます。新しいデバイスには、継続してメンテナンスされているクライアントを選ぶのがおすすめです。古い設定を移行する場合は、元のファイルを残してからポート、DNS、ポリシーグループ、ルールの参照を順に確認しましょう。
古い画面が起動できても、新しい設定構文に対応しているとは限りません。同様に、新しいコアが特定の項目に対応していても、クライアントの画面から設定できるとは限りません。設定の読み込みに失敗したら、まずログに表示された項目名と行番号を確認し、YAMLのインデント、ポリシーグループ名、プロバイダーの参照先が合っているかを調べてから、機能の互換性を確認します。設定全体を一度に置き換えるより、問題を1つの項目または最小限の設定例に絞るほうが原因を特定しやすくなります。
mihomoのソースコードはMetaCubeXの公開リポジトリで管理され、コアにはGPL-3.0ライセンスが適用されています。リポジトリのドキュメント、コミット履歴、課題の議論から機能の変更を確認できます。各グラフィカルクライアントのコードとライセンスは、それぞれのプロジェクトで確認してください。このサイトではダウンロード先と日本語の操作手順をまとめていますが、クライアント、コア、サブスクリプションサービスは各運営元が提供しています。問題を報告する際は、画面のボタンが操作できないのか、設定が正しく渡されていないのか、コアが接続を受け取った後に処理できないのかを切り分けましょう。
ログを共有する前に、サブスクリプションURLに含まれる認証情報、サーバー情報、個人を特定できる内容を削除してください。OS、プロセッサのアーキテクチャ、操作手順、エラーメッセージ、匿名化した最小限の設定は、再現可能な報告に役立ちます。コアを調べたりビルドしたりする場合は、横のコマンドをコピーしてソースコードを取得できます。一般的な使い方ならグラフィカルクライアントを選べばよく、クライアントのインストールにソースコードの取得は必要ありません。
アプリの更新では、画面、システム連携、同梱コアなどが更新されます。サブスクリプションの更新では接続情報、ポリシー、ルールを再取得します。両者は別々の操作です。アプリを更新した後は、以前の設定が有効なままか、権限やサービスが正常かを確認してください。サブスクリプションを更新した後は、選択したポリシーが残っているか、ローカルオーバーライドが引き続き適用されているか、ルールセットが正しく読み込まれたかを確認します。2種類の更新を分けて検証すると、どちらの変更が接続に影響したかを見つけやすくなります。
影響の大きい設定を変更する前に、接続できる設定とローカルオーバーライドを保存しておきましょう。ネットワーク環境、サブスクリプションの内容、クライアントの設定が同時に変わると、Webページが開けるかどうかだけでは問題を特定しにくくなります。対象サイトを開き、接続記録を確認し、適用ルールと出口ポリシーを確かめる手順を決めておきましょう。テスト後は普段のモードに戻し、一時的なグローバル設定をそのまま使い続けないようにします。
クライアントの設定画面を開き、新規作成または読み込みを選んで、対応するサブスクリプションURLを貼り付けます。ダウンロードが完了したら設定を有効にし、プロキシ画面でポリシーグループを確認してください。ボタン名はクライアントによって多少異なります。サブスクリプションの読み込み手順で操作の順番を確認できます。
まずシステムプロキシを使って、システム設定に従うアプリの接続を確認します。ほかのアプリの通信も制御する必要がある場合は、クライアントの説明に従ってTUNを設定し、権限、ルーティング、DNSを確認してください。2つの接続方法は対象範囲が異なります。詳しい確認方法は高度な設定ガイドをご覧ください。
サブスクリプションから生成されたファイルを直接編集するのではなく、クライアントのローカルオーバーライドまたはマージ設定にルールを記述するのがおすすめです。更新後は接続画面でルールの適用状況を確認し、自作ルールがフォールバックルールより前にあることを確かめてください。よくある設定の問題はヘルプセンターでも確認できます。
まず、そのアプリの通信がクライアントに届いているかを確認します。記録があれば適用ルール、選択中のポリシー、DNSを確認してください。記録がなければ、アプリのプロキシ設定または通信の制御方法を調べます。コマンドラインツールでは、プロキシの環境変数を別途設定する必要がある場合があります。詳しくはトラブルシューティングQ&Aをご覧ください。
CONFIGURATION NOTES
設定項目の見方から振り分け結果の確認まで、目的に合わせて解説記事をご覧ください。
GEOIP、GEOSITE、ルールセットを使って、直接接続、プロキシ、広告ブロックを組み合わせます。接続記録で適用ルールを確認し、ルール順序の問題と出口の接続問題を切り分けてから、サイトに応じて例外を追加します。
ルール振り分けの実践例を読む →ドメインサフィックスやIPアドレス範囲、ルールセットの参照方法など、よく使う構文とno-resolveパラメーターを解説します。上から順に照合される仕組みを理解し、広い条件より先に例外ルールを配置して、前のルールに上書きされないようにしましょう。
ルール構文を読む →設定ファイルの記述順に沿って、共通設定、DNS、プロキシ定義、ポリシーグループ、ルールセットの関係を解説します。まず各項目の役割を確認し、隣接するセクション間の名前参照を調べることで、ログのエラーを該当する設定箇所に結び付けられます。
設定ガイドを読む →