Shadowsocks / VMess / Trojan はどれを選ぶ?主要プロキシプロトコル比較
Clash コアは複数のプロキシプロトコルを同時にサポートしており、ノード情報の type フィールドがプロトコルの種類を示します。プロトコルによって暗号化方式、偽装能力、パフォーマンスのオーバーヘッドにそれぞれ違いがあり、理解しておくとサブスクリプションノードの品質をより良く判断できます。
3つのプロトコルの概要
| プロトコル | 暗号化方式 | トラフィック特徴 | パフォーマンスコスト | 典型的な用途 |
|---|---|---|---|---|
| Shadowsocks | 対称暗号(AEAD) | ランダムなバイト列に近く、明確なプロトコル特徴がない | 低 | 軽量、速度重視 |
| VMess | 独自暗号 + UUID 認証 | WebSocket / TLS と組み合わせて通常の Web トラフィックに偽装可能 | 中 | 偽装が必要、突破力が高い |
| Trojan | 標準 TLS | 通常の HTTPS ウェブサイトのトラフィックとほぼ同一 | 中 | 検閲耐性、通常サイトへの偽装 |
左右にスワイプして表全体を見る
Shadowsocks:軽量で高速
Shadowsocks の設計思想は単純です。対称暗号でトラフィックを包み、暗号化のオーバーヘッド以外にほとんど余分なプロトコル層がないため、速度が速くリソース消費も低く、最も省リソースな選択肢です。トラフィックの特徴はランダムなデータに近く、特定の一般的なプロトコルに偽装しようとはしません。
VMess:複数の通信方式で偽装可能
VMess は暗号化に加えて認証層(UUID)を追加し、WebSocket、HTTP/2、TLS など複数のトランスポート層と組み合わせて、プロキシトラフィックを通常の Web リクエストに偽装できます。偽装層が増えると接続確立のオーバーヘッドも少し増えますが、干渉への耐性はより強くなります。
Trojan:標準 TLS でそのまま偽装
Trojan の考え方は「新しいプロトコルを作らず、最も一般的なプロトコルをそのまま使う」ことです。その接続プロセスは通常の HTTPS ウェブサイトへのアクセスとほとんど区別がつかず、トラフィックの特徴だけで単独に識別することは非常に困難です。その代償として、有効な TLS 証明書とドメインを併用する必要があります。
どれを選ぶべきか
- サブスクリプションのノードが既に設定済みであれば、プロトコルにこだわる必要はありません。遅延が低く接続が安定しているノードを使えば十分です。
- 自分でサーバーを構築し、速度と簡単な導入を重視するなら、Shadowsocks が最も手軽な出発点です。
- 所在するネットワーク環境がプロキシトラフィックに対する検査が厳しい場合、Trojan や TLS を組み合わせた VMess のほうが通常は干渉への耐性が高くなります。
- 同じポリシーグループ内で異なるプロトコルのノードを混在させることができ、Clash は設定した方式(手動/自動速度測定)でそれらを切り替えます。プロトコルの違いが体感に与える影響は、ノード自体の回線品質よりもはるかに小さいです。
プロトコル以外に何を見るべきか
多くの人はサブスクリプションのノードを選ぶ際に「どのプロトコルを使っているか」だけに注目しますが、実際の体感に影響する要素の中で、プロトコルは必ずしも最も重要な要素ではありません。以下のいくつかの点も同様に、あるいはそれ以上に重要です。
- 帯域幅と回線品質:同じ Shadowsocks プロトコルでも、帯域幅が十分で優良な国際回線を使うサーバーと、過剰に販売されたサーバーとでは、体感が天と地ほど違うことがあります。
- 遅延:物理的な距離と経由する中間ネットワークノードの数が遅延の下限を決め、プロトコル自体の処理時間は通常ごく一部にしか過ぎません。
- 同時接続数の制限:一部のプロバイダーは単一ノードの同時接続数を制限しており、複数デバイスで同時に使用するとカクつきやすくなります。これはプロトコルの種類とは無関係です。
- 干渉への耐性:所在するネットワーク環境の検査が厳しい場合、トラフィックの特徴が識別されやすいかどうかは、理論上の暗号強度よりも直接的に安定した接続の可否に影響します。
よくある誤解
誤解1:新しいプロトコルほど良い
新しいプロトコルは通常、旧プロトコルが特定の場面で抱える弱点(例えば偽装能力の不足)を解決するために生まれますが、それは旧プロトコルが「安全でない」「使えない」ことを意味しません。Shadowsocks は10年以上使われていますが、多くの場面で依然として最も安定した選択肢です。プロトコル選びは新しさを追うのではなく、用途への適合度を見るべきです。
誤解2:暗号強度=接続品質
暗号化は伝送内容が中間のネットワーク機器に覗き見られたり改ざんされたりしないことを保証するだけで、サーバー自体の帯域幅、安定性、速度制限方針が優れていることを意味しません。ノードが「速いかどうか」は、暗号化アルゴリズムの影響よりもサーバー自体の物理的条件の影響のほうがはるかに大きいです。
誤解3:すべてのノードで同一プロトコルを使う必要がある
Clash のポリシーグループは異なるプロトコルのノードを自由に混在させることができ、速度測定、切り替え、フェイルオーバーなどの仕組みはプロトコルの種類を問いません。「プロトコルの統一」のために回線品質の良いノードを諦める必要は全くありません。
ノード情報からプロトコルの種類を識別する方法
サブスクリプションリンクを取り込むと、クライアントは自動的に各ノードの type フィールドを解析し、ノード一覧や編集詳細で ss(Shadowsocks)、vmess、trojan といった表示を直接確認できます。手動でノードを追加する場合、プロバイダーが提供する共有リンクの接頭辞(例:ss://、vmess://、trojan://)自体がすでにプロトコルの種類を示しているため、追加の判断は不要です。
読み終わったら試してみませんか?
5大プラットフォームのインストーラーはダウンロードページに掲載されています。チュートリアルページの手順に沿って進めればすぐに使えます。