ホーム/ブログ/プロトコル比較
プロトコル

Shadowsocks、VMess、Trojan、Snellプロトコル比較:どれを選ぶべきか

公開日 2026-05-20 · 読了時間10分 · Clash / mihomoコア利用者向け

プロキシサービスのノード一覧を開くと、同じサーバーでもShadowsocks、VMess、Trojanなど複数のプロトコルから選べることがよくあります。最終的にやっていることは「通信をリモートサーバー経由で転送する」という点で共通していますが、内部の実装や偽装能力、使用感には意外と大きな差があります。本記事では暗号化方式、検知回避能力、接続速度、設定の複雑さの4つの観点から体系的に比較し、どれを選ぶべきかの判断材料を提供します。

014つのプロトコルとは

  • Shadowsocks(SS):最も古くシンプルなプロトコル。通信を対称鍵暗号化して転送するのが基本で、オーバーヘッドが小さく速度も速い一方、初期のバージョンでは通信パターンが比較的検知されやすかったものの、現在の主流実装(AEAD暗号など)ではその点が大きく改善されています。
  • VMess:V2Rayプロジェクトが提唱したプロトコル。Shadowsocksをベースにユーザー認証(UUID)とより柔軟なトランスポート層のラッピング(WebSocketやHTTP/2への偽装など)を追加し、検知回避能力は高まりますが、設定項目もやや増えます。
  • Trojan:設計思想が大きく異なり、通信を標準的なHTTPS/TLS通信に偽装することで、ネットワーク特性上は通常のブラウジングとほとんど区別がつきません。このため検知回避能力はこの4種の中で最も強いとされていますが、実際のTLS証明書が必須という制約があります。
  • Snell:Surgeの開発者による実装で、クローズドソースながら軽量。設計目標はShadowsocksに近いですがプロトコル層に最適化が加えられており、エコシステムはSurge / Clashのユーザー層に集中しているため、他の3つに比べると国際的な普及度は低めです。

024つの観点で比較

プロトコル暗号化方式検知回避能力接続速度設定の複雑さ
Shadowsocks対称鍵暗号(AEAD)中程度最速、オーバーヘッド最小低い、項目が最少
VMess対称鍵暗号 + UUID認証やや強い、複数の偽装方式に対応中程度、ヘッダー検証で若干のオーバーヘッド中程度、項目が多め
Trojan標準TLS暗号化最強、通常のHTTPSに近い通信特性中程度、TLSハンドシェイクの影響を受ける中程度、有効な証明書が必要
Snell対称鍵暗号中程度以上速い、Shadowsocksに近い低いが、クローズドソースでエコシステムが小さい

03どれを選ぶべきか

多くの場合、プロトコルについて悩む必要はありません——サブスクリプションリンクで既にノードが用意されていれば、そのまま使えばクライアントが自動的にプロトコルの詳細を処理してくれます。ただ自分で選べる場合は、以下を参考にしてください:

  • 日常的なブラウジングや動画視聴が中心で、速度を重視するなら:Shadowsocks または Snell がオーバーヘッド最小でおすすめ。
  • 通信の検査が厳しいネットワーク環境にあり、プロトコルの識別を心配しているなら:Trojan が最も通常のHTTPS通信に近い。
  • 速度と検知回避のバランスを取りたいなら:VMess をWebSocket + TLSで運用するのが一般的な折衷案。
ヒント:Clashの config.yaml では、プロトコルごとにノードの記述フィールドが異なります(VMessは uuidalterId、Trojanは passwordsni が必要)。ただこれらは通常サブスクリプションリンクから自動生成されるため、一般ユーザーが手書きする必要はなく、フィールドの意味を知っておくのは主に設定内容の理解や接続トラブルの調査に役立ちます。

04複数のプロトコルを混在させても問題ないか

まったく問題なく、むしろ一般的な運用方法です。1つのサブスクリプションに複数のプロトコルのノードが含まれることも多く、Clashはそれらをまとめて策略グループに分類します。url-test タイプに設定すれば、コアが自動で最も低遅延なノードを選んでくれるため、プロトコルの違いによる体感差は自動測速の仕組みによって平準化され、手動で区別する必要はありません。

05Clashコアによるプロトコル対応の違い

注意すべき点として、すべてのClashクライアントが4つのプロトコルを同じレベルでサポートしているわけではありません。初期のオリジナル版ClashコアはShadowsocks、VMessなど一部のプロトコルのみに対応しており、Trojan、SnellなどはClash Premium、Clash Meta(現在のmihomo)といった派生版が後から段階的に対応を追加してきました。あるノードをクライアントに取り込んだ後に使用できない、または「サポートされていないプロトコルタイプ」と表示される場合は、まず使用中のコアバージョンが比較的新しいmihomoコアかどうかを確認してください。多くの問題はクライアントの更新で解決します。

06プロトコル選択でよくある誤解

  • 新しいプロトコルほど優れていると思い込む:VMessやTrojanはShadowsocksより後に登場しましたが、「新しい」ことは「あなたに合っている」ことを意味しません。使用しているネットワーク環境の検査があまり厳しくないのであれば、オーバーヘッドが小さいShadowsocksの方が快適な場合も多く、必要のない検知回避能力のために速度を犠牲にする必要はありません。
  • サーバー自体の品質を軽視する:プロトコルが決めるのは通信の偽装と暗号化方式のみで、速度や安定性を実際に左右するのは多くの場合サーバーの帯域、回線品質、ノード数です。同じプロトコルでもサービス提供者によって体感はまったく異なることがあります。
  • 「検知回避能力が最強」であることを盲目的に追い求める:Trojanは検知回避能力が高い一方、有効なTLS証明書とドメインに依存するため設定のハードルも上がります。普通にインターネットを使いたいだけの大多数の人にとっては、プロトコルの種類にこだわるより安定したサブスクリプションサービスを選ぶ方がはるかに重要です。