Clash 設定ドキュメント

Clash 設定ガイド
ゼロからの完全プロキシデプロイ

サブスクリプション導入、YAML 構文、プロキシグループ、ルール分散、DNS 保護、TUN グローバルプロキシ。Windows、macOS、Android の全プラットフォームに対応した Clash 設定ガイド。

入門

クイックスタート:3つのステップでプロキシ導入完了

どの Clash クライアントを使用する場合でも、基本的な流れは同じです:クライアントをダウンロード → サブスクリプションを導入 → ノードを選択して有効化。通常、3分以内に完了します。

1

Clash クライアントのダウンロードとインストール

お使いのOSに合わせてクライアントダウンロードページからインストーラーを入手してください。Windows は Clash Verge Rev、macOS は ClashX Meta または Clash Verge Rev、Android は ClashMeta をお勧めします。

2

プロバイダーからサブスクリプションリンクを取得して導入

プロバイダーのダッシュボードにログインし、サブスクリプションリンク(URL形式)をコピーします。Clash クライアントの「サブスクリプション」または「設定」オプションを見つけ、リンクを貼り付けて「更新」をクリックしてください。自動的にすべてのノード設定が読み込まれます。

3

プロキシノードを選択し、システムプロキシを有効化

「プロキシ」ページに切り替え、遅延の少ないノードを選択します。「システムプロキシ」または「TUN モード」(グローバル傍受)を有効にすれば利用開始です。

推奨事項: config.yaml を手動で作成するのではなく、プロバイダーから提供されるサブスクリプションリンクを使用してください。これには完全なノード設定が含まれており、自動更新も可能です。

入門

サブスクリプションリンク導入の詳細

サブスクリプションリンクは、プロキシサービスによって提供される設定ファイルの保存先アドレスです。Clash がこの URL にアクセスすると、ノード、グループ、ルールを含む完全な YAML 設定がダウンロードされ、ローカルに保存されます。

各クライアントの導入方法

クライアント プラットフォーム 導入場所
Clash Verge Rev Windows / macOS / Linux サイドバーの「Subscription」→ 右上の「+」 → URLを貼り付け → 確定
ClashX / ClashX Meta macOS メニューバーアイコン → Config → Remote Config → Manage → Add
ClashMeta for Android Android 下部の「Config」→ 右上の「+」 → URLから導入
FlClash Android / Windows サイドバーの「Config」→ 「+」 → リンクを入力 → ダウンロード
Stash iOS トップ「設定ファイル」→「URLからダウンロード」
Shadowrocket iOS 右上の「+」→「Subscribe」を選択 → URLを貼り付け

注意: サブスクリプションリンクはプライベートなデータです。他人に教えないでください。最新のノード情報を保つために、「自動更新」機能(通常 24 時間ごと)を有効にすることをお勧めします。

サブスクリプション更新間隔の推奨

ほとんどのプロバイダーのノードは 1〜7 日おきに変更されます。自動更新の間隔を 24 時間に設定することで、サーバーに負荷をかけることなく常に最新の状態を維持できます。

設定ファイル

config.yaml ファイル構造

Clash の設定ファイルは YAML 形式 で、通常 config.yaml という名前です。トップレベルのフィールドで構成され、インデントによって階層化されます。フィールドの記述順序は解析に影響しません。

YAML
# Clash config.yaml — top-level structure

mixed-port: 7890          # HTTP + SOCKS5 mixed port
allow-lan: false          # Allow LAN devices to use proxy
mode: rule               # rule | global | direct
log-level: info           # silent | error | warning | info | debug
external-controller: 127.0.0.1:9090   # REST API port

dns:
  # DNS settings — see DNS section below

proxies:
  # Proxy node definitions

proxy-groups:
  # Proxy group policies

rules:
  # Traffic routing rules

グローバルパラメータの説明

フィールドデフォルト値説明
mixed-port7890HTTP および SOCKS5 プロトコルの両方を待機する混合ポート
portHTTP プロキシポートのみ(mixed-port との選択制)
socks-portSOCKS5 ポートのみ(mixed-port との選択制)
allow-lanfalseLAN内の他のデバイスがこのプロキシを使用することを許可する
moderulerule(ルール分散)/ global(グローバルプロキシ)/ direct(すべて直接接続)
log-levelinfoログレベル。トラブルシューティング時は debug に変更可能
external-controllerREST API アドレス。GUI クライアントはこのインターフェースを介してコアを制御します
secretREST API のアクセスキー(オプション)

GUI クライアント(Clash Verge Rev や ClashX など)を使用する場合、ほとんどのグローバルパラメータはインターフェースから制御できるため、config.yaml を直接編集する必要はありません。手動設定は主にサーバーデプロイや高度なカスタマイズ向けです。

設定ファイル

プロキシノード

proxies フィールドはすべてのプロキシノードを定義します。各ノードは - name: で始まり、type フィールドでプロトコルを指定します。Clash は主要なプロキシプロトコルをすべてサポートしています:

Shadowsocks ShadowsocksR VMess VLESS Trojan Hysteria2 TUIC v5 WireGuard NaïveProxy SOCKS5 HTTP / HTTPS

Shadowsocks ノードの例

YAML
proxies:
  - nameHK-01 香港ノード
    type: ss
    server: hk.example.com
    port: 8388
    cipher: aes-128-gcm
    password: "your-password"
    udp: true

VMess ノードの例

YAML
  - nameJP-02 日本ノード
    type: vmess
    server: jp.example.com
    port: 443
    uuid: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    alterId: 0
    cipher: auto
    tls: true
    network: ws
    ws-opts:
      path: "/ws"
      headers:
        Host: jp.example.com

Trojan ノードの例

YAML
  - nameUS-03 アメリカノード
    type: trojan
    server: us.example.com
    port: 443
    password: "your-trojan-password"
    sni: us.example.com
    skip-cert-verify: false
    udp: true

実務上は、ノード設定はサブスクリプションリンクを介して自動的に提供されるため、これらのフィールドを手動で埋める必要はありません。手動設定は自作ノードや微調整が必要な場合のみ使用します。

設定ファイル

プロキシグループ (proxy-groups)

proxy-groups は、複数のノードをポリシーグループとしてまとめ、トラフィックの制御を柔軟に行います。ルールは特定のノードではなくグループ名を参照します。Clash は以下のグループタイプをサポートしています:

タイプ説明
selectノードを手動で選択。GUI クライアントのプルダウンメニューから切り替える最も一般的な方法
url-test遅延を自動的にテストし、最も低遅延なノードを選択します
fallback順次フォールトトレランス。優先ノードが利用できない場合に自動的に次のノードへ切り替えます
load-balanceトラフィックを複数のノードに分散させ、帯域利用率を向上させます
relayトラフィックを複数のノードを経由させることで、送信元(出口)IPを隠蔽します

典型的なグループ設定の例

YAML
proxy-groups:

  # Main select group — user picks manually
  - nameノード選択
    type: select
    proxies:
      - 自動選択
      - HK-01 香港ノード
      - JP-02 日本ノード
      - US-03 アメリカノード
      - DIRECT

  # Auto lowest-latency group
  - name自動選択
    type: url-test
    proxies:
      - HK-01 香港ノード
      - JP-02 日本ノード
      - US-03 アメリカノード
    url: "http://www.gstatic.com/generate_204"
    interval: 300   # test every 300 seconds
    tolerance: 50   # switch if latency diff > 50ms

  # Fallback for services requiring specific region
  - name故障時の切り替え(フォールバック)
    type: fallback
    proxies:
      - HK-01 香港ノード
      - JP-02 日本ノード
    url: "http://www.gstatic.com/generate_204"
    interval: 120

DIRECTREJECT は Clash に組み込まれた特殊ポリシーです。メインの proxies フィールドで定義しなくても、グループの proxies リスト内で直接参照できます。

設定ファイル

ルール分散

rules フィールドは、トラフィックのルーティングポリシーを定義します。上から順に照合され、一致した時点で処理が実行され、以降の照合は行われません。各ルールの形式は以下の通りです:

タイプ, 一致する値, ポリシー名[, no-resolve]

ルールタイプ

タイプマッチング内容
DOMAIN完全なドメインの正確な一致DOMAIN,google.com,ノード選択
DOMAIN-SUFFIXドメインサフィックス(後方)一致(サブドメインを含む)DOMAIN-SUFFIX,google.com,ノード選択
DOMAIN-KEYWORDドメインにキーワードを含むDOMAIN-KEYWORD,youtube,ノード選択
IP-CIDRターゲットの IP アドレス範囲IP-CIDR,192.168.0.0/16,DIRECT
IP-CIDR6IPv6 アドレス範囲IP-CIDR6,2001:db8::/32,DIRECT
GEOIPIPの帰属国(GeoIP データベース)GEOIP,CN,DIRECT
GEOSITEサイトカテゴリー(GeoSite データベースが必要)GEOSITE,cn,DIRECT
PROCESS-NAMEプロセス名(デスクトップ版)PROCESS-NAME,curl,DIRECT
MATCHデフォルトルール。他のすべてのトラフィックに適用されますMATCH,ノード選択

ルールの例:一般的な分散設定

YAML
rules:
  # Block ads and tracking domains
  - DOMAIN-KEYWORD,ads,REJECT
  - DOMAIN-SUFFIX,doubleclick.net,REJECT

  # Direct: LAN addresses
  - IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
  - IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
  - IP-CIDR,127.0.0.0/8,DIRECT,no-resolve

  # Proxy: common overseas services
  - ノード選択
  - ノード選択
  - ノード選択
  - ノード選択
  - ノード選択

  # Direct: mainland China IPs
  - GEOIP,CN,DIRECT

  # Default: proxy all remaining traffic
  - ノード選択

ルールの順序は非常に重要です。より具体的なルールを優先して記述してくださいMATCH はデフォルトのフォールバックルールであり、リストの最後に配置する必要があります。IPベースのルール(IP-CIDR、GEOIP)を使用する場合、不要な DNS 解決を避けるために no-resolve サフィックスを追加することをお勧めします。

Rule Provider を使用して外部ルールセットを参照

Mihomo(Clash Meta コア)は rule-providers をサポートしており、外部の URL からルールセットを読み込むことができます。これにより、膨大なドメインリストを手動で config.yaml に記述する必要がなくなります:

YAML
rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

rules:
  - RULE-SET,reject,REJECT
  - ノード選択
ネットワーク

DNS 設定とリーク保護

Clash には内蔵の DNS モジュールがあり、ドメインの解決を行います。適切な DNS 設定により、DNS リーク(ISP が訪問先ドメインを知ること)を防ぎ、汚染を回避し、解決速度を向上させることができます。

推奨される DNS 設定

YAML
dns:
  enable: true
  listen: 0.0.0.0:1053       # DNS server port inside Clash
  ipv6: false                 # Disable if IPv6 not needed
  enhanced-mode: fake-ip     # fake-ip | redir-host
  fake-ip-range: 198.18.0.1/16

  # Domains resolved directly (not through fake-ip)
  fake-ip-filter:
    - "*.lan"
    - localhost.ptlogin2.qq.com

  # Upstream DNS servers used by Clash
  nameserver:
    - 114.114.114.114         # CN public DNS
    - 223.5.5.5               # Alibaba DNS

  # Fallback DNS (used for overseas domains)
  fallback:
    - tls://1.1.1.1:853      # Cloudflare DoT
    - tls://8.8.8.8:853      # Google DoT
    - https://1.1.1.1/dns-query

  # Use fallback when geoip is not CN
  fallback-filter:
    geoip: true
    geoip-code: CN
    ipcidr:
      - 240.0.0.0/4           # Poison result range

FakeIP vs Redir-Host モード比較

モード仕組み利点適用シーン
fake-ip 偽の IP を返します。実際のドメイン解決はプロキシレイヤーで Clash が行います DNS リークを完全に防止し、高速通信を実現します ほとんどのシーンで推奨されます
redir-host 実際の IP を先に解析し、その IP に基づいてルーティングポリシーを決定します 互換性を重視する場合。一部の NAS やゲームシーンで必要です FakeIP で互換性の問題が発生する場合に使用します
ネットワーク

TUN モード・グローバルプロキシ

TUN モードは、仮想ネットワークインターフェースを作成してOSカーネルレベルですべての TCP/UDP トラフィックを傍受します。アプリごとのプロキシ設定が不要になり、ゲーム、ターミナルツール、Electron アプリなど、システムプロキシを無視するソフトウェアに対する最終的な解決策となります。

TUN モードの利用には 管理者権限 が必要です(Windows は管理者として実行、macOS はヘルパーツールの承認が必要)。ほとんどの GUI クライアントは権限リクエストを自動で処理します。インターフェース上のスイッチを切り替えるだけです。

config.yaml で TUN を有効にする

YAML
tun:
  enable: true
  stack: mixed          # mixed (recommended) | system | gvisor
  dns-hijack:
    - any:53           # Intercept all DNS queries
  auto-route: true     # Automatically add routing rules
  auto-detect-interface: true

TUN stack モードの選択

stack 値説明推奨度
mixedTCP は system、UDP は gvisor を使用し、性能と互換性を両立推奨の第一候補
systemシステムネットワークスタックを呼び出します。最高性能ですが、UDP の互換性がわずかに劣る場合がありますパフォーマンスを優先する場合に選択
gvisorユーザー空間ネットワークスタック。互換性は最高ですが、CPU 消費がわずかに高くなります互換性を優先する場合に選択

各クライアントでの TUN 有効化方法

クライアント操作パス
Clash Verge Rev設定 → システム設定 → 「仮想ネットワークインターフェース(TUNモード)」を有効化
ClashX Metaメニューバー → Enhanced Mode(拡張モード)
ClashMeta for Android下部バーの「VPN」→ TUN モードを切り替え
FlClashサイドバー設定 → サービスモード(サービスのインストールが必要)
高度な設定

高度な設定

Proxy Provider:ノードソースの一元管理

proxy-providers を利用すると、URL やローカルファイルからノードを動的にロードできます。複数のプロバイダーを一括管理するのに最適です:

YAML
proxy-providers:
  airport-a:
    type: http
    url: "https://sub.airport-a.com/clash/subscribe?token=xxx"
    interval: 86400
    path: ./providers/airport-a.yaml
    health-check:
      enable: true
      url: "http://www.gstatic.com/generate_204"
      interval: 300

proxy-groups:
  - nameノード選択
    type: select
    use:           # Reference provider instead of individual nodes
      - airport-a

Profile Mixin:サブスクリプション設定の上書き

Clash Verge Rev などのクライアントは Mixin機能をサポートしています。これにより、元のサブスクリプションファイルを変更することなく、カスタム設定を最終的な設定に「ミックス」できます。TUN モードの強制有効化や DNS 設定の上書きによく使われます:

YAML — Mixin 設定
# Mixin config — merged on top of subscription
mixed-port: 7890
allow-lan: false
tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 114.114.114.114
高度な設定

よくある質問

サブスクリプションを導入してもノードが空のままです

以下の点を確認してください:サブスクリプションリンクの期限が切れていないか、URL が国内からアクセス可能か(一部のプロバイダー URL はブロックされている場合があります。既存のプロキシを介して更新を試みてください)、形式が Clash 用になっているか(ShadowsocksR 等の別形式でないか確認してください)。

システムプロキシを有効にしても、一部のソフトが検閲を回避できません

一部のソフトウェア(ゲーム、UWP アプリ、ターミナルツールなど)はシステムプロキシ設定に従わない場合があります。解決策は TUN モード を有効にすることです。これにより、システムカーネルレベルですべてのトラフィックを傍受します。詳細は TUN モード セクションをご覧ください。

遅延テストではノードが利用可能と表示されますが、実際のアクセスが非常に遅いです

遅延テスト(PING)はハンドシェイクの往復時間を反映するもので、実際のダウンロード速度とは異なります。別のノードに切り替えるか、「自動選択」グループを使用して最適な速度を自動的に見つけさせてください。また、現在のプロトコルがローカルネットワークによって制限されていないか確認してください(Shadowsocks は制限を受けやすいため、Hysteria2 や TUIC をお試しください)。

設定ファイルで YAML 解析エラーが発生しますか?

YAML はインデントに非常に敏感です。次の点を確認してください:インデントには 2 つのスペースを使用する(Tab キーは使用しない);特殊文字を含む文字列値は引用符で囲む;リスト項目の - の後にスペースを入れる。YAML Lint で設定ファイルの構文をオンライン検証することをお勧めします。

Clash のリアルタイム接続ログを確認するには?

ほとんどの GUI クライアントにはログパネルが内蔵されています。Clash Verge Rev:サイドバーの「ログ」、ClashX:メニューバー → ダッシュボード → ログ。また、REST API(http://127.0.0.1:9090、要 external-controller 設定)にアクセスし、Yacd や MetaCubeXD などのパネルを使用して接続詳細を確認することも可能です。

準備はいいですか?

Clash クライアントをダウンロードし、サブスクリプションリンクを導入。数分で完了します。