ホーム/設定リファレンス

Clash設定ファイル完全リファレンス

config.yamlはClashの唯一の「頭脳」です。この記事ではトップレベルの項目を1つずつ分解し、各項目がどんな型で、デフォルト値は何か、いつ変更が必要かを解説します。辞書のように調べれば、ソースコードを読むよりずっと速く答えが見つかります。

🕒 ブックマークしていつでも参照を 🧭 動作の違いについては応用設定をご覧ください 🔄 最終更新:2026年7月

基本ネットワーク項目

これらの項目は、Clashがローカルでどのポートを監視し、どのように通信を受け付けるかを決めるもので、ほぼすべての設定で使用されます。

portnumberデフォルト:なし

HTTPプロキシの監視ポート、例:7890。システムプロキシを設定すると、HTTP/HTTPS通信はどちらもこのポートに送られます。

socks-portnumberデフォルト:なし

SOCKS5プロキシの監視ポート。一部のツール(ダウンローダーやコマンドラインプログラム)はSOCKS5にのみ対応しているため、このポートを別途設定する必要があります。

mixed-portnumberデフォルト:なし

混合ポート。1つのポートでHTTPとSOCKS5の両方の接続を受け付けます。現代のクライアントでは通常このポート1つを設定するだけで済み、portsocks-portを別々に書くより手間がかかりません。

allow-lanbooleanデフォルト:false

LAN内の他のデバイスが、本機のIP経由でこのプロキシポートに接続することを許可するかどうか。スマホからパソコン上で動いているClashに接続したい場合はオンにする必要があります。あわせて下記のauthenticationを設定し、LAN内の見知らぬデバイスにただ乗りされないようにすることをおすすめします。

bind-addressstringデフォルト:*

プロキシポートをバインドするネットワークインターフェースのアドレス。*はすべてのインターフェースで待ち受けることを意味します。通常は変更不要です。

実行モードとログ

moderule | global | directデフォルト:rule

rulerulesリストに従って振り分けます(日常利用に推奨)。globalはすべての通信を同じプロキシグループに強制的に通します。一時的なデバッグによく使われます。directはすべての通信を直接接続にし、プロキシをオフにしつつクライアントは起動したままにするのと同じ状態になります。

log-levelsilent | error | warning | info | debugデフォルト:info

ログの詳細度。接続の問題を調査する際は一時的にdebugに変更し、各ルールの具体的なマッチング過程を確認できます。日常使用ではinfoのままにして、ログファイルが急速に肥大化しないようにすることをおすすめします。

ipv6booleanデフォルト:false

IPv6サポートを有効にするかどうか。お使いのネットワークと一部のノードがIPv6にネイティブ対応している場合は、有効にすることで互換性を高められます。判断に迷う場合は、ネットワークによってIPv6対応状況が大きく異なるため、無効のままにしておくのが安全です。

外部コントローラーとダッシュボード

external-controllerstring例:127.0.0.1:9090

RESTful APIの待ち受けアドレスを開きます。付属のWeb管理パネル(ダッシュボード)は、このインターフェースを通じてプロキシの状態、接続リスト、リアルタイム通信量を読み取っています。GUI付きのクライアントの多くはこの項目を自動で設定してくれます。

secretstringデフォルト:空欄

external-controllerのインターフェースにアクセスするために必要なキーです。allow-lanが有効でパネルがLANに公開されている場合は、必ずキーを設定してください。そうしないとLAN内の誰でもあなたのプロキシ設定を読み取り・変更できてしまいます。

proxies:ノード定義

proxiesはリスト形式で、各項目が1つの具体的なプロキシノードを表します。項目はプロトコルによって異なりますが、いずれも以下の共通項目を含みます。

項目説明
nameノードの表示名。ルールやプロキシグループで参照されるのはこの名前です
typeプロトコルの種類:ss / vmess / trojan / socks5など
serverサーバーアドレス(ドメインまたはIP)
portサーバーポート
その他の項目プロトコルによって異なります。例えばShadowsocksはcipherpasswordが必要、VMessはuuidalterIdが必要です
config.yamlyaml
proxies:
  - name: HK01
    type: ss
    server: hk01.example.com
    port: 443
    cipher: aes-256-gcm
    password: "your-password"

  - name: JP01
    type: trojan
    server: jp01.example.com
    port: 443
    password: "your-password"
    sni: jp01.example.com

購読リンクが標準形式であれば、クライアントがこの部分をまるごと自動的に解析してくれるため、通常は手書きする必要はありません。ただし構造を理解しておくと、「特定のノードに接続できない」際にどの項目が原因なのかを調べる助けになります。

proxy-groups:スケジューリンググループ

4種類のタイプ(select / url-test / fallback / load-balance)の動作の違いは応用設定で詳しく解説していますので、ここではよく使う汎用項目をいくつか補足します。

項目適用対象説明
proxiesグループに含まれる具体的なノードまたはサブグループの名前のリストグループに含まれる具体的なノードまたはサブグループの名前のリスト
useすべてproxy-providersのリモートノード集合を参照し、ノードリストの手書きを代替する
urlurl-test / fallback / load-balanceヘルスチェックに使う速度測定用アドレス。一般的にはgenerate_204のような軽量なエンドポイントを使用
intervalurl-test / fallback / load-balanceヘルスチェックの間隔(秒)
toleranceurl-test遅延の許容誤差(ミリ秒)。近い遅延のノード間で頻繁に切り替わるのを防ぐ
strategyload-balanceconsistent-hashingまたはround-robinで振り分けアルゴリズムを決定

rules:振り分けルール

完全なルールタイプの一覧は応用設定・ルールタイプの詳細をご覧ください。ここではフォーマットのみ説明します:各行はカンマ区切りの3項目タイプ,値,アクションです(MATCHのみ例外で2項目)。

config.yamlyaml
rules:
  - DOMAIN-SUFFIX,github.com,Auto
  - GEOIP,CN,DIRECT
  - MATCH,Auto

dns:ドメイン解決

各項目の詳細とFake-IP / Redir-Hostの使い分けは応用設定・DNSとFake-IPをご覧ください。主要な項目のクイックリファレンス:

項目説明
enableboolean内蔵DNSモジュールを有効にするかどうか(TUNモードでは必須)
enhanced-modefake-ip / redir-hostドメイン解決の戦略、応用設定の比較を参照
fake-ip-rangestringFake-IPが使用する仮想アドレス範囲。本機のLANアドレス範囲と重複しないようにする必要がある
nameserverstring[]デフォルトで使用する上流DNSサーバー
fallbackstring[]結果が信頼できないと判断された場合に使う予備のDNS
fallback-filterobjectfallbackを有効にするタイミングを決める判定条件。例えばgeoip-codeによる判定など

tun:仮想ネットワークアダプター

内部動作の仕組みは応用設定・TUNモードの内部動作をご覧ください。主要項目:

項目説明
enablebooleanTUNモードを有効にするかどうか
stacksystem / gvisorネットワークスタックの実装方式、応用設定の比較を参照
auto-routebooleanシステムのルーティングテーブルを自動的に仮想アダプターへ向けるかどうか
auto-detect-interfaceboolean物理ネットワークインターフェースを自動検出し、出口インターフェースの手動指定を不要にする
dns-hijackstring[]ハイジャックして処理すべきDNSリクエストのアドレス範囲

profile:キャッシュ戦略

profile.store-selectedbooleanデフォルト:false

有効にすると、selectタイプのプロキシグループで手動切り替えたノードが記憶され、次回クライアントを起動したり購読を更新したりしても、設定ファイルに書かれたデフォルトノードに戻らず、前回の選択を維持します。

profile.store-fake-ipbooleanデフォルト:false

Fake-IPのドメイン-IPマッピングをキャッシュするかどうか。有効にすると再起動後の再マッピングのオーバーヘッドを減らせますが、ごくまれにマッピングと実際の解決結果が一時的に一致しなくなることがあります。

最小構成の設定例

以上の内容をまとめると、実際に動作する最小構成の設定はおおよそ次のようになります(実際の利用ではproxiesは通常購読から自動生成されるため、手書きする必要はほとんどありません)。

config.yamlyaml
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090

proxies:
  - name: Node01
    type: ss
    server: example.com
    port: 443
    cipher: aes-256-gcm
    password: "your-password"

proxy-groups:
  - name: Auto
    type: url-test
    proxies: [Node01]
    url: "https://www.gstatic.com/generate_204"
    interval: 300

rules:
  - GEOIP,CN,DIRECT
  - MATCH,Auto

このファイルをconfig.yamlとして保存しクライアントにインポートすれば、正常に振り分けが機能する最小構成のシステムになります。その後は必要に応じてdnstunrule-providersなどのモジュールを順に追加していきましょう。