はじめに 読了目安 14分

Clash初心者の10の疑問:サブスクリプション、プロキシモード、ノード選びを一挙解説

Clashを初めて使うときにつまずきやすい10の疑問を解説。サブスクURLの入手先、ルールとグローバルモードの選び方、プロキシが効かない理由、ノードの切り替え方まで、すぐ試せる方法を紹介します。

1. Clashをインストールしたのに、利用できるノードがないのはなぜ?

Clashクライアントは主に設定の読み込み、プロキシルールの適用、接続の転送を担います。インストーラーに、そのまま使えるプロキシノードが含まれていることは通常ありません。初回起動後にプロキシ一覧が空白だったり、「設定が選択されていません」と表示されたりしても、インストールの失敗とは限らず、設定ファイルまたはサブスクリプションURLが未登録なだけです。

サブスクリプションURLはどこで入手する?

サブスクリプションURLは、利用しているプロキシサービスの提供元が発行します。通常はサービスの管理画面にある「サブスクリプション」「ワンクリック購読」「Clash設定」などの項目から確認できます。Clashプロジェクト、Clash Meta(mihomo)カーネル、各グラフィカルクライアントがサーバーアカウントを発行したり、接続可能なノードを自動生成したりすることはありません。

2. サブスクリプションURLの取り込み方と設定ファイルの保存先

デスクトップクライアントでは、「設定」→「新しい設定」→「URLからインポート」という手順が一般的です。URLを貼り付けてダウンロードを実行します。クライアントによっては「Profiles」→「New Profile」→「Import from URL」と表示されます。取り込み後は、その設定をクリックして現在のアクティブ設定にする必要があります。ダウンロードしただけで選択していない場合、カーネルが古いファイルを使い続けることがあります。

URLインポートとローカルYAMLの違い

方式 適した用途 更新方法
サブスクリプションURL サービス提供元がノードとルールを継続的に管理する場合 設定一覧で更新をクリックするか、指定した間隔で更新する
ローカルYAML 固定ポート、ルール、プロキシグループを自分で作成する場合 ファイルを編集した後、設定を再読み込みする
リモートProvider ノードとルールを複数のソースに分ける場合 interval に従って定期的に取得する

最小構成には、リッスンポート、プロキシ定義、プロキシグループ、ルールが少なくとも必要です。カーネルによって対応するフィールドは完全には同じではないため、別のクライアントが出力したJSONをそのままClash YAMLとして使わないでください。以下は一般的な構造のみを示した例で、ノードのパラメーターは実際のサービス設定に合わせる必要があります。

mixed-port: 7890
mode: rule
allow-lan: false
log-level: info

proxy-groups:
  - name: PROXY
    type: select
    proxies:
      - DIRECT

rules:
  - MATCH,PROXY

取り込み時にYAMLの解析エラーが出たら、まずインデントを確認します。YAMLでは通常、スペースで階層を表し、Tabは使えません。コロンの後にはスペースを入れ、同じ階層のリスト項目にあるハイフンもそろえる必要があります。

3. ルール、グローバル、ダイレクトのどれを選ぶべき?

Clashでよく使われる動作モードはRule、Global、Directの3つです。初心者の日常利用では、まずルールモードを選ぶのがおすすめです。設定内の rules を上から順に照合し、対象ドメインやIPを指定されたプロキシグループへ渡します。どのルールにも一致しない場合は、通常、最後の MATCH が接続先を決めます。

モード 処理方法 主な用途
ルール Rule ドメイン、IP、プロセスなどのルールに基づいて経路を選択する 日常のWeb閲覧、仕事、ストリーミングの振り分け
グローバル Global 大半の接続を一つのグローバルプロキシグループへ送る ルールの適用漏れを一時的に確認する
ダイレクト Direct プロキシノードを経由せずに接続する プロキシを一時停止する、またはノード障害を切り分ける

すばやい判定方法

  1. まずルールモードで対象サイトにアクセスし、接続一覧に表示されるポリシー名を確認します。
  2. 失敗したら、一時的にグローバルモードへ切り替え、遅延テストに合格したノードを選びます。
  3. グローバルモードでアクセスできるなら、ノードはおおむね利用可能です。ルールの適用状況またはDNSを引き続き確認してください。
  4. グローバルモードでも失敗する場合は、ノードの状態、システム時刻、ファイアウォール、ネットワーク環境を確認します。

4. システムプロキシを有効にしたのに、ブラウザーで反映されないのはなぜ?

「カーネルを起動する」ことと「システムプロキシを有効にする」ことは別の操作です。カーネルを起動すると、混合ポート 127.0.0.1:7890 などでローカルポートを待ち受けます。システムプロキシは、OSのプロキシ設定に従うアプリをそのポートへ向ける役割を担います。カーネルだけを起動してシステムプロキシを有効にしていない場合、ブラウザーは通常どおり直接インターネットへ接続します。

4か所を順番に確認する

  1. 「設定」→「カーネル設定」を開き、カーネルの状態が実行中であることを確認します。
  2. 「設定」→「パラメーター設定」を開き、Mixed Port が 7890 で、ポート競合が表示されていないことを確認します。
  3. ホームに戻って「システムプロキシ」を有効にし、OSのプロキシアドレスが 127.0.0.1、ポートが一致していることを確認します。
  4. ブラウザーにある独自プロキシ拡張機能を無効にし、拡張機能の古いポートがシステム設定を上書きしないようにします。

ターミナルでローカルポートが待ち受けているか確認できます。Windowsでは netstat -ano | findstr :7890、macOSまたはLinuxでは lsof -iTCP:7890 -sTCP:LISTEN を実行します。結果がなければ、カーネルが正常に待ち受けていません。プロセスが現在のClashクライアントでなければ、ポート競合の可能性があります。

Firefoxなどのアプリでは、独立したプロキシ設定を選べます。「プロキシを使用しない」設定や別のポートを手動指定している場合、システムプロキシには従いません。ブラウザーのネットワーク設定で「システムプロキシ設定を使用する」を選ぶか、HTTP/SOCKSアドレスを手動入力し、ポートを一致させてください。

5. ノードの切り替え方とプロキシグループの仕組み

「プロキシ」または「Proxies」ページを開くと、単純なノード一覧ではなく、複数のプロキシグループが表示されることが一般的です。プロキシグループはルールから参照されるポリシーの入口で、たとえば PROXYStreamingTelegram などがあります。各グループ内では特定のノード、自動テストグループ、別のプロキシグループを選択できます。

手動選択と自動選択

ノードを切り替えるときは、まず現在のルールが実際に使っているプロキシグループを確認します。たとえばルールが DOMAIN-SUFFIX,example.com,PROXY なら、変更すべきなのは PROXY グループであり、名前が似ていても参照されていないグループではありません。「接続」ページで対象サイトに一度アクセスし、ポリシーチェーンが PROXY / ノード名 と表示されるか確認できます。

6. 遅延の数値が低ければ、必ずノードも速い?

クライアントに表示される遅延は通常、端末からテスト先へHTTPリクエストを1回完了するまでの時間です。ノードに到達できるか、基本的な応答速度は確認できますが、ダウンロード帯域、混雑時間帯の輻輳、パケットロス、対象サイトから出口サーバーまでの回線品質までは完全には表しません。

よくあるテスト結果の見方

遅延テストを連続して実行すると、数値が変動することもあります。10~20秒間隔で2回測定し、実際のダウンロードや動画再生でも確認するのが無難です。遠距離のノードでは、パケットロスのない150ミリ秒の接続のほうが、遅延80ミリ秒でも頻繁に揺れる接続より快適な場合があります。

7. ノードには接続できるのに、サイトで名前解決エラーが出る場合

ノードに接続できるのは、プロキシサーバーとの接続を確立できたという意味にすぎず、ドメイン名の解決には失敗することがあります。ログに no such host と出る、ブラウザーにサーバーが見つからないと表示される、IPアドレスではアクセスできるのにドメインでは開けない、といった症状が代表例です。Clash DNSが有効か、nameserverへ到達できるか、システム内の別のDNSツールが同時にリクエストを処理していないかを確認してください。

Clash Metaでよく使われるDNS強化モードには fake-ipredir-host があります。Fake-IPはまずアプリにマッピング用アドレスを返し、カーネルがドメイン情報を保持してルールを適用します。TUNやドメイン単位の振り分けに適していますが、一部のLAN機器、ゲーム、特殊な名前解決処理と互換性がない場合は、fake-ip-filter で該当ドメインを除外できます。

dns:
  enable: true
  listen: 0.0.0.0:1053
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
  fallback:
    - tls://1.1.1.1:853
  fake-ip-filter:
    - "*.lan"
    - "localhost.ptlogin2.qq.com"

8. システムプロキシとTUNモードの違い

システムプロキシは、HTTPまたはSOCKSプロキシ設定を読み取るアプリに適しています。多くのブラウザーやデスクトップソフトが該当します。一部のゲーム、コマンドラインプログラム、ストアアプリ、UDPを使うプログラムはシステムプロキシに従わないため、その場合にTUNモードを検討します。TUNは仮想ネットワークインターフェースを作成し、カーネルがより広い範囲のTCPおよびUDPトラフィックを処理します。

項目 システムプロキシ TUNモード
対象範囲 システムプロキシに従うアプリ 仮想ネットワークアダプターを通過するシステムトラフィック
必要な権限 通常は一般ユーザー権限 管理者権限またはVPN認証が必要なことが多い
UDP対応 アプリとSOCKSの利用方式による カーネルとノードのプロトコルによって決まる
トラブルシューティングの難易度 低い ルーティング、DNS、仮想ネットワークアダプターの確認が必要

初心者はまずシステムプロキシで基本接続を確認してから、TUNを有効にしてください。Windowsでは初回有効化時に仮想ネットワークアダプターのサービスをインストールし、管理者権限を付与する必要がある場合があります。AndroidとiOSではシステムVPNの認証画面が表示され、通常は同時に1つのアプリしかVPNインターフェースを使用できません。別のVPNが動作中だと、ClashのTUNやモバイル版VPNサービスが起動できないことがあります。

9. サブスクリプション更新で手動選択やカスタムルールは上書きされる?

サブスクリプションを更新すると、通常はリモート設定が再ダウンロードされます。サブスクリプションが生成したファイルに直接書き込んだルール、DNS、プロキシグループは新しい内容で上書きされる可能性があり、長期的な手動編集には向きません。クライアントに「上書き」「Mixin」「拡張設定」「設定の前処理」などの機能がある場合は、ローカルで固定した設定を対応する項目に置き、更新のたびにクライアントで統合させてください。

推奨する更新手順

  1. 「設定」ページで現在のアクティブ設定名と最終更新日時を記録します。
  2. 更新を実行したら、まず設定チェックを行い、古い設定をすぐに削除しないでください。
  3. プロキシグループ、ノード数、DNS、ルールがすべて読み込まれていることを確認します。
  4. 直接接続する対象とプロキシ接続する対象を1つずつテストし、接続ページで適用されたポリシーを確認します。
  5. 更新に失敗した場合は、前回正常に使えた設定へ戻し、サブスクリプションの応答内容を確認します。

手動で選択したノードが保持されるかどうかは、クライアントの永続化機能とプロキシグループ名が変わったかどうかによります。サービス提供元が PROXY を別の名前に変更すると、以前の選択を新しいグループに対応付けられず、一覧の先頭項目に戻ることがあります。自動更新間隔も短くしすぎないでください。ノードのサブスクリプションでは6時間または24時間間隔が一般的で、毎分更新しても実益はありません。

10. 初回のトラブルシューティングはどの順番で行う?

Clashの接続問題には、設定、カーネル、ポート、ノード、ルール、DNS、システム側の取り込みが関係します。決まった順番で確認するほうが、何度も再インストールするより原因を見つけやすくなります。各手順の後にログと接続ページを確認し、サブスクリプション、モード、DNS、クライアントのバージョンを同時に変更しないでください。

10分でできる基本チェックリスト

  1. システム時刻を確認:日付、タイムゾーン、分単位のずれが正しいことを確認します。時刻のずれはTLS接続に影響します。
  2. 設定状態を確認:現在の設定が選択され、構文チェックに合格し、プロキシグループが不足していないことを確認します。
  3. カーネルを確認:ログに待ち受けポートが表示され、起動直後に終了していないことを確認します。
  4. ポートを確認:7890 または現在のmixed-portが、他のプログラムに使用されていないことを確認します。
  5. ノードを確認:遅延テストを実行し、少なくとも異なる2つのノードへ手動で切り替えます。
  6. グローバルモードに切り替え:ルールの問題とノードの問題を切り分けるために使い、テスト後はルールモードへ戻します。
  7. システムプロキシを確認:アドレスが 127.0.0.1 で、ポートがクライアントと一致していることを確認します。
  8. DNSを確認:ログにタイムアウト、名前解決エラー、問い合わせループが出ていないか確認します。
  9. TUNを一時的に無効化:まず通常のシステムプロキシを検証し、仮想ネットワークアダプターやルーティングの競合を切り分けます。
  10. ログの原文を確認:「接続できない」とだけ記録せず、発生時刻、対象ドメイン、ポリシー名、具体的なエラーを記録します。

ログの connection refused は通常、対象ポートが明確に接続を拒否したことを示します。i/o timeoutdial tcp timeout は、ネットワークに到達できない、ノードが混雑している、ファイアウォールに破棄されたといった状況でよく見られます。no such host なら、まずDNSを疑います。エラーを見たら、それがローカルの待ち受け、プロキシノード、最終接続先のどこで発生したかを確認すると、調査範囲を大きく絞れます。

Clashをダウンロード プラットフォームに合ったインストーラーを選ぶ