ルールベースのルーティングエンジン
ドメイン、IP、GeoIP、プロセス名などによる多次元で精密なルーティング。国内と海外のトラフィックを分離し、帯域の無駄を徹底的に排除します。
詳細を見る →ルーティングエンジンから YAML 設定、Fake-IP DNS からマルチプロトコル対応まで。Clash のコアアーキテクチャを理解し、その可能性を最大限に引き出しましょう。
Clash は Go 言語で構築された高性能コアをベースに、プロキシツールに必要なすべての主要機能を統合しています。各機能はコミュニティによって長年磨き上げられ、業界標準となっています。
ドメイン、IP、GeoIP、プロセス名などによる多次元で精密なルーティング。国内と海外のトラフィックを分離し、帯域の無駄を徹底的に排除します。
詳細を見る →Shadowsocks、VMess、Trojan、VLESS、Hysteria 2、TUIC など、主要なプロトコルをネイティブサポート。単一のコアで、断片化されたクライアントをすべて代替します。
プロトコル一覧を表示 →人間とマシンの両方に優しい YAML 構文を採用。バージョン管理に対応し、サブスクリプションリンクによるワンクリック同期が可能で、手動メンテナンスは不要です。
設定例を表示 →Fake-IP 機構を通じてシステム DNS を制御。DNS クエリのプロバイダーへの漏洩を徹底的に防ぎ、あらゆるネットワーク環境で本当の現在地とデジタル指紋を保護します。
仕組みを理解する →select、url-test、fallback、load-balance の4つのグループタイプをサポートし、高可用なプロキシルーティングを実現します。
プロキシグループの詳細 →内蔵の HTTP RESTful API により、Yacd や MetaCubeX などの外部パネルから、ノードの切り替え、トラフィック監視、ルール管理をリアルタイムで行えます。
API ドキュメント →Clash の最大かつユニークな強みは、その強力な ルールベースのプロキシシステム です。グローバルプロキシや単純な PAC リストしかできない従来のツールとは異なり、多次元でのきめ細かなルーティング制御を提供します。
ルールは優先順位に従って上から順にマッチングされ、ヒットすると対応するアクション(PROXY / DIRECT / REJECT)が実行されます。最後の MATCH ルールがフォールバック(デフォルト)として機能します。
google.com
Rule Providers(ルールセット購読):rule-providers フィールドを通じて、リモートの YAML/TEXT ルールファイルを読み込みます。Clash は設定された間隔で自動的に更新を取得するため、巨大な設定ファイルを手動で管理する必要がありません。
Clash Meta (mihomo) コアは、オリジナルの Clash をベースに拡張され、現在市販されているほぼすべての主要なプロキシプロトコルをサポートしています。どのようなプロバイダーであっても、Clash 一つで対応可能です。
| プロトコル名 | トランスポート | 暗号化方式 | 難読化 | 推奨シーン | サポートバージョン |
|---|---|---|---|---|---|
| Shadowsocks | TCP / UDP | AEAD 暗号化 | 標準 | 最も広い互換性、空港の標準 | オリジナル + Meta |
| ShadowsocksR | TCP / UDP | 多重難読化 | 難読化あり | 旧来のプロバイダーとの互換性 | オリジナル + Meta |
| VMess | TCP / WS / H2 / GRPC | AES / ChaCha20 | WebSocket TLS | V2Ray エコシステムで推奨 | オリジナル + Meta |
| VLESS | TCP / WS / H2 / GRPC | 内蔵暗号化なし(TLSに依存) | TLS / Reality | 軽量で高性能、新規導入に推奨 | Meta のみ |
| Trojan | TCP | TLS ネイティブ | HTTPS サイトへの偽装 | 強力な耐プロービング性 | オリジナル + Meta |
| Hysteria 2 | UDP (QUIC) | TLS 1.3 | QUIC 難読化 | 高レイテンシ・パケットロス環境での高速転送 | Meta のみ |
| TUIC | UDP (QUIC) | TLS 1.3 | QUIC 多重化 | 低レイテンシ環境向け最適化 | Meta のみ |
| Snell | TCP | AES-256-GCM | 標準 | Surge エコシステムとの連携 | オリジナル + Meta |
| Socks5 / HTTP | TCP | TLS オプション | なし | LAN内の中継 | オリジナル + Meta |
| Reality | TCP | XTLS / Vision | 実在するサイトの TLS 指紋偽装 | TLS 指紋検出への最強の対策 | Meta のみ |
新しいノードには、VLESS + Reality(最強の耐検出性)または Hysteria 2(高レイテンシ環境での最高速度)が推奨されます。どちらも Clash Meta (mihomo) コアが必要です。最も広い互換性が必要な場合は、Shadowsocks (AEAD) が依然として安定した選択肢です。
Clash は唯一の設定形式として YAML を採用しています。完全な設定ファイルは以下のトップレベルフィールドで構成されています。各フィールドの役割を理解することが、Clash マスターへの第一歩です。
ユーザーがクライアントのUI上で、現在アクティブなプロキシノードまたはサブグループを手動で選択します。Netflixへのアクセスに米国のノードを固定して使用したい場合など、精密な制御が必要なシーンに適しています。
グループ内の全ノードに定期的に HTTP プローブを送信し、最もレイテンシの低いノードを自動的に選択します。手動での測定は不要で、常に最適なネットワーク体験を自動で維持します。
url:レイテンシ測定用URL (gstatic 204 推奨)interval:測定間隔(秒)、300s 推奨tolerance:頻繁な切り替えを避けるための許容値 (Tolerance)ノードを並び順に使用し、現在のノードで接続に失敗した場合に次の利用可能なノードへ自動で切り替えます。サービスの停止を許容できない重要な業務シーンに適しています。
トラフィックをグループ内の複数ノードへ分散させます。consistent-hashing (ドメインごとにノード固定) と round-robin (ラウンドロビン) をサポートし、帯域を最大限に活用してスループットを向上させます。
従来のプロキシモードでは、ブラウザがまずプロバイダー (ISP) の DNS サーバーにドメインの IP を問い合わせ、その後にプロキシ接続を確立します。このため、トラフィックが暗号化されていても、どのドメインにアクセスしようとしているかが ISP に筒抜けになります。
Clash の Fake-IP モードは、ローカルでシステム DNS を制御し、各ドメインに対して即座にダミーのローカル IP (198.18.x.x など) を返します。アプリはこの IP を使って即座に接続を開始します。Clash 内核はこのダミー IP を認識すると、本来のドメイン名を暗号化されたトンネル経由でリモートのプロキシサーバーへ送り、そこで DNS 解決を行います。これにより ISP への DNS クエリ漏洩を根本から遮断します。
ダミーIPを即座に返却し、ドメイン名はリモートで解決。DNS 漏洩を完全に防止し、接続レイテンシが最も低くなります。
先にローカルで DNS 解決を行ってからルーティングを判断。互換性は高いですが、DNS 漏洩のリスクがあります。
Fake-IP フィルタ (fake-ip-filter): WeChat や QQ のログイン用ドメインなど、一部のローカルサービスは Fake-IP と相性が悪いため、fake-ip-filter で除外設定を行う必要があります。
推奨 DoH アップストリーム: 国内向けには https://doh.pub/dns-query や https://dns.alidns.com/dns-query、Fallack には https://1.1.1.1/dns-query (Cloudflare) を推奨します。
Clash コアには HTTP RESTful API が内蔵されています。external-controller でポートを開放することで、Yacd、MetaCubeX、clash-dashboard などのサードパーティ製パネルから、ノード切り替え、トラフィック監視、接続管理などのすべての操作を、コアを再起動することなくリアルタイムに行えます。
GET /proxies
全プロキシノードとグループの情報を取得
PUT /proxies/:name
指定したグループのノードを切り替え
GET /proxies/:name/delay
ノードごとのリアルタイムレイテンシ測定 (ms)
GET /traffic
WebSocket によるリアルタイムスループット配信
GET /connections
現在アクティブな接続リストを取得
DELETE /connections/:id
特定の接続を切断
PUT /configs
設定ファイルをリロード (再起動不要)
PATCH /configs
単一のフィールドを動的に変更
PUT /rules
ルールセットのホットアップデート
GET /logs
レベルによるフィルタリング対応の WebSocket ログ
GET /version
コアのバージョン情報を取得
GET /memory
コアのリアルタイムメモリ使用量を取得
各接続を独立した goroutine が処理。スレッド切り替えのオーバーヘッドがなく、CPU コア数に応じて直線的にパフォーマンスが向上します。
ドメインルールはハッシュテーブルに格納。ルール数がどれほど多くてもマッチングは常に一定時間で完了し、パフォーマンスを低下させません。
内蔵 DNS キャッシュと Fake-IP により、リモート DNS の応答を待たずに即座に接続を開始。体感レイテンシを大幅に削減します。
単一の実行ファイルとしてコンパイル。依存関係がなく、Windows, macOS, Linux, Android への導入が極めて容易です。
お使いのOSに関わらず、以下の手順に従えば約5分で Clash の設定が完了し、安定した国際ネットワークへのアクセスが可能になります。
お使いのOS用の GUI クライアントを選択:Windows (Clash Verge Rev)、macOS (Clash Verge Rev または ClashX Pro)、Android (Clash Meta for Android)、Linux (Clash Meta コア + Yacd)。
ダウンロードページへ →Windows: .exe ファイルをダブルクリックし、ウィザードに従ってインストールを完了します。macOS: .dmg 内のアプリを Applications フォルダにドラッグします。Android: 「不明なソースからのアプリ」のインストールを許可してから APK をインストールしてください。初回起動時、システムプロキシの権限を求められた場合は許可してください。
クライアント画面の「Profiles(構成)」または「サブスクリプション」ページで、プロバイダーから提供されたサブスクリプション URL を貼り付け、「Download」または「Update」ボタンをクリックします。Clash が自動的にすべてのノード情報とグループ設定を解析します。サーバー情報を手動で入力する必要はありません。
「Proxies(プロキシ)」ページで、各グループの「Latency Test(遅延測定)」を実行し、レイテンシが最も低い(通常は緑色で表示)ノードを選択します。サブスクリプションに「url-test」グループが含まれている場合、Clash が最適なノードを自動選択します。
メイン画面で「System Proxy(システムプロキシ)」をオンにします。これで Clash がシステム全体の通信を制御します。ブラウザで Google, YouTube, GitHub などを開き、速度の向上を体感してください。「Start on Boot(開機自始)」を有効にしておくと便利です。
以下を確認してください:1) 「System Proxy」がオンになっているか。2) サブスクリプションがダウンロードされ、ノードリストが表示されているか。3) 選択したノードのレイテンシ測定が正常か(timeout になっていないか)。4) ファイアウォールが Clash をブロックしていないか。Windows の場合は、システムプロキシ設定が 127.0.0.1:7890 を指しているか確認してください。
dnsleaktest.com や ipleak.net にアクセスしてください。もし日本の ISP(例:NTT, KDDI, Softbank)の DNS サーバーが表示された場合は漏洩しています。設定ファイルで DNS の enhanced-mode を 「fake-ip」に変更して再起動してください。
一部のクライアントはローカルキャッシュを使用します。「Profiles」ページで、サブスクリプション名の横にある「Force Refresh」や「Update」ボタンをクリックしてください。解決しない場合は、一度削除してから追加し直すか、サブスクリプションの有効期限を確認してください。
設定ファイルに「tun: enable: true」と「stack: mixed」を追加し、クライアントを管理者/root 権限で実行してください。TUN モードは、システムプロキシに従わないプログラム(ゲームや CLI ツールなど)を制御できます。Windows では Wintun ドライバのインストールが必要です。
大部分は共通です。オリジナル Clash 用の設定は Clash Meta (mihomo) でも動作します。ただし、Meta 独自のフィールド(VLESS, Reality, Hysteria 2, TUIC など)は、2023年に開発が終了したオリジナルコアでは動作しません。現在は Meta コアへの移行を推奨します。
1) Clash Meta バイナリをダウンロード。2) YAML 設定で「tproxy-port: 7893」と「allow-lan: true」を有効化。3) iptables / nftables でトラフィックを 7893 ポートへ転送。4) systemd でデーモン化。他のデバイスのゲートウェイをこのサーバーに向ければ完了です。
お使いのプラットフォーム用の Clash クライアントをダウンロードしましょう。3分で設定が完了し、高速で安定したアクセスを楽しめます。