clash proxy

Clashでプロキシを設定するとは、1つのconfig.yamlファイルを編集して、クライアントがどのアップストリームプロキシに接続するか、どのようなグループにまとめるか、どのトラフィックをそこへ通すかを指定することです。このチュートリアルではそのファイルを一通り解説し、HTTPまたはSOCKS5プロキシのエントリを追加し、システムプロキシとTUNモードのどちらを使うべきかを説明します。

ClashはGoで書かれたルールベースのプロキシクライアントで、このガイドでは実際に多くの人が使っているモダンなフォーク、Clash Meta(mihomo)、Clash Verge、ClashXを扱います。最後まで読めば、利用可能なノード、ルーティングルール、出口IPの変更を確認する方法が分かります。

DataImpulseは倫理的なプロキシプロバイダーで、195カ国にわたり9000万以上のレジデンシャル、モバイル、データセンターのIPアドレスを提供しています。1GBあたり1ドルからの従量課金モデルを採用し、トラフィックの有効期限はありません。ウェブスクレイピング、広告検証、価格モニタリング、市場調査、マルチアカウント管理に利用されています。

重要なポイント

  • Clashプロキシの基本: Clashはルールベースのプロキシクライアントで、proxies、proxy-groups、rulesという3つの層で構成された1つのconfig.yamlを読み込みます。デフォルトのローカル混合ポートは7890です。
  • 最適なプロキシタイプ: ローテーティングレジデンシャルプロキシ。実際の利用者のIPを利用するため、検出を回避しやすくなります。
  • 価格: 1GBあたり1ドルから、従量課金制で、トラフィックの有効期限も月額サブスクリプションもありません。
  • カバレッジ: 195カ国にわたる9000万以上の倫理的に調達されたIP。
  • 信頼性: 成功率99.51%、G2で5点満点中4.8の評価。
  • プロトコルとターゲティング: HTTP、HTTPS、SOCKS5に対応し、国別ターゲティングを利用できます。
How Clash routes traffic through proxies and rules

Clashのプロキシツールとは?

ClashはGoで書かれたルールベースのプロキシクライアントで、YAML設定ファイルで定義したルールに基づき、ネットワークトラフィックをアップストリームプロキシ経由でルーティングします。Clash自体はプロキシをホストしません。手元のプロキシに接続するためのルーターです。

オリジナルのClashおよびClash for Windowsのプロジェクトはアーカイブされたため、現在は多くのユーザーが保守されているフォークを使用しています。代表例は、mihomoコアを使うClash Meta、同コアを採用したクロスプラットフォームGUIのClash Verge Rev、macOS向けのClashX Metaです。これらは同じconfig.yaml形式を共有しているため、以下の手順はすべてに適用できます。Clashはプロキシプロバイダーでも、VPNサービスでも、無料で匿名IPを得る手段でもありません。アップストリームの認証情報は自分で用意する必要があり、例えばレジデンシャルプロキシのプランから取得します。

Clashはプロキシ経由でトラフィックをどのようにルーティングするのか?

Clashはトラフィックを3つの要素からなる設定でルーティングします。これをClash 3層ルーティングモデルと呼びます。proxiesはノードを定義し、proxy-groupsはどのノードを使うかを決定し、rulesはどのトラフィックをどのグループに送るかを決定します。この3層を理解することが基本です。

ここに最小限の実用的な構成を示します。mixed-portはHTTPとSOCKS5の両方のクライアント接続を受け付ける1つのローカルポートを開き、7890が従来のデフォルトです。

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

proxies: []
proxy-groups: []
rules: []

3つの層は上から順に機能します:

  • proxies(第1層): 実際のアップストリームノードで、それぞれサーバー、ポート、認証情報を持ちます。
  • proxy-groups(第2層): 名前付きの選択グループまたは自動テストグループで、セットの中から1つのプロキシを選びます。
  • rules(第3層): DOMAIN-SUFFIXやGEOIPのようなマッチャーで、該当するトラフィックをグループへ送ります。

リクエストはローカルポートに届くと、Clashは上から下へルールを読み、最初に一致したルールがグループを指定し、そのグループがプロキシへ転送します。基礎となる考え方については、ウェブプロキシとは何かの解説をご覧ください。

ClashにDataImpulseのプロキシを追加するには?

プロキシを追加するには、proxiesキーの下にタイプ、サーバー、ポート、ログイン情報を含む1つのエントリを置きます。Clashはsocks5とhttpの両方のプロキシタイプに対応しているため、プロバイダーが提供するいずれのプロトコルでも利用できます。

DataImpulseを使ったSOCKS5エントリは次のようになります。サーバー、ポート、ユーザー名、パスワードはダッシュボードの値に置き換えてください。DataImpulseはHTTP、HTTPS、SOCKS5に対応しており、国別ターゲティングは基本料金に含まれます。

proxies:
  - name: "di-socks"
    type: socks5
    server: gw.dataimpulse.com
    port: 823
    username: "YOUR_USERNAME"
    password: "YOUR_PASSWORD"
    udp: true

HTTPを使う場合は、同じノードをhttp形式で次のように記述します:

proxies:
  - name: "di-http"
    type: http
    server: gw.dataimpulse.com
    port: 823
    username: "YOUR_USERNAME"
    password: "YOUR_PASSWORD"
    tls: false

次に、そのノードをproxy-group内で参照することで、ルールを変更せずにノードを切り替えられます。selectグループでは手動で選択でき、url-testグループでは最も速いノードを自動的に選びます。

proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - di-socks
      - di-http
      - DIRECT
  - name: "AUTO"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    proxies:
      - di-socks
      - di-http

最後に、トラフィックが実際にそのグループを使うようにルールを追加します。ルールは上から下へ読まれ、最初に一致したものが優先されるため、すべてを捕捉するMATCH行より上に、より具体的なルールを配置してください。

rules:
  - DOMAIN-SUFFIX,ipify.org,PROXY
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

GUIで設定をリロードするか、コアを再起動すると、そのノードがPROXYグループに選択肢として表示されます。アカウント設定と認証情報のフォーマットについては、プロキシ認証のガイドをご覧ください。

Clashのシステムプロキシモードを使うべきか、それともTUNモードを使うべきか?

ブラウザやアプリの日常的なトラフィックにはシステムプロキシモードを使い、プロキシ設定を無視するアプリを捕捉する必要がある場合はTUNモードを使います。システムプロキシモードは、対応しているアプリケーションをClashのローカルポートに向けるようOSに指示します。一方TUNモードは仮想ネットワークアダプターを作成し、IP層でほぼすべてのトラフィックを捕捉します。

実用上の違いは次の通りです。システムプロキシは、ブラウザや多くのCLIツールのようにOSのプロキシ設定を尊重するプログラムにのみ影響します。TUNモードは生のソケット、ゲーム、それを回避しようとする頑固なアプリを捕捉します。そのためClash VergeにはTUNの切り替えスイッチがあります。以下は判断のためのマトリクスです:

  • システムプロキシモードを使うべき場合: 主にブラウザやスクリプトをプロキシ経由にしたい、シンプルなオンオフの切り替えが欲しい、管理者権限がない場合。
  • TUNモードを使うべき場合: あるアプリがプロキシを無視する、デバイス全体のルーティングが必要、またはUDPやHTTP以外のトラフィックを見る必要があるルールに依存している場合。
  • TUNモードを避けるべき場合: 管理者権限やroot権限がない場合(仮想アダプターのインストールが必要なため)、または企業のVPNがすでにルーティングテーブルを制御している場合。

Clash Vergeではこの2つは別々のスイッチなので両方を実行できますが、新しいノードをテストする際にはシステムプロキシ単体の方が軽量で予測しやすい選択肢です。

プロキシの設定において、ClashはShadowrocketやV2Rayとどう違うのか?

HTTPまたはSOCKS5プロキシを設定するだけなら、Clashは最もルール駆動型の選択肢であり、ShadowrocketはiOSで最も簡単であり、V2Rayはプロトコル面で最も柔軟ですが、初心者には扱いにくい選択肢です。3つとも標準的なプロキシに接続できますが、プラットフォーム、設定スタイル、ルーティングの深さが異なります。

クライアント プラットフォーム 設定スタイル ルールベースルーティング プロキシ設定に最適
Clash Meta / Verge Windows、macOS、Linux、Android YAMLファイル(proxies、groups、rules) 詳細、ドメイン単位とGEOIP 多数のノードと細かいルール
Shadowrocket iOSとiPadOSのみ GUIとURLインポート 中程度、ルールセット iPhoneでの手早い単一プロキシ設定
V2Ray / v2rayN Windows、クロスプラットフォームコア JSONファイル ルーティングブロックによる柔軟性 カスタムトランスポートとプロトコル

ブラウザを1つのノードに向けるだけなら、どれでも機能します。特定のドメインだけをプロキシ経由にし、それ以外は直接接続のままにする条件付きルーティングをしたい場合、Clashが優位になります。この分割ルーティングに使える安価なノードについてはデータセンタープロキシをご覧ください。

設定後に出口IPをテストするには?

Clashのローカルポート経由でリクエストを送り、返されたアドレスを確認することで出口IPを確認します。IPが普段使用しているIPと異なり、プロキシの国と一致していれば、ルーティングは機能しています。

システムプロキシモードでは、curlを直接混合ポートに向けます:

curl -x http://127.0.0.1:7890 https://api.ipify.org
# expected: the proxy exit IP, not your home IP

TUNモードが有効な場合、仮想アダプターがすでにリクエストを傍受しているため、-xフラグは不要です:

curl https://ipinfo.io/json
# check the "ip" and "country" fields match your node

IPが変わらない場合は、順番に各層を確認してください。ノードがそのグループ内でレイテンシが表示されているか、ルールがそのトラフィックをグループへ送っているか、アプリが選択したモードを尊重しているかを確認します。これはClashの3層ルーティングモデルを反映しており、問題を素早く切り分けられます。

Clash経由でプロキシを実行することの限界は何か?

Clashはルーターであり、プロキシを提供するサービスではありません。そのため信頼性は、設定するプロキシの品質と、ルールをどれだけ慎重に書くかによって制限されます。依存する前に知っておくべきいくつかの限界があります。

  • 独自のIPを持たない: 本物のアップストリームプロキシがなければClashは匿名性を確保できません。低品質または無料のノードは依然として情報漏洩やブロックの対象になります。
  • ルールの順序ミス: 最初に一致したルールが優先されるため、広範なルールを上位に置くと、気づかぬうちにトラフィックが誤った方向にルーティングされることがあります。
  • TUNには権限が必要: TUNモードは仮想アダプターをインストールするため管理者権限またはroot権限が必要で、既存のVPNと競合する可能性があります。
  • フォーク間のずれ: オリジナルのClashはアーカイブされているため、Clash Meta、Verge、旧版のClash for Windowsとの間で設定キーが多少異なることがあります。
  • スクレイピングスタックではない: Clashはトラフィックをルーティングしますが、CAPTCHA、フィンガープリント、ブロックについては何もしません。その点についてはブロックされずにスクレイピングする方法をご覧ください。

DataImpulseは195カ国にわたるローテーティングまたは固定セッションのアップストリームノードを提供しますが、静的ISPプロキシは販売しておらず、マネージドスクレイピングAPIでも無料のウェブプロキシサービスでもありません。Clashはルーティングを担当し、プロキシプランはIPを担当します。

Clash system-proxy mode vs TUN mode

よくある質問

Clashのデフォルトのプロキシポートは何か?

Clashは伝統的にHTTPまたは混合ローカルポートに7890を、SOCKS5に7891を使用します。新しい設定では、HTTPとSOCKS5の両方の接続を受け付ける単一のmixed-port(7890や7897など)を設定することが多いです。

ClashのTUNモードとシステムプロキシの違いは何か?

システムプロキシモードは、OSのプロキシ設定を尊重するアプリ(主にブラウザや一部のCLIツール)のみをルーティングします。TUNモードは仮想ネットワークアダプターを作成し、IP層でほぼすべてのトラフィックを傍受するため、プロキシ設定を無視するゲームやアプリも捕捉しますが、管理者権限が必要です。

Clash VergeでSOCKS5プロキシを使えるか?

はい。typeがsocks5のproxiesエントリを、サーバー、ポート、ユーザー名、パスワードとともに追加し、それをproxy-groupで参照します。Clash VergeはClash Metaとconfig.yaml形式を共有しているため、同じエントリがこれらのフォーク間で機能します。

Clashにプロキシを追加しても出口IPが変わらないのはなぜか?

通常は、ルールがトラフィックをプロキシグループへ送っていない、アプリがシステムモードでプロキシを無視している、またはノードにレイテンシがなくヘルスチェックに失敗している、のいずれかです。ノードがpingを表示しているか、ルールがそのグループを指しているか、モードがアプリと一致しているかを確認してください。

ClashはVPNかそれともプロキシプロバイダーか?

どちらでもありません。Clashはルールベースのプロキシクライアントで、あなたが提供するアップストリームプロキシ経由でトラフィックをルーティングします。IPをホストしないため、出口ノードを利用するにはレジデンシャルやデータセンターのプロバイダーなど、プロキシプランが依然として必要です。

DataImpulseが適さないのはどんな場合か?

静的ISPプロキシ、完全マネージドのスクレイピングAPI、銀行や政府機関サイトへのアクセスが必要な場合、DataImpulseは適切なツールではありません。DataImpulseは、公開データの収集とコンテンツへのアクセスのための、ローテーティングレジデンシャル、モバイル、データセンタープロキシに焦点を当てています。

Clashの設定用にプロキシノードを取得する

config.yamlの準備ができたら、あとは信頼できる出口ノードが必要なだけです。DataImpulseアカウントを作成し、SOCKS5またはHTTPの認証情報をそのままproxiesブロックに入れることができます。国別ターゲティング対応の従量課金制トラフィックをすぐに利用できます。


Share article: