macOSにClashクライアントをインストールする方法:ネットワーク拡張の許可、キーチェーンの確認、破損エラーへの対処
「壊れているため開けません」と表示された場合の許可手順、初回のTUN起動時に必要なネットワーク拡張の承認、キーチェーンのパスワード入力が繰り返し表示される原因と対処法を解説します。
記事を読む →クライアントのダウンロード
まずOSを確認し、次にCPUアーキテクチャを選びます。デスクトップ用GUIクライアント、モバイルアプリ、単体のコアではインストール方法が異なります。ダウンロードページで対応デバイスと必要条件を確認してください。
クライアントは設定管理とローカルの通信転送を行います。リモートプロキシの利用可否は、別途用意するサービスと設定に依存します。アプリをインストールしただけでは、利用可能なノードは用意されません。サブスクリプションがある場合は、使用するクライアントの設定形式に対応しているか確認してください。旧クライアントから移行する際は元の設定を残し、ローカルポート、権限、ルールの互換性を改めて確認しましょう。
クライアント一覧を見る →設定と接続
画面は機能を説明するためのイメージで、特定クライアントの全画面を示すものではありません。メニュー名はクライアントによって異なります。まず設定と通信の関係を理解し、実際の画面で該当する項目を探してください。
日常設定
上から順に照合
最初に一致したルールを適用
rules:
- DOMAIN-SUFFIX,google.com,Proxy
- IP-CIDR,192.168.0.0/16,DIRECT
- GEOIP,CN,DIRECT
- MATCH,Proxy
ポリシーグループ名は設定ファイルの定義と一致させてください。
プロキシ設定
設定ファイルのルールに従ってポリシーを選択します。
コアに渡された接続にグローバルポリシーを適用します。
モードの選択とシステムプロキシのオン・オフは別々に設定します。
設定管理
https://example.com/profile.yaml
ここでは入力欄の表示例を示しています。実際のクライアントで自分のサブスクリプションURLを入力してください。
ネットワークの取り込み
プラットフォームに応じて、サービスのインストール、仮想ネットワークインターフェースの許可、VPN接続要求の承認を行います。
有効にしたら、Webページ、ローカルネットワーク、よく使うアプリへの接続を確認してください。
ドメイン名前解決
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- https://dns.alidns.com/dns-query
設定例は各項目の意味を理解するためのものです。リゾルバーへの接続、ブートストラップDNS、互換性のためのフィルターは、実際のネットワーク環境で確認してください。
設定ガイドを読む →基本概念から設定の管理まで、章ごとに順を追って確認できます。
設定を共有する際の注意点
mode: rule
proxy-groups:
- name: Proxy
type: select
proxies:
- DIRECT
rules:
- GEOIP,CN,DIRECT
- MATCH,Proxy
構成例はポリシーの参照関係を示すものです。実際のプロキシ出口は自分の設定で定義してください。
複数デバイスで設定を共有
同じ設定形式に対応するクライアントなら、ドメインルールやポリシーグループの定義を共有できます。設定をコピーすれば、各デバイスで振り分け方を一から考え直す必要はありません。ただし、ローカルのネットワーク設定をそのまま流用することはできません。デスクトップの待ち受けポート、モバイル端末のVPN許可、OSごとの自動起動方法は、それぞれの実行環境に固有です。
デバイス間で設定を移行する際は、まずコアの対応状況を確認してから設定を読み込んでください。ローカルルールファイル、スクリプト、独自拡張フィールドを含む場合は、移行先のクライアントが認識できるか確認が必要です。サブスクリプションURLをコピーしても、すべてのクライアントで同じ機能が使えるとは限りません。利用できる設定を一つ残しておくと、移行や切り戻しをスムーズに行えます。
OSに合ったクライアントをダウンロードし、設定管理画面で互換性のあるサブスクリプションを追加して選択します。サブスクリプションがない場合は、まず利用可能な設定を用意してください。インストーラーだけでは、リモートプロキシサービスは作成されません。
ルールモードを選び、プロキシ画面でポリシーグループが利用可能な出口を指していることを確認します。次に、システムプロキシを有効にするか、プラットフォームに必要なVPN接続を許可してください。初回の設定では、他のネットワークツールを併用しないでください。
よく使うWebページにアクセスし、接続画面で適用されたルールを確認します。次にローカルサービスやよく使うアプリもテストし、プロキシ通信と直接接続が想定どおり処理されるか確認してください。
基本の使い方 · 3ステップ
初回は「設定が有効」「出口が利用可能」「通信がクライアントを経由」の順に確認してください。設定の読み込みは最初のステップにすぎません。ポリシーグループで出口が選択され、アプリの通信が実際にクライアントを経由していることも確認します。接続できない場合は、モードを何度も切り替えるのではなく、まずエラーメッセージを確認してください。
設定は一度に一項目だけ変更し、変更前の状態を記録しておきましょう。基本の接続を確認してから、TUN、カスタムDNS、ルールの上書きを試してください。どの変更がネットワークに影響したか特定しやすくなり、サブスクリプション更新後も以前の環境に戻しやすくなります。
設定ガイドを読む →オープンソースのエコシステムと保守
ソフトウェアの提供元や、設定を実行するコンポーネントを把握することは、アプリ名だけを見るより重要です。当サイトはダウンロード先と日本語のガイドを掲載していますが、プロキシサービスは提供していません。実際の機能は、選択したクライアントと対応するコアによって異なります。
Clashは設定ファイルでプロキシ、ポリシーグループ、ルールを管理する方式を広めました。元のプロジェクトと、それを中心に生まれたクライアントは、同じ開発・保守主体ではありません。その後のClash Meta/mihomoエコシステムでは、互換性のある設定やネットワーク機能が引き続き開発されています。そのため、名称にClashが含まれていても、同じチームが開発しているとは限らず、同じプロトコルや設定項目に対応しているとも限りません。
新しいクライアントを選ぶ際は、現在も保守されているか、OSに対応しているか、コアとの互換性があるかを優先して確認してください。過去のクライアントは移行の経緯を知るうえで参考になりますが、長期間使う場合はOS更新による権限、ネットワークスタック、インストール互換性の変化も考慮が必要です。既存の設定を一度に書き直す必要はありません。保守中のクライアントに読み込んでから、ログを見て未対応の項目を確認できます。
GUIクライアントには通常、サブスクリプション管理、モード切り替え、システムプロキシ、ログなどの機能があります。コアは設定の解析、ルール照合、プロキシ接続、DNS処理を担当します。メニューが表示されるかどうかは、画面側の機能だけでなく、同梱されたコアや権限の仕組みにも左右されます。ガイドと画面が異なる場合は、まずクライアント名を確認し、同等の機能がある項目を探してください。
当サイトのダウンロードページでは、GUIクライアントと単体のmihomoコアを分けて掲載しています。一般的なデスクトップやスマートフォンでは、GUIから始めると設定しやすくなります。サーバー、ルーター、自動化環境で使う場合は、設定ファイルの場所、サービス権限、起動方法を自分で管理する必要があります。コア単体を入手しても、GUIのシステムプロキシ設定機能が利用できるわけではありません。
オープンソースのリポジトリでは、実装や設定項目の用途を確認したり、既知の問題を調べたりできます。課題の記録を見るときは、再現条件が一致するか比較してください。同じ現象でも、サブスクリプションの期限切れ、接続先サイトの制限、ローカルのプロキシポート競合などが原因の場合があり、必ずしもプログラムの不具合とは限りません。報告する際は、クライアント名、OS、操作手順、個人情報を伏せたログを用意すると、確認のやり取りを減らせます。
以下のコマンドはmihomoのソースコードを取得するためのものです。実装を読んだり開発に参加したりする場合に利用できます。通常の利用でプロジェクトをコンパイルする必要はありません。ダウンロードページからクライアントを選んでください。リポジトリのビルド手順、設定説明、リリース履歴は合わせて確認しましょう。ソースコードを参照できても、ローカル環境や設定内容の確認に代わるものではありません。
クライアント、コア、サブスクリプションの更新は、それぞれ別の作業です。アプリの更新では画面や権限の手順が変わることがあり、コアの更新では設定項目の対応状況や接続動作が変わる場合があります。サブスクリプションの更新では、プロキシグループやルールが置き換わることがあります。変更を分けて適用すれば、問題が起きた際に原因を特定しやすく、ログを確認しながら段階的に戻せます。
更新前に、現在選択している設定、ポリシーグループの選択内容、ローカルの上書き設定を記録し、自分のルールファイルを保管してください。サブスクリプションの内容は通常、提供元が管理しています。ダウンロードしたファイルを直接編集すると、次回更新で変更が上書きされることがあります。長期的に残したい変更には、クライアントが対応する上書きまたはマージ機能を使ってください。新しい設定を適用したら、Webページ、LAN、よく使うアプリで動作を確認します。
Gitがローカルにインストールされている必要があります。このコマンドはリポジトリを取得するだけで、プロキシサービスのインストールや起動は行いません。
git clone https://github.com/MetaCubeX/mihomo.git
設定メモ
基本の接続ができたら、実際に困っている問題に合わせて設定を確認しましょう。ノード、モード、DNSを同時に変更するより、条件をそろえて比較するほうが原因を特定しやすくなります。
「壊れているため開けません」と表示された場合の許可手順、初回のTUN起動時に必要なネットワーク拡張の承認、キーチェーンのパスワード入力が繰り返し表示される原因と対処法を解説します。
記事を読む →システムプロキシはアプリが設定に従う必要があります。TUNはネットワーク層で仮想インターフェースにルーティングされた通信を取り込みます。適用範囲、権限、互換性を比較し、選び方を解説します。
記事を読む →dns設定ブロックの各項目を解説。nameserverとfallbackの役割、fallback-filterの判定条件、TUN利用時のdns-hijackの正しい書き方を紹介します。
記事を読む →クライアントは起動しているのにWebページを開けない場合は、まずサブスクリプションが有効か確認し、次に待ち受けポートとシステムプロキシを確認してください。特定のアプリだけに問題がある場合は、システムプロキシに従うか、独自のDNSを使っているか、他のVPNに通信を取り込まれていないかを比べます。接続画面に該当する通信が表示されない場合は、末尾のルールを急いで変更するのではなく、まず通信の入口を確認してください。
最初から一連の設定を行う場合は使い方ガイドを参照してください。すでに接続できていて、ポリシーグループやルールの優先順位を確認したい場合は設定ガイドをご覧ください。トラブル対処では元の設定を残し、変更内容と症状を一つずつ記録しましょう。接続が復旧したあとに、不要なグローバルプロキシやDNSの上書き設定が残るのを防げます。