Clashのルール・グローバル・直接接続、3つのプロキシモードの違いとは?初心者向け選び方ガイド
Clashのルール・グローバル・直接接続という3つのプロキシモードについて、それぞれの動作方式、適した場面、切り替え方法を解説し、普段の使い方に合わせて最適なモードを選べるようにします。
全文を読む →オープンソースプロキシクライアント・図解チュートリアル
ダウンロード・インストールからサブスクリプション導入、ルール振り分けまで、授業の例題のように一つずつ解説。まず手順、次に理由を説明し、そのとおりに進めれば初回接続まで迷わず完了します。
FEATURES · 授業の講義
左側が目次、右側が黒板に貼られた講義プリントです。各ページで1つの機能を解説:何を解決するか、どう有効にするか、他ツールとの違いは何かを説明し、そのまま参照できる設定例も付けています。
振り分けはClashの中核機能です。各接続はルールリストを上から順に照合し、最初に一致した条件で直接接続・ノード経由・ブロックのいずれかが決まります。日本国内のサイトは直接接続で迂回せず、海外サービスはノードに任せ、広告やトラッキング用ドメインはそのまま拒否します。三者は互いに干渉しません。ルールはドメインサフィックス、IPレンジ、GeoSiteなど複数の書き方に対応しており、優先順位どおりに並べるだけで、サイトごとに個別設定する必要はありません。「全体プロキシ」型のツールとの違いは、振り分けが処理すべき通信だけを扱うため速度への影響が最小限で、プロキシによって国内サービスのアクセス地域が変わることもない点です。
rules:
- DOMAIN-SUFFIX,example.com,PROXY
- GEOSITE,cn,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY
サブスクリプションは1本の設定リンクで、クライアントが定期的にそこから最新のノードとルールを取得するため、手動メンテナンスの手間がありません。導入後は自動更新の間隔(一般に24時間)をそのまま使うのがおすすめで、ノードの失効や入口の変更も更新のたびにローカルへ反映されます。複数のサブスクリプションを併用し、用途別にポリシーグループから参照することもでき、互いに干渉しません。更新に失敗したときはまずログ内のHTTPステータスコードを確認し、次にシステム時刻が正確か、リンクが通信事業者にブロックされていないかを調べます。使い方ガイドに完全な確認手順があるので、順番にたどればほぼ特定できます。
proxy-providers:
my-sub:
type: http
url: "https://example.com/sub?token=xxxx"
interval: 86400
path: ./providers/my-sub.yaml
システムプロキシはブラウザやシステム設定に従うソフトの通信をクライアントに渡す方式で、日常的な用途の大半をカバーします。TUNモードは仮想ネットワークカードを作成し、端末上の全TCP/UDP接続を制御下に置くため、システムプロキシに従わないアプリ(ゲームやコマンドラインツール)も振り分けの対象にできます。両者は同時に使わず、通常のブラウジングはシステムプロキシのみで十分、全接続を制御したい場合はTUNを有効にします。TUNの利用にはサービスをインストールする管理者権限が必要で、WindowsとmacOSの許可手順はインストールガイドにプラットフォームごとの説明があります。Linuxではファイアウォールとルーティングテーブルの順序にも注意が必要です。
mixed-port: 7890
tun:
enable: true
stack: mixed
auto-route: true
ルール(Rule)はルール表を順番に照合する方式で、日常利用に推奨されます。グローバル(Global)は全ての接続を同じノードに渡す方式で、一時的なテストや調査に使います。直接接続(Direct)はプロキシを一切使わず、いわば一時停止の状態です。3つのモードはクライアントのメイン画面でワンクリック切り替えができ、設定ファイルのmode項目に対応します。初心者はまずルールモードを使い、「プロキシを有効にしても効果がない」場合はグローバルに切り替えて比較すれば、問題がルールかノードかを判断できます。グローバルでは効くのにルールでは効かない場合はルールが一致していないこと、両方で効かない場合はノードかシステムプロキシのスイッチに問題がある可能性が高いです。
mode: rule # rule / global / direct
log-level: info
allow-lan: false
ログはトラブル解析の第一現場です。各接続で一致したルール、選択されたノード、所要時間、失敗理由が1行ずつ記録されます。接続がタイムアウトする場合はtimeoutという文字列を探し、サブスクリプション更新に失敗した場合はprovider取得の行を確認し、ポートが使用中の場合は起動時にbindエラーが直接表示されます。log-levelを一時的にdebugに変更すると、より詳細なルール照合の過程が見られます。原因が分かったらinfoに戻し、ログが流れすぎないようにしましょう。当サイトのブログでは、よくあるエラーを一つずつ分かりやすい言葉に言い換え、それぞれの確認手順も示しているので、照らし合わせて読むだけで解決できます。
log-level: info # 排错时临时改 debug
external-controller: 127.0.0.1:9090
DOWNLOAD · プラットフォーム別クライアント選び
各プラットフォームの最初のカードは現在も活発にメンテナンスされている推奨クライアントです。メンテナンスが終了した旧クライアントは別途明記し、参考用のアーカイブとして扱います。プラットフォームカードをクリックするとダウンロードページの該当グループに移動し、システム要件と代替クライアントもそこに記載されています。
Windows 10以降対応:Clash Plusが第一候補、Clash Verge RevやFlClashなどが代替候補です。インストール後にサブスクリプションを導入すればすぐ使えます。
ダウンロードへ →IntelとApple Siliconで別パッケージを提供:Clash PlusとClash Verge Revは活発にメンテナンスされており、ClashX Metaはメンテナンス終了のためアーカイブ扱いです。
ダウンロードへ →Android 7以降対応:Clash PlusとClash Meta for Androidはいずれもmihomoカーネルを採用し、サブスクリプションとアプリ単位のプロキシに対応しています。
ダウンロードへ →App StoreにClash Plusが公開されています。検索するか、ダウンロードページからストアの詳細ページへ移動できます。インストール後にサブスクリプションを導入すればすぐ使え、公式サイトclashplus.ioにプラットフォームの説明があります。
ダウンロードへ →デスクトップ向けディストリビューションではClash Verge Revを推奨し、debとrpmパッケージを提供しています。サーバーやルーター用途ではmihomoカーネルを直接導入し、YAML設定でサービスとして動作させることもできます。
ダウンロードへ →カーネル(mihomo)はサーバーやルーターを扱う上級者向けで、ダウンロードページに別グループとして掲載しています。一般的なデスクトップやスマートフォンのユーザーは、上記5つのプラットフォームからGUIクライアントを選べば十分です。
QUICKSTART · 3ステップで開始
これは使い方ガイドの要約版です。完全版では各ステップにプラットフォーム別の違いとトラブル対応の分岐があります。まずは順番を覚えましょう:クライアントを入れる、サブスクリプションを導入する、プロキシを有効にして確認する——この順序を守ることが大切です。
OPEN SOURCE · 安心して使える理由
Clash系クライアントのソースコードはすべて公開されており、カーネルとGUIはコミュニティによってそれぞれ維持されています。以下の4項目でプロジェクトの経緯、役割分担、カーネルとの関係、更新の仕組みを説明します。読んでから通信を任せるか判断してください。
Clashは2018年前後に誕生し、当初はGo言語で書かれたコマンドライン型のプロキシコアでした。「ルールに基づく振り分け」という発想が開発者コミュニティで広まりました。オリジナルのプロジェクトがメンテナンス終了した後、コミュニティが公開ソースコードをもとに開発を続け、今日の全プラットフォームをカバーするクライアント群が生まれました。ダウンロードページに掲載されているすべてのクライアントは、この公開された開発の系譜をたどることができます。
カーネルとインターフェースが分離しているのがこの体制の特徴です。mihomo(旧Clash Meta)がコア転送とルール照合を担い、Clash Plus、Clash Verge Rev、FlClashなどのGUIクライアントがカーネルを一般ユーザーでも使いやすい画面に包み込みます。どの層に問題が起きても単独で置き換えられ、特定の作者や特定のリポジトリに縛られません。
mihomoは現在活発にメンテナンスされているカーネルで、オリジナルのClashの設定形式と互換性を持ちつつ、TUNモードやルールセットなどの機能を拡張しています。ダウンロードページに掲載されているGUIクライアントの多くはmihomoを内蔵しており、サーバーやルーターのユーザーはカーネル単体を直接導入し、同じYAML設定を使って、デスクトップクライアントと同じ振り分け動作を実現できます。
各クライアントはそれぞれのペースでバージョンを公開し、ダウンロードページのインストーラーリンクは上流のリリースに追従して更新されるため、ページ内にバージョン番号を固定していません。クライアントに内蔵されたサブスクリプションやGeoIP・GeoSiteデータベースは設定した間隔で自動更新され、ノード一覧と振り分けデータは常に最新の状態が保たれ、手動でダウンロードし直す必要はありません。
git clone https://github.com/MetaCubeX/mihomo.git
カーネルのリポジトリは公開されており、クローンすれば転送とルール照合の実装をすべて読むことができます。
BLOG · 最新記事
ブログは「1つの例題で1つのポイントを掘り下げる」形式で更新しています。モードの選び方、初回接続の確認方法、ログエラーの読み方など、各記事にそのまま実践できる手順と判断基準を掲載しています。
Clashのルール・グローバル・直接接続という3つのプロキシモードについて、それぞれの動作方式、適した場面、切り替え方法を解説し、普段の使い方に合わせて最適なモードを選べるようにします。
全文を読む →サブスクリプション導入後の初回接続を解説します。ノードの選び方、遅延テストのやり方、システムプロキシの有効化、そして2つの方法でプロキシが実際に機能しているかを確認する手順を紹介します。
全文を読む →Clashクライアントの実行ログを開いて読み解く方法を解説し、接続タイムアウト、サブスクリプション解析失敗、ポート使用中などのよくあるエラーの意味と確認手順を一つずつ説明します。
全文を読む →FAQ · よくある質問セレクション
その他の用語や概念は用語集ページに、各プラットフォームのインストール詳細や注意点はインストールガイドページで章ごとに解説しています。
混合ポートのデフォルトは7890です。起動時にbindエラーが出る場合はポートが使用中です。設定でポートを7891など空いている番号に変更するか、そのポートを使っているプログラムを先に終了してください。ポートとリスニングアドレスの概念は用語集のネットワークとポートの分類を参照してください。
順番に確認します:システム時刻が正確か、サブスクリプションリンクがブラウザでまだ開けるか、現在のネットワークがそのドメインをブロックしていないか。ログ内のprovider行にあるHTTPステータスコードが、どの段階で止まっているかを直接示してくれるので、一つずつ照らし合わせれば特定できます。
通常のブラウジングはシステムプロキシで十分です。ゲームやコマンドラインツールなどシステムプロキシを経由しないアプリを扱う場合のみ、TUNによる全接続の制御が必要になります。両者を同時に有効にするのは避けてください。詳しい違いと有効化手順は使い方ガイドを参照してください。
それぞれ直接接続、ノードへの転送、即時ブロックを意味します。ルールリストは上から順に照合され、最初に一致した条件が適用されるため、順序がそのまま優先度になります。ポリシーやルールの書き方の詳細は用語集のルールと振り分けの分類を参照してください。