CLASH / CONFIGURATION INDEX
Clashクライアントのダウンロード とconfig.yaml設定ガイド
OSに合ったクライアントを選び、YAML設定 、DNS名前解決 、ルールによる振り分け を項目別に確認できます。
オープンソース 日本語ドキュメント mihomo設定項目ガイド
# · : | - - : · # | : - · · # : | - : · # - | : · # : - | · # : - · | # : - ·
: | - · # : - | · · # : | - : # · - | : · # : - | · # : - · | # : - · | : # · -
- : # · | - : · # : | - · : # · | - : · # : | - · # : | - · : # · | - : · # :
# : | · - : #
- : · | #
: · # - | :
| : - · #
# : · | - :
- # : · |
: | · - # :
# : - · |
- | : # · :
: · | # -
# - : · | :
# : | · - : #
- : · | #
: · # - | :
| : - · #
# : · | - :
- # : · |
: | · - # :
# : - · |
- | : # · :
: · | # -
# - : · | :
config.yaml — Clash Verge Rev
YAML / UTF-8
設定項目一覧 config.yaml
· mixed-port 7890 整数
· allow-lan false 真偽値
· mode rule 文字列
· log-level info 文字列
⌄ dns マップ
· enable true 真偽値
· enhanced-mode fake-ip 文字列
· nameserver リスト
› proxies リスト
› proxy-groups リスト
› rules リスト
FIELD DETAIL
proxy-groups
リスト 出力先ポリシー
ルールから参照するポリシーグループを定義します。
YAML EXAMPLE
proxy-groups : - name : 出力先の選択 type : select proxies : - DIRECT
mihomoコア GPL-3.0
YAML設定 Windows / macOS / Linux / Android / iOS
FIELD REFERENCE
config.yamlのトップレベル項目一覧
クライアントは設定の読み込みや切り替え、表示を担当し、コアは設定に基づいて接続を処理します。まず待ち受けポート、名前解決方法、出力先を区別し、該当する項目を変更してください。以下の例は個別の設定項目を説明するもので、つなぎ合わせても完全なサブスクリプションにはなりません。例のポリシーグループが参照するのは組み込みの出力先DIRECTのみです。実際のプロキシノードは別途設定してください。
項目の説明
変更前の確認
mixed-port:
HTTPとSOCKSで共用する待ち受けポート
mixed-portは同じポートでHTTPとSOCKSのリクエストを受け付けます。ブラウザーやコマンドラインツールなど、プロキシアドレスを手動設定するアプリに便利です。端末内だけで使う場合は、通常ループバックアドレスを指定し、ポート番号を実行中の設定とそろえます。allow-lanはLAN内の端末からの接続を許可するかどうかを指定しますが、待ち受けアドレスとOSのファイアウォールも確認が必要です。システムプロキシはクライアントがOSに設定を書き込む機能で、すべてのアプリがこのポートを通るとは限りません。ほかの通信も中継する場合は、ガイドを参考にTUNモードを検討してください。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
dns:
内蔵DNSとFake-IPによる名前解決
dns.enableは内蔵DNSサービスの有効・無効を設定し、enhanced-modeは拡張名前解決方式を指定します。Fake-IPは仮想アドレスを使ってドメインと接続の対応関係を保ち、ドメインに基づくルールの振り分けを可能にします。nameserverには上流DNSサーバーを指定します。内蔵DNSを有効にしただけでは、システムのDNSリクエストが自動的にそのサービスへ届くとは限りません。TUNのDNSハイジャック設定やシステムのDNS設定も確認してください。ClashでDNS漏れを調べる際は、スイッチの状態だけでなく、リクエストの実際の経路を確認しましょう。LAN内のドメインに問題がある場合は、該当ドメインに合わせてフィルターや名前解決のルールを設定してください。
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
nameserver:
- https://dns.alidns.com/dns-query
proxies:
プロキシノードとプロトコルのパラメーター
proxiesはノード定義のリストです。各項目のnameで参照用の名前を設定し、typeでプロトコルを指定します。server、port、認証情報はサーバー側の設定と一致させてください。プロトコルごとに必要なパラメーターは異なるため、同じパスワード項目で代用できるとは限りません。通常、サブスクリプションにはノード情報が含まれているため、初めて使う際に手作業で書き直す必要はありません。以下の例にある予約済みドメインと説明用パスワードは構造の解説用であり、接続には使えません。プロトコルの対応状況は使用中のコアによって異なります。クライアントの画面に名前が表示されても、コアの設定チェックに通ったとは限りません。
proxies:
- name: サンプルノード
type: ss
server: proxy.example.com
port: 443
cipher: aes-128-gcm
password: "your-password"
proxy-groups:
ポリシーグループと出力先名の参照
proxy-groupsはノードやほかのポリシーグループをまとめ、出力先として扱います。selectは手動選択、url-testはテスト結果に基づく自動選択、fallbackは利用可能な候補へ順に切り替える方式です。名前だけを見て用途を置き換えることはできません。ルールが参照するのはグループ名であり、画面上の並び順ではありません。nameを変更したら、rulesやほかのグループからの参照も更新されているか確認し、グループ間の循環参照を避けてください。例では有効な参照先としてDIRECTを残しています。実際のサブスクリプションを読み込んだ後、一覧にそのサブスクリプション内のノード名を追加してください。
proxy-groups:
- name: 出力先の選択
type: select
proxies:
- DIRECT
rules:
- MATCH,出力先の選択
rules:
上から順に評価される振り分けルール
rulesはリストの上から順に照合され、最初に一致したルールで接続の出力先が決まります。DOMAINは完全一致するドメイン、DOMAIN-SUFFIXはドメインとそのサブドメイン、IP-CIDRは宛先IPアドレスの範囲に一致します。MATCHは通常、末尾に置いて残りの接続を受け持ちます。具体的なルールは広い範囲に一致するルールより前に置いてください。そうしないと、後続の条件が適用されないことがあります。変更後は接続の詳細画面で、一致したルールと実際のポリシーグループを確認できます。このリストによる振り分けが行われるのはルールモードです。グローバルモードに切り替えた場合、同じ一致結果を前提に動作を判断しないでください。
rules:
- DOMAIN,example.com,DIRECT
- DOMAIN-SUFFIX,example.org,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- MATCH,出力先の選択
profile:
ポリシー選択とFake-IP状態の保存
profileのstore-selectedはポリシーグループの選択状態を保存し、store-fake-ipはFake-IPのマッピングを永続化します。これらは実行状態を扱う項目であり、サブスクリプションのダウンロードや更新間隔には関与しません。サブスクリプション更新後にグループ名が変わると、以前の選択状態を引き継げない場合があります。その際は設定をすべて消去するのではなく、ポリシーグループを確認してください。サブスクリプションを編集する前に、クライアントが上書きやマージに対応しているか確認しましょう。ダウンロードしたファイルを直接編集すると、次回の更新で変更が失われることがあります。
profile:
store-selected: true
store-fake-ip: true
実行中の設定を確認してから項目を探す
クライアントが保存するサブスクリプションの原文、ユーザー用の上書きファイル、コアが最終的に読み込む設定は、それぞれ別のファイルである場合があります。変更前に現在有効なサブスクリプションを確認し、クライアントが提供する実行中の設定やマージ結果を調べてください。使用されていない複製ファイルを編集しないよう注意しましょう。
既存の設定をバックアップします。同じ階層の項目は位置をそろえ、子項目はスペースでインデントします。タブ文字は使わないでください。
一度に変更する設定項目は一つにします。ポリシーグループ、ノード、ルールで参照される名前を確認し、文字列・真偽値・リストを区別してください。
再読み込み後にログを確認します。読み込みに失敗した場合は、ネットワーク接続を試す前に項目の型、インデント、参照エラーを修正してください。
サブスクリプション更新後に設定がどう保持されるか確認します。長期的に使うカスタムルールは、クライアントが対応する上書きまたはマージ機能に設定してください。
項目の型、ルール構文、マージ順の詳細は設定リファレンス をご覧ください。サブスクリプションを初めて読み込む場合は、クイックスタート から始めれば、設定全体を手書きする必要はありません。
設定項目と上書き方法を詳しく見る →
CLIENT / PLATFORM
まずOSとプロセッサーのアーキテクチャを確認し、そのうえでクライアントごとの設定管理方法を比較します。デスクトップGUIはサブスクリプション管理や接続確認に便利です。サーバーやルーターではコアを直接実行できますが、設定ファイルの場所、サービスの起動、ネットワーク権限を自分で管理する必要があります。OSを移行する際は同じYAML項目を参考にできますが、システムプロキシ、TUNの権限、設定の上書き場所は個別に設定してください。
すべてのクライアントを見る → クライアントと設定管理方法を比較 →
# : - | · # : - | · # : - | · # : - | · # : - | · # : - | · # : - | · # : - |
- : · | # : - · | : # - · | # : - · | : # - · | # : - · | : # - · | # : -
: | # - · : | # - · : | # - · : | # - · : | # - · : | # - · : | # - · : | #
QUICK START / THREE STEPS
サブスクリプションの読み込み、ルールモード、接続確認
01 / IMPORT
サブスクリプションを読み込み、設定を有効にする
サブスクリプション提供元からクライアントに対応した設定リンクを取得し、クライアントのサブスクリプションまたは設定画面でリモート設定を追加します。ダウンロード後、その設定を現在の設定として有効にしてください。リストに項目が表示されるのは最初の段階で、コアが正常に読み込めたことも確認する必要があります。リンクにはアクセス情報が含まれることがあるため、トラブルシューティング用のスクリーンショットではURL全体を隠してください。形式エラーが表示されたら、YAML設定と単一ノードのリンクを区別し、拡張子だけを変更しないでください。
02 / ROUTE
ルールモードと出力先ポリシーを選択する
実行モードをルールモードに設定し、プロキシまたはポリシーグループの画面で、手動選択が必要なグループの出力先を指定します。グループ名は設定によって異なり、サブスクリプションごとに同じとは限りません。ノードを選んだだけではシステムの通信がクライアントを経由するようにはなりません。デスクトップでは用途に応じてシステムプロキシまたはTUNを有効にし、モバイルではシステムVPNを許可してください。初回のテストでは設定をシンプルに保ち、DNSと振り分けルールを同時に変更しないようにしましょう。
03 / VERIFY
接続の詳細でルールの適用結果を確認する
アクセスしたいページを開き、クライアントの接続一覧で宛先ドメイン、一致したルール、出力先ポリシーを確認します。遅延テストの成功はテストリクエストが完了したことを示すだけで、実際のアプリでの動作確認にはなりません。接続一覧に記録がない場合は、まず通信の入口を確認してください。記録があるのに接続できない場合は、ルールの宛先、ノードの状態、名前解決の結果を調べます。確認後、必要に応じてサブスクリプションの更新間隔を設定し、カスタム上書きの場所を記録しておきましょう。
使い方ガイドを読む →
SOURCE / CORE / CONFIGURATION
Clashエコシステム、mihomoコア、ソースコード
クライアントの画面とプロキシコアを分けて理解する
Clashエコシステムでは、YAML設定、ルールによる振り分け、GUIクライアントを中心にさまざまな実装が使われています。初期のプロジェクトのメンテナンス状況が変化した後も、後継のコアやクライアントは開発を続けています。そのため、「Clash」が単一のインストーラーを指すわけではありません。ダウンロード時はプロジェクト名、対応プラットフォーム、メンテナンス状況を確認してください。ファイル名にClashが含まれているだけで、既存の設定と完全互換だと判断しないようにしましょう。当サイトはドキュメントとダウンロード先を案内するもので、すべてのクライアントプロジェクトの開発元ではありません。
mihomoはClashエコシステムのプロキシコアで、プロトコル接続、ルール照合、DNSなどを処理します。Clash Verge RevなどのGUIクライアントは、その上で設定管理や操作画面を提供します。画面のメニューとYAMLの項目が一対一で対応するとは限らず、クライアントが一部の設定を生成または上書きすることもあります。問題を調べる際は、まずコアが最終的に読み込んだ項目を確認し、その後でメニューの設定を調べると、「ファイルを変更したのに動作が変わらない」という誤解を防げます。
オープンソースの根拠とライセンスの範囲
mihomoのソースコード、ライセンス、課題の議論、リリース履歴はプロジェクトのリポジトリで確認できます。リポジトリのライセンスはGPL-3.0です。各オープンソースプロジェクトのライセンスと配布方法は個別に確認してください。コアのライセンスが、すべてのクライアント、サブスクリプションサービス、第三者の設定に共通する許可を与えるわけではありません。動作を再現する場合は、使用したクライアントとコアの情報、発生条件を記録してください。問題を報告する際は必要な部分だけを残し、サブスクリプションのURL、パスワードなどの認証情報を削除しましょう。
プログラムの更新、サブスクリプションの更新、上書き設定の保持
クライアントアプリ、コア、サブスクリプションの更新はそれぞれ別の操作です。アプリの更新では画面や統合機能が変わり、コアの更新では対応項目や処理方法が変わることがあります。サブスクリプションの更新ではリモート設定の内容が置き換わります。設定の読み込みエラーが発生したら、まずエラーの位置と項目の型を確認し、プログラムを何度も入れ替えて問題の特定を先送りしないでください。新しい設定項目が古いクライアントで認識されない場合もあります。移行前にクライアント選びのガイド を確認してください。
長期的に使うカスタムルールは、クライアントが対応する上書きまたはマージ機能に設定し、サブスクリプション処理のどの段階で統合されるか確認してください。リストが置き換えられるか、クライアントの仕様に従って追加されるかは異なります。YAMLの階層だけから判断することはできません。更新のたびに主要なポリシーグループ名、末尾のMATCH、DNS設定が想定どおりか確認しましょう。詳しい例と適用範囲は設定リファレンス をご覧ください。ソースコードはプロジェクトのリポジトリから確認できます。