3大プロトコルの概要:なぜ比較が必要なのか

プロキシサービスを選ぶ際、多くのユーザーが最初に直面するのは「Shadowsocks(SS)」「Trojan」「VLESS」という3つのプロトコル名です。いずれも Clash 系クライアントで利用できますが、設計思想・暗号化方式・検出回避能力・性能特性は大きく異なります。2025年時点では、単一の「最強プロトコル」は存在せず、利用環境と優先事項(速度、安定性、concealment、互換性)によって最適解が変わります。

本記事では、3プロトコルを暗号化強度、DPI(Deep Packet Inspection)への耐性、Clash / Mihomo 内核での対応状況、典型的な利用シーンの4軸で比較し、読者が自分の環境に合ったプロトコルを選べるよう整理します。なお、2025年後半〜2026年にかけて REALITY、Hysteria2、Tuic など新しいトランスポートも普及していますが、サブスクリプションのノード構成で最も頻出するのは依然としてこの3系統です。

用語の整理:Shadowsocks と Trojan は独立したプロトコル規格です。VLESS は Xray プロジェクトが開発したプロトコルで、VMess の後継として位置づけられます。Clash ではこれらを「プロキシタイプ」として YAML 設定に記述し、ルールエンジンで分流します。

Shadowsocks:軽量・高互換の古典的プロトコル

Shadowsocks は2012年頃から使われてきた SOCKS5 ベースのプロキシプロトコルで、シンプルな構造と低い CPU オーバーヘッドが特徴です。当初はストリーム暗号(RC4 など)が使われていましたが、現在の推奨構成は AEAD 暗号方式(aes-256-gcmchacha20-ietf-poly1305 など)です。SS2022 では鍵導出と認証が強化され、旧式の脆弱な構成との差がさらに広がっています。

Shadowsocks の主なメリット

  • 軽量・高速:プロトコルヘッダが小さく、帯域効率が良い。低スペック端末やルーターでも動作しやすい。
  • 広い互換性:古いクライアント、OpenWrt プラグイン、各種サードパーティアプリが SS に対応している。
  • 設定が単純:サーバーアドレス、ポート、暗号方式、パスワードの4要素で構成されることが多い。
  • UDP リレー:適切なプラグインや SS2022 構成では UDP も中継でき、ゲームや VoIP に使える。

Shadowsocks の弱点と注意点

平文に近いトラフィックパターンや、特定ポートへの集中接続は DPI によって検出されやすくなっています。TLS ラッピング(v2ray-plugin、obfs など)を併用しない SS 単体は、厳しいネットワーク環境では不安定になることがあります。また、サブスクリプション提供者によって暗号方式が古いまま(非 AEAD)のノードが混在しているケースもあるため、接続前に方式を確認してください。

セキュリティ:aes-128-cfbrc4-md5 など非 AEAD の暗号方式は使用を避けてください。Clash Verge Rev のログに接続エラーが出る場合、ノード側の暗号方式がクライアント非対応の可能性があります。

Trojan:TLS 偽装による安定した concealment

Trojan は2019年に登場したプロトコルで、標準的な HTTPS(TLS 1.3)通信に酷似したトラフィックを生成することを目的としています。認証情報は TLS ハンドシェイク後の最初のパケットに含まれ、通常の Web サーバーと同じ 443 番ポートで動作するため、能動的プローブに対して「普通の HTTPS サイト」として応答できます。

Trojan の主なメリット

  • 高い concealment:TLS 上を流れるため、従来の Shadowsocks より DPI 耐性が高い。
  • 安定性:CDN や Nginx リバースプロキシとの組み合わせ実績が豊富で、長期運用に向く。
  • Clash 完全対応:Mihomo 内核は Trojan(および Trojan-Go 系の ws/grpc トランスポート)をネイティブサポート。
  • 証明書ベース:Let's Encrypt 等の正当な TLS 証明書を使えば、ブラウザと同様の信頼チェーンを構築できる。

Trojan の弱点と注意点

TLS ハンドシェイクのオーバーヘッドにより、初回接続や短時間のリクエストでは Shadowsocks よりレイテンシが増えることがあります。また、TLS in TLS(プロキシ内でさらに TLS をネゴシエートする)構造は、一部の middlebox で特徴検出の対象になる場合があります。2025年以降、より新しい VLESS + REALITY 構成と比べると、SNI ベースの検出リスクは相対的に高くなる傾向があります。

# Clash YAML — Trojan ノードの例
proxies:
  - name: "Trojan-香港"
    type: trojan
    server: example.com
    port: 443
    password: your-password
    sni: example.com
    skip-cert-verify: false
    udp: true
Trojan ノードで接続が不安定な場合、sni フィールドがサーバーの証明書 CN と一致しているか確認してください。不一致は証明書検証エラーや接続タイムアウトの原因になります。

VLESS:次世代 Xray 系プロトコルと REALITY

VLESS は VMess から進化した Xray プロジェクトのプロトコルで、プロトコル自体の暗号化を最小化し、TLS / XTLS / REALITY などのトランスポート層にセキュリティを委譲する設計です。UUID ベースの認証を使い、追加の alterId(VMess の旧仕様)が不要なため、接続確立が高速です。

VLESS の主なメリット

  • XTLS / Vision:TLS 復号を省略する XTLS フローにより、高スループットと低 CPU 使用率を実現。
  • REALITY:実在する第三者サイト(例:microsoft.com)の TLS フィンガープリントを借用し、能動的プローブにも耐性の高い concealment を提供。
  • 柔軟なトランスポート:TCP、WebSocket、gRPC、HTTPUpgrade など多様な載せ方に対応。
  • 2025年の主流:新規ノード提供者の多くが VLESS + REALITY または VLESS + TLS を標準構成としている。

VLESS の弱点と注意点

Xray 内核に依存するため、古い Clash 原版(非 Meta)や設定フォーマットが古いサブスクリプションでは動作しないことがあります。REALITY 構成は publicKeyshortIdserverName など追加パラメータが必要で、設定ミスが接続失敗の主因になりやすいです。また、プロバイダーによっては REALITY の dest サイト選定が不適切で、不安定になるケースも報告されています。

# Clash YAML — VLESS + REALITY ノードの例
proxies:
  - name: "VLESS-REALITY-日本"
    type: vless
    server: 1.2.3.4
    port: 443
    uuid: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    network: tcp
    tls: true
    udp: true
    flow: xtls-rprx-vision
    servername: www.microsoft.com
    reality-opts:
      public-key: YOUR_PUBLIC_KEY
      short-id: abcd1234

横断比較:暗号化・検出回避・性能・Clash 対応

以下の表は、2025〜2026年時点での一般的な評価です。実際の体感はノード品質、地理的距離、ローカル ISP の DPI 強度に大きく依存します。

評価項目 Shadowsocks Trojan VLESS
暗号化強度(推奨構成) AEAD / SS2022 で十分 TLS 1.3 依存、強固 TLS / XTLS / REALITY、最高クラス
DPI / 検出回避 △(単体は弱め) ○(TLS 偽装) ◎(REALITY 時)
接続速度・帯域効率 ◎(最軽量) ○〜◎(XTLS 時)
初回接続レイテンシ △(TLS 握手)
UDP 対応 ○(設定次第)
Clash Meta 対応 ◎(内核更新必須)
設定の容易さ △(REALITY は複雑)
レガシー互換性
プローブ耐性:Trojan は「通常の HTTPS サーバー」として応答する設計、VLESS + REALITY は「別の正当なサイトの TLS セッション」に見せる設計です。Shadowsocks は obfs や plugin を使わない限り、トラフィック統計分析で異常検知されやすくなっています。

用途別:どのプロトコルを選ぶべきか

「2025年、どれが一番使いやすいか」という問いへの答えは、利用シーンによって異なります。以下のガイドを参考に、サブスクリプション内のノードを使い分けてください。

日常ブラウジング・動画視聴

安定性と concealment のバランスを重視するなら Trojan が無難な選択です。TLS 443 番ポートは最も「普通」に見えるトラフィックであり、長時間の接続でも切断されにくい傾向があります。帯域が潤沢で速度最優先なら、Shadowsocks(AEAD)VLESS + XTLS も有力です。

厳しいネットワーク環境

能動的プローブや SNI フィルタリングが厳しい環境では、VLESS + REALITY が2025年時点での第一選択肢です。REALITY ノードがサブスクリプションに含まれていない場合は、Trojan(正当なドメイン + 有効な証明書)を次点として試してください。Shadowsocks 単体は最後の手段と考え、plugin 付き構成のみ検討するのが現実的です。

ゲーム・VoIP・低遅延用途

レイテンシと UDP 処理能力が重要です。Shadowsocks はオーバーヘッドが最小で、地理的に近いノードなら最も低 Ping になりやすいです。Trojan の UDP リレーも利用可能ですが、TLS 握手分の遅延があります。VLESS では flow: xtls-rprx-vision 有効時の TCP 性能は高い一方、UDP はノード設定に依存します。Clash の url-test で実測し、ゲームサーバー地域に最も近いノードを選ぶことが最優先です。

ルーター・OpenWrt・低スペック端末

CPU とメモリに余裕がない環境では Shadowsocks が最も負荷が低いです。OpenClash や Mihomo on OpenWrt でも SS ノードは安定して動作します。Trojan は TLS 処理分 CPU 使用率が上がり、VLESS + REALITY は設定と内核バージョンの管理が必要です。

利用シーン 第一推奨 代替案
日常・長時間利用 Trojan VLESS + TLS
高 concealment 環境 VLESS + REALITY Trojan(443/TLS)
速度・低遅延最優先 Shadowsocks AEAD VLESS + XTLS Vision
ルーター / 低スペック Shadowsocks Trojan(ノード数少なめ)
レガシークライアント Shadowsocks Trojan

Clash での設定・運用のポイント

3プロトコルを Clash で効果的に使うには、Mihomo(Meta)内核を搭載したクライアント(Clash Verge Rev、Mihomo Party など)の利用を推奨します。原版 Clash 内核は VLESS / REALITY に未対応です。サブスクリプションをインポートした後、以下の手順で最適なノードを見つけてください。

  1. Clash 公式ダウンロードページから Mihomo 系クライアントをインストールする。
  2. サブスクリプション URL をインポートし、プロキシ一覧に SS / Trojan / VLESS ノードが表示されることを確認する。
  3. 各ノードのスピードテスト(稲妻アイコン)を実行し、遅延と成功率を記録する。
  4. プロトコル別の url-test ポリシーグループを作成し、自動で最良ノードを選択させる。
  5. 問題が発生したらログ画面でエラー種別(TLS handshake failed、REALITY verification failed など)を確認する。
proxy-groups:
  - name: "♻️ 自動選択"
    type: url-test
    url: http://www.gstatic.com/generate_204
    interval: 300
    tolerance: 50
    proxies:
      - "SS-香港"
      - "Trojan-台湾"
      - "VLESS-REALITY-日本"

  - name: "🔰 プロキシ"
    type: select
    proxies:
      - "♻️ 自動選択"
      - "SS-香港"
      - "Trojan-台湾"
      - "VLESS-REALITY-日本"
      - DIRECT

複数プロトコルを混在させる url-test グループは、プロバイダーが意図したプロトコル設計を無視して最速ノードだけを選ぶため、concealment が必要な環境ではプロトコル別にグループを分ける方が安全です。例えば「REALITY 専用」「Trojan 専用」の2グループを作り、ルールで振り分ける運用が効果的です。

クライアントとサブスクリプションの更新を月1回以上行い、REALITY の publicKey 変更や非推奨暗号方式の廃止に追随してください。古い設定のまま使い続けると、突然全ノードが接続不能になることがあります。

よくある質問

2025年時点で最もバランスが良いプロトコルはどれですか?

一般的な用途では Trojan over TLS が安定性と concealment のバランスに優れます。最新の Xray 内核を使う場合は VLESS + REALITY が高い検出回避性能を提供します。Shadowsocks は軽量で互換性が高く、古いノードや帯域制限のある環境では依然として有効です。

Clash は3つのプロトコルすべてに対応していますか?

Mihomo 内核を搭載した現行 Clash クライアントは、Shadowsocks、Trojan、VLESS(XTLS / REALITY 含む)の主要な暗号化方式に広く対応しています。ただし、サブスクリプションの YAML 形式とクライアントの内核バージョンが一致している必要があります。原版 Clash では VLESS は利用できません。

Shadowsocks はもう時代遅れですか?

厳しい DPI 環境では Shadowsocks 単体の concealment は相対的に弱くなっています。しかし AEAD 暗号や SS2022 系、低 CPU 負荷が求められるシーンでは依然として選択肢に値します。用途とノード品質次第で判断してください。

VLESS と VMess の違いは何ですか?

VLESS は VMess の後継で、プロトコル自体の暗号化オーバーヘッドを削減し、TLS や REALITY に暗号化を委譲する設計です。XTLS による TLS in TLS 問題の回避や REALITY による SNI 偽装など、2024〜2025 年の主流構成は VLESS ベースが多いです。

単一の VPN アプリと比較すると、Clash は複数プロトコルのノードを1つのサブスクリプションで管理し、ルールベースで分流できる点が大きな利点です。Shadowsocks の軽さ、Trojan の安定した TLS 偽装、VLESS + REALITY の最新 concealment を、用途に応じてポリシーグループで切り替えられるのが Clash エコシステムの強みです。一方、プロトコル選定やノード品質の判断はユーザー側に委ねられるため、本記事の比較表と実測スピードテストを組み合わせた運用が不可欠です。

すべてのプラットフォームで Clash を無料ダウンロード →