オープンソースプロキシエコシステム · 設定項目リファレンス

Clash Q&Aサイト
クライアントのダウンロードと設定項目

OSに合わせてクライアントを選び、YAML設定を項目ごとに確認。DNSからルールまで、通信の振り分け経路を理解できます。

config.yaml YAML · インデントは半角スペース2つ
  1. mixed-port: 7890
  2. allow-lan: false
  3. # ルールに基づいて通信を振り分ける
  4. mode: rule
  5. log-level: info
  6. dns:
  7. enable: true
  8. enhanced-mode: fake-ip
  9. proxy-groups:
  10. - name: PROXY
  11. type: select
  12. proxies: [DIRECT]
  13. rules:
  14. - GEOIP,CN,DIRECT
  15. - MATCH,PROXY
UTF-8

この例は設定項目の階層を示すもので、完全なプロキシ設定ではありません。PROXYに含まれるのは現在DIRECTのみです。実際に使うには、有効なノードを読み込み、プロキシグループに追加してください。

プラットフォーム
5
コア
mihomo
設定
YAML
コアの互換性
GPL-3.0

Clashクライアントのプラットフォーム別ダウンロード

まずOSとプロセッサのアーキテクチャを確認し、GUIクライアントを選びましょう。Clash PlusはWindows、macOS、Android、iOS向けのダウンロード一覧で最初に紹介しています。LinuxではClash Verge Revから検討できます。クライアントは設定管理やシステム連携を担い、設定項目の解析や接続を行うのはコアです。画面が似ていても、対応する設定項目が同じとは限りません。

Windows

トレイからの操作、システムプロキシ、設定の切り替えが必要なデスクトップユーザーに適しています。Clash for Windowsの代替を探す場合は、Clash PlusとClash Verge Revを比較し、OSのアーキテクチャ、サービスの権限、TUN対応を確認しましょう。移行前に元の設定を保存し、新しいクライアントに読み込んで動作を確かめてから切り替えてください。

ダウンロード

macOS

システム情報でApple SiliconかIntelかを確認し、対応するインストーラーを選びましょう。システムプロキシやネットワーク拡張の許可方法はクライアントによって異なる場合があります。初回起動時は画面の案内に従って設定してください。既存の設定は移行できますが、起動時の自動実行、プロキシの適用、ローカルパスなどは新しいクライアントで再確認が必要です。

ダウンロード

Android

モバイル端末では通常、システムのVPN機能を使って通信を取り込みます。インストール前に端末のアーキテクチャを確認し、接続時にはシステムの許可を与えてください。画面ロック後に接続が切れる場合は、バッテリー最適化やバックグラウンド動作の制限を確認します。アプリごとのプロキシ設定はクライアントの機能であり、YAMLのドメインや宛先アドレスに基づくルールとは別の設定です。

ダウンロード

iOS

ダウンロードページからClash PlusのApp Storeページに移動できます。公式サイトはclashplus.ioです。サブスクリプションを読み込んだら、ノードとプロキシグループが認識されていることを確認してから、VPN構成の追加を許可してください。デスクトップで使える一部の低レベルネットワーク設定は、モバイル端末ではシステム側が管理する場合があります。実際の対応範囲はクライアントで確認してください。

ダウンロード

Linux

デスクトップではClash Verge RevとFlClashを比較し、ディストリビューションに合ったパッケージを選べます。サーバーやルーターで使う場合は、mihomoコアの入手先を確認し、サービスと設定ファイルのパスを自分で管理してください。透過プロキシを有効にする前に、ルーティング、DNS、権限の関係を把握しましょう。リモート操作時は、復旧に使える管理用の接続を確保してください。

ダウンロード

インストーラーに含まれるのはクライアントのみで、利用可能なプロキシサービスは付属しません。サブスクリプションURLには通常、アクセス用の認証情報が含まれています。信頼できる端末で管理し、設定やログを共有する前に機密情報を削除してください。すべてのクライアントを見る →

設定項目インデックス

通信の経路は、入口、モード、名前解決、ノード、プロキシグループ、ルールの6層に分けて考えられます。以下では各層の結論を確認してから、対応するYAMLを見ていきます。例は個別の断片であり、つなぎ合わせても完全なサブスクリプションにはなりません。項目を手動で選ぶと、自動切り替えは停止します。

mixed-port: 7890allow-lan: false
bind-address: 127.0.0.1

portはどのアプリをプロキシ経由にしますか?

ポート項目はローカルの待ち受け口を指定するもので、リモートノードのポートではありません。portはHTTPプロキシ、socks-portはSOCKSプロキシを受け付けます。mixed-portでは同じポートで両方の接続を受け付けられます。上の例はローカル端末からの接続のみを待ち受ける設定です。アプリ側で、プロキシの接続先をローカルアドレスと該当ポートに指定してください。よくある設定ミスは、コアを起動しただけでアプリ側のプロキシ設定を忘れることです。また、2つのクライアントが同じポートを使っている場合もあります。LANからのアクセスを許可する前に、バインドアドレス、ファイアウォール、認証を確認してください。スイッチを1つ変えるだけでは不十分です。

設定項目のページを見る →

サブスクリプションの読み込みと接続確認

初めて使うときは、設定を読み込める、接続先を選べる、アプリから通信できる、という最短の経路をまず確認しましょう。ポート、DNS、TUN、ルールを同時に変更しないでください。一度に1つの層だけを変えれば、問題が起きたときに原因を特定しやすくなります。以下では、基本的な3ステップを紹介します。

  1. 設定を読み込む

    クライアントの設定またはサブスクリプション管理画面を開き、信頼できる提供元のサブスクリプションURLを追加するか、ローカルのYAMLファイルを読み込みます。更新後、設定が選択されているか、ノードとプロキシグループが表示されているかを確認してください。解析エラーが出た場合は、エラー行の周辺にあるインデント、コロン、リスト構造を確認します。設定内容の誤りは、クライアントを何度も再インストールしても解決しません。サブスクリプションの取得に成功しても、すべてのノードに接続できるとは限りません。

  2. モードと接続先を選ぶ

    まずはルールモードを使い、ルールから参照されている主要なプロキシグループを見つけて、有効なノードを1つ選びます。デスクトップではシステムプロキシを有効にし、ポートが現在のクライアントと一致するか確認してください。モバイル端末では、案内に従ってVPN接続を許可します。システムプロキシを使わないアプリの通信も取り込む場合はTUNが適していますが、ルーティングや権限に関わります。通常のプロキシ接続を確認してから有効にし、通信の取り込み失敗とノードの接続失敗を混同しないようにしましょう。

  3. 実際の接続を確認する

    対象のサイトを開き、クライアントの接続一覧でアプリ、宛先ドメイン、一致したルール、最終的な接続先を確認します。ページが開けても、想定どおりに振り分けられたとは限りません。速度テストに成功しても、対象サイトが使えるとは限りません。ブラウザーは使えるのにターミナルから接続できない場合は、プロキシ環境変数が設定されているかを確認してください。すべてタイムアウトする場合は、まずローカルネットワークとノードの状態を確認します。検証が終わったら、一時的に有効にした詳細ログを元に戻してください。

動作確認済みの設定を1つ保存してから、アプリ別の振り分けや自動選択ポリシーを少しずつ追加しましょう。基準となる設定に戻せば、新しい変更が原因か、ネットワーク環境の問題かを切り分けやすくなります。セットアップの全手順を見る →

Clashエコシステムとmihomoコア

設定を使えるかどうかは、クライアント名だけでなく、コアと設定項目の対応状況で判断してください。このサイトではダウンロード先と設定項目の日本語解説を掲載していますが、いずれかのクライアントの開発チームを名乗るものではありません。機能の動作を確認するには、オープンソースコード、プロジェクトのドキュメント、実際の実行ログを参照してください。

プロジェクトの経緯と互換性

Clashエコシステムでは、元プロジェクトの開発終了後も、コミュニティによるフォークの開発が続いています。元のクライアントに保存したYAML、プロキシの選択、ローカル設定を、新しいクライアントへそのまま移行できるとは限りません。mihomoは関連する設定機能を引き継ぎ、拡張していますが、古いコアでは新しいプロトコルや設定項目を認識できない場合があります。サンプルを参照する際は、どのコアを対象にしたドキュメントかを確認し、現在の環境で使えるか判断してください。

Clash for WindowsとClashX Metaは、ダウンロード一覧で開発終了のアーカイブ項目として表示しています。新しい端末では、現在もメンテナンスされている選択肢を優先してください。古い環境でどうしても必要な場合は、使い慣れた画面だけで判断せず、OSとの互換性と必要なプロトコルを確認しましょう。クライアント選びのポイントを見る →

クライアント、コア、サービス提供元

クライアントは、設定の読み込み、トレイメニュー、サブスクリプションの更新、システムプロキシなどの操作を担います。コアは設定の読み込み、名前解決、ルールの照合、外部への接続を担当します。サービス提供元はリモートサーバーとサブスクリプションの内容を管理します。この3つは、それぞれ別の原因で問題が起きる可能性があります。画面に「接続済み」と表示されても、確認できるのはローカル側の状態にすぎません。リモートサービスが利用可能か、すべてのアプリの通信が取り込まれているかまでは判断できません。

同じノードでもクライアントによって動作が異なる場合は、コア、プロトコルの設定、DNSの取り込み方法を比較してください。同じクライアントでもネットワークによって結果が異なる場合は、通信事業者のネットワーク、ルーティング、サーバー側の制限も考慮します。設定をすべて一度に変えるより、問題を層ごとに切り分けるほうが再現性のある結論を得やすくなります。

オープンソースライセンスと参照情報

mihomoはGPL-3.0のオープンソースライセンスを採用しています。ソースコード、コミット履歴、課題の議論はプロジェクトのリポジトリで確認できます。コアのライセンスが、すべてのGUIクライアントにも適用されるわけではありません。配布や改変を行う場合は、該当するプロジェクトの説明を確認してください。ソースコードが公開されていれば実装を確認できますが、インストール元、操作権限、ネットワーク上の挙動を判断する代わりにはなりません。

設定項目の動作を調べるときは、該当するドキュメントを確認し、ログと照らし合わせて検証してください。問題を報告する際は、OS、クライアント名、コアの情報、最小限の設定、再現手順を記載します。サブスクリプションURL、認証情報、個人を特定できる接続記録は公開しないでください。再現に必要な情報を絞ることで、設定の問題かプログラムの不具合かを見分けやすくなります。

更新の仕組みと設定の保持

クライアント、コア、サブスクリプション、ルール用リソースの更新は、それぞれ別の操作です。クライアントの更新でコアも切り替わる場合があります。サブスクリプションを更新するとノードやプロキシグループが置き換わることがあり、ルール用リソースの更新は対応するルールセットにのみ影響します。更新前に、どの層が変更されるかを確認し、元に戻せる設定とカスタム内容を保存してください。

長期的に管理する場合は、リモートのサブスクリプションとローカルのオーバーライドを分け、ルールの用途を記録しておきましょう。プロキシグループ名が変更されたら、カスタムルールが有効な接続先を参照しているか確認してください。DNSモードを変更した後は、必要に応じて関連キャッシュを消去してからテストします。古いマッピングが判断に影響するのを防げます。設定を読み込めたら、実際の接続で更新結果を確認してください。

mihomoのソースコードを見る

Gitをインストール済みの方は、次のコマンドを実行すると公開リポジトリをローカルに取得して閲覧できます。ソースコードをクローンしても、クライアントがインストールまたは起動されるわけではありません。通常の利用では、ダウンロードページからGUIクライアントを選んでください。

git clone https://github.com/MetaCubeX/mihomo.git
mihomoのリポジトリを開く ↗

設定とトラブルシューティングの記事

設定項目リファレンスは個別の項目を調べるのに適しています。一方、記事では1つの問題について判断の流れを解説します。以下に公開日の新しい順で3本を掲載します。システムプロキシの適用、ログから得られる手がかり、複数設定の管理など、利用時の異なる疑問を取り上げています。

すべての記事を見る →