VLESS Realityは、ネットワークを見張っている何ものにとっても、本物のウェブサイトへの普通の訪問のように見える暗号化プロキシを動かす方法です。Xrayの軽量なVLESSトランスポートと、REALITYのハンドシェイクを組み合わせます。REALITYは本物のサイトのTLSのフィンガープリントを借りるので、ディープパケットインスペクションには印を付けるものが何もありません。設定には小さなサーバーが一台と、十五分ほどかかります。

手短な答え:フィルタリングされたネットワークの外にサーバーを借り、そこにXrayをインストールし、REALITYのセキュリティを備えたVLESSのインバウンドを有効にして、生成されたリンクをクライアントアプリにインポートします。難しいところはREALITYがやってくれます。あなたのサーバーのTLSのハンドシェイクを、本物の人気のあるウェブサイトのものと見分けがつかなくするのです。だからこそ、この組み合わせは、古いツールがブロックされる場所でも今なお通り抜けます。

要点

  • VLESSはXrayの飾り気のないトランスポートです。それ自体は暗号化を運ばないので、常にセキュリティの層——ここではREALITY——と組み合わされます。
  • REALITYが肝心な仕掛けです。あなたのサーバーに本物の第三者のサイトのTLSのハンドシェイクを提示させ、自前のドメインや証明書を必要とせずに、フィンガープリンティングとアクティブプロービングの両方を打ち破ります。
  • これはセルフホストです。フィルタリングされていない場所に自分のサーバー(安価なVPS)が必要です——登録するアカウントはありません。
  • よくある設定の経路は二つ。3x-uiのウェブパネル(最も簡単)か、手書きのXray設定(より細かく制御できる)です。どちらも下で扱います。
  • 強力ですが、運用するのはあなたです。一台のサーバー、フェイルオーバーなし、そして継続的な保守が、本当のコストです。

VLESS Realityの正体

三つの部品が積み重なっていて、それらを分けて捉えると分かりやすくなります。

Xray(Xray-core)はプロキシのエンジン——V2Rayプロジェクトの、活発に保守されている後継です。いくつかのプロトコルを話し、VLESSはそのうちの一つです。

VLESSは、意図的に最小限にされたトランスポートのプロトコルです。その名前は、何を省いているかを示しています。古いVMessのプロトコルが自前の暗号化とタイムスタンプに基づく認証を行っていたのに対し、VLESSはそれをすべて落とし、自前の暗号化を一切運びません。それは要点を見るまでは格下げのように聞こえます。邪魔をしないことで、VLESSは専用のセキュリティの層に暗号化をさせ、より少ないオーバーヘッドと、通信路上のより清潔なシグネチャを実現します。

REALITYがそのセキュリティの層で、この設定が手間をかける価値のある理由です。それが解く問題は具体的です。通常のTLSのプロキシは証明書を提示しなければならず、証明書はフィンガープリントです。自己署名の証明書は怪しく見えます。自前のドメインの証明書はサーバーをあなたに結びつけ、列挙されえます。さらに悪いことに、検閲のシステムはアクティブプローブを走らせます。怪しいサーバーに自ら接続して、どうふるまうかを見るのです。ほとんどの変装はその試験に落ちます。

REALITYの答えは、装うのをやめて、借りることを始めることです。自前の証明書を提供する代わりに、あなたのサーバーは、あなたが指名した本物の人気のあるウェブサイトの身元を使って、本物のTLS 1.3のハンドシェイクを完了します。認可されたクライアント——あなたの公開鍵と一致するショートIDを持つもの——はプロキシへと導かれます。政府のプローバーを含むそれ以外の誰もが、その本物のウェブサイトへ透過的に転送され、その本物の有効な証明書を見ます。検知すべき異常はありません。外部の観察者にとって、その接続は本物のサイトへの本物の接続だからです。

こうしたツールが存在する理由のより広い文脈が知りたければ、イラン、ロシア、中国がVPNをどうブロックするかが、REALITYが生き延びるよう作られたディープパケットインスペクションとアクティブプロービングのシステムを扱っています。

始める前に必要なもの

  • 越えようとしているファイアウォールの背後にない場所のVPS(仮想専用サーバー)。最近のDebianかUbuntuを動かす小さなインスタンスなら何でも構いません。
  • そのサーバーへの、rootまたはsudoユーザーとしてのSSHアクセス。
  • 十五分ほど。

一つ、必要ないものが、自前のドメイン名やTLSの証明書です。その要件を取り除くことがREALITYの主な便利さであり、この設定が、それ以前のTLSとドメインを使うプロキシより速く立ち上げられる理由の大きな部分です。

設定、経路A:3x-uiパネル

JSONを編集するよりクリックしたいなら、3x-uiパネルが最もよくある経路で、鍵をあなたのために生成してくれます。番号を振った手順は次のとおりです。

  1. VPSを用意して接続する。プロバイダーでサーバーを作成し、SSHで入ります:ssh root@your-server-ip
  2. インストールスクリプトを実行する。3x-uiプロジェクトのREADMEから一行のインストーラーを貼り付けます。それがパネルとXrayをインストールし、パネルのアドレス、ポート、ログインを表示します。
  3. ログインして守りを固める。ブラウザでパネルのURLを開いてサインインします。すぐに既定のユーザー名、パスワード、パネルのパスを変えましょう——既定の資格情報のまま晒されたパネルは、こうした設定が侵害される最もよくある経路です。
  4. インバウンドを作成する。新しいインバウンドを追加し、プロトコルをVLESSに、セキュリティをREALITYに設定します。
  5. パネルに暗号の項目を埋めさせる。ボタンを使ってUUID、x25519の鍵ペア、ショートIDを生成します。宛先とSNIには、下の節の基準を満たす本物のサイトを選びましょう。
  6. エクスポートしてインポートする。保存してから、共有リンクをコピーするか、QRコードをスキャンしてクライアントアプリに取り込みます。その一つのリンクに、クライアントが必要とするすべてが入っています。

それが流れのすべてです。パネルは、手作業の経路がするのとまったく同じことをしているだけで、設定ファイルを隠しているにすぎません。

設定、経路B:Xray設定を手書きで

手作業の経路は、より細かい制御と、余分な可動部のなさを与えてくれます。資格情報を生成するのに二つのコマンドを実行し、それから一つの設定ファイルを書きます。

  1. Xray-coreをインストールする。XTLSのXray-coreプロジェクトの公式インストーラーを使います。それがバイナリとsystemdのサービスをサーバーに置きます。
  2. 資格情報を生成する。クライアントIDのためにxray uuidを、それから鍵ペアのためにxray x25519を実行します。秘密鍵はサーバーに置いておき、公開鍵はクライアントへ渡します。
  3. 設定を書く。REALITYを備えた最小限のVLESSのインバウンドは、次のようになります:
    {
      "inbounds": [{
        "port": 443,
        "protocol": "vless",
        "settings": {
          "clients": [{ "id": "PASTE-UUID", "flow": "xtls-rprx-vision" }],
          "decryption": "none"
        },
        "streamSettings": {
          "network": "tcp",
          "security": "reality",
          "realitySettings": {
            "dest": "example.com:443",
            "serverNames": ["example.com"],
            "privateKey": "PASTE-PRIVATE-KEY",
            "shortIds": ["", "0123abcd"]
          }
        }
      }],
      "outbounds": [{ "protocol": "freedom" }]
    }
  4. 再起動して確認する。Xrayのサービスを再起動し、ポート443で待ち受けていることを確かめます。
  5. クライアントのリンクを組み立てる。UUID、あなたの公開鍵、ショートID、SNIから共有URLを組み立てます。ほとんどの人はこれを一度生成して再利用します。

ここではいくつかのフィールドがその働きに値します。flowxtls-rprx-visionに設定するとXTLS Visionが有効になり、TLSの中にTLSをトンネルすることの二重の暗号化を削るので、より速く、より静かになります。destserverNamesが、借りた身元です。privateKeyはあなたのクライアントが持つ公開鍵と対になり、shortIdsは一台のサーバーがクライアントを見分けられるようにします。

「dest」を選ぶ——唯一重要な決定

借りる宛先のサイトが、溶け込むことと目立つことの分かれ目です。次のようなサイトを狙いましょう。

  • TLS 1.3とHTTP/2に対応している(REALITYは模倣するための最新のハンドシェイクを必要とします)。
  • あなたのクライアントのいる場所で、まだブロックされていない——あなたはそのトラフィックの中に隠れるので、到達可能でなければなりません。
  • あなた自身の国の外でホストされており、そこの人が訪れても不自然でない。
  • あなた自身のドメインではなく、宛先として奇妙に見えるような、ごく小さなまたは無名のホストでもない。

これを正しく押さえれば、あなたのサーバーのトラフィックは統計的に退屈なものになります。間違えれば——ブロックされたサイトや、あなたが主張しているハンドシェイクに本当は対応していないサイトを選べば——あなたは自分を、より目立たなくではなくより目立つようにしてしまったことになります。

クライアントを接続する

同じ接続リンクがプラットフォームをまたいで機能します。あなたの端末に合うクライアントへ、それをインポートします。

  • Windows / Linux:v2rayNや、それに類するデスクトップのクライアント。
  • Android:v2rayNG。
  • iOS:REALITYとVisionのフローを備えたVLESSに対応したアプリ——Shadowrocket、Streisand、V2Boxがよくある選択肢です。リンクを貼り付けるか、QRをスキャンします。

何を使うにせよ、接続したあとに手早い確認をしましょう。あなたの公開IPがサーバーのものに変わったこと、そしてDNSがトンネルの周りで漏れていないことを確かめます。ひそかに漏れるプロキシは、要点を台なしにします。

得意なこと——そして本当の限界

この売り込みの正直な版は短いものです。VLESS Realityは、今日、重くフィルタリングされたネットワークから接続を外へ出す最も信頼できる方法の一つです。より単純なツールが捕まるアクティブプロービングを打ち破り、ドメインも証明書も要らず、Visionとともになら性能のコストも小さい。検閲の問題に限って言えば、それは素晴らしいものです。

しかしセルフホストはトレードオフであって、ただ飯ではありません。そのコストは率直に言う価値があります。

  • 単一障害点です。一台のサーバー、一つのIPアドレス。そのIPがブロックされたり、プロバイダーがそのインスタンスに印を付けたりすれば、別のどこかで作り直すまで、フェイルオーバーなしで止まります。
  • 運用者はあなたです。OSにパッチを当てること、Xrayを更新すること、鍵とパネルを安全に保つこと。その作業は止まりません。古いパネルや使い回しの既定のパスワードは、仮の話ではなく、本当のリスクです。
  • カバー範囲はクライアント次第です。端末全体をルーティングすること、DNSを扱うこと、トンネルが切れたときに安全にふるまうことは、ここではクライアントの仕事であり、クライアントはまちまちです。完全なVPNはそのふるまいを標準化します。プロキシの設定は、より多くをあなたに委ねます。その対比がShadowsocks対VPNの核心です。
  • 変装にも保守が要ります。借りた宛先がブロックされたり、クライアントがプロトコルに遅れをとったりすれば、静かな設定を騒がしいものに変えうるのです。

知っておく価値のある、並行する手法もあります。REALITYはウェブサイトを模倣することでプロキシを隠します。WireGuardの世界は、同じディープパケットインスペクションの問題に、プロトコルそのものを作り変えることでVPNの側から答えます。それがAmneziaWG対WireGuardの主題です。そして、これらのトンネルのプロトコルを地に足のついたかたちで先に比較したければ、WireGuard対OpenVPN対IKEv2がそのトレードオフを並べています。

よくある質問

VLESS Realityとは何ですか。Xrayの中の二つのものの組み合わせです。あなたのトラフィックを運ぶ軽量なトランスポートのプロトコルであるVLESSと、接続を本物のウェブサイトへの通常のTLSの訪問として変装させるセキュリティの層であるREALITYです。両者が合わさって、検閲のシステムが検知したり探ったりしにくいプロキシを成します。

VLESS Realityは暗号化されていますか。はい——ただしVLESSによってではありません。VLESS自体は暗号化を運びません。暗号化は、REALITYが確立する本物のTLS 1.3のセッションから来ます。それは通常のHTTPSを守るのと同じ最新の暗号化です。ですからあなたのトラフィックは暗号化されています。その暗号化が、トランスポートではなくREALITYの層に宿っているだけです。

「VLESS」とは何を意味しますか。V2Ray/Xrayの系統のトランスポートのプロトコルで、VMessのより軽い後継として設計されました。その名前は、何を取り除くかを指しています。それはより少なくを行い、とりわけVMessが運んでいた組み込みの暗号化とタイムスタンプの認証を落とします。その最小主義こそが機能です——暗号化をTLSやREALITYに委ね、オーバーヘッドとシグネチャを低く保つのです。

VLESSはVMessより優れていますか。最新のステルスの設定には、たいていはい。VLESSはより軽く、VMessにはできないXTLS Visionのフローを使え、REALITYと清潔に組み合わさります。VMessも今なお機能し、自前の暗号化を組み込んでいますが、そのハンドシェイクはフィンガープリントで捉えやすく、それはまさに、フィルタリングされたネットワークであなたが避けようとしていることです。

VLESS Realityは無料ですか。ソフトウェアは無料です——XrayとREALITYは無償のオープンソースです。あなたが払うのは、それが動くサーバーです。オンラインで共有されている「無料」の公開設定には警戒しましょう。それを使うことは、すべてのトラフィックを見知らぬ他人のサーバーに通すことを意味し、あらゆる無料のプロキシと同じ信頼の問題を抱えます。

結論

  • VLESS Realityはセルフホスト型のステルスプロキシです。XrayのVLESSトランスポートに、サーバーを本物のウェブサイトとして変装させるREALITYのハンドシェイクを加えたものです。
  • より単純なツールをブロックするフィンガープリンティングとアクティブプロービングを打ち破り、自前のドメインや証明書を必要としません。
  • 設定は一台のVPSと短い設定(3x-uiパネル経由か、手書きのファイルか)で、唯一最も重要な選択は、借りる宛先のサイトです。
  • コストは所有することです。一台のサーバー、フェイルオーバーなし、そして自前のインフラを運用することに伴う手入れです。

自前のVLESS Realityのサーバーを動かすことは、それにパッチを当て、料金を払い、生かし続ける者であることと引き換えに、完全な制御を与えてくれます。iPhoneにいて、自分で運用しなくてよい難読化されたWireGuardの接続——借りるサーバーも、回す鍵も、メールもアカウントもなし——のほうがよいなら、それがSnap VPNが作られている側であり、App Storeにあります。