vmess://・vless://・ss://・trojan:// リンクの読み方

V2Ray 設定リンクの各部分の意味を、VLESS・VMess・Shadowsocks・Trojan のプレースホルダー例で解説します。リンクが認証情報である理由も説明します。

最終確認日:

設定リンクは、クライアントに必要なもの(サーバー、鍵、トランスポートの設定)をすべて 1 行にまとめたものです。読み方が分かれば、何を受け取ったのか、そして設定がなぜ失敗するのかが分かります。以下の例はすべてプレースホルダーで、実在のサーバーではありません。

VLESS

vless://[email protected]:443?encryption=none&security=reality&sni=site.example&fp=chrome&pbk=PUBLIC_KEY&sid=SHORT_ID&type=tcp&flow=xtls-rprx-vision#my-config
部分意味
00000000-…ユーザー ID(UUID)。これが鍵で、持っている人は誰でもそのサーバーを使えます。
server.example:443サーバーのアドレスとポート。
encryption=noneVLESS 自体は暗号化を行いません。トラフィックはセキュリティ層が保護します。
securitynone、tls、reality のいずれか。
sniTLS ハンドシェイクで提示されるサーバー名。REALITY では、模倣される実在のサイトです。
fpクライアントが模倣する TLS フィンガープリント。たとえば chrome。
pbk、sidREALITY の公開鍵とショート ID。どちらもサーバーと完全に一致している必要があります。
typeトランスポート:tcp、ws(WebSocket)、grpc など。
flowxtls-rprx-vision は Vision フローで、REALITY、または TCP 上の TLS と組み合わせて使います。
path、host、serviceNameWebSocket または gRPC トランスポートを使う場合の設定。
#my-configリストに表示されるラベル。

VMess

vmess:// リンクは、プレフィックスのあとに、小さな JSON ドキュメントを Base64 にしたものが続く形です。デコードすると次のようになります。

{"v":"2","ps":"my-config","add":"server.example","port":"443","id":"00000000-0000-0000-0000-000000000000","aid":"0","scy":"auto","net":"ws","type":"none","host":"server.example","path":"/path","tls":"tls","sni":"server.example"}

add と port がサーバー、id が UUID、aid が旧式の alter ID(0 であるべきです)、net がトランスポート、host と path は WebSocket 用、tls が TLS を有効にし、ps がラベルです。手作業でデコードするには、vmess:// のあとのテキストを base64 -d に通します。

Shadowsocks

ss://BASE64(method:password)@server.example:8388#my-config

@ の前の部分は暗号方式とパスワードで、Base64 でエンコードされています。AEAD 暗号を使ってください。rc4-md5 や aes-256-cfb のような古いストリーム暗号は弱いものです。古いリンクの中には、代わりに method:password@host:port 全体を Base64 エンコードしているものもあります。

Trojan

trojan://[email protected]:443?security=tls&sni=server.example&type=tcp#my-config

@ の前の部分がパスワードです。Trojan はトラフィックを保護するために TLS を必要とするので、security=tls が含まれているべきです。

サブスクリプション

サブスクリプション URL は、通常は Base64 エンコードされた、1 行に 1 つのリンクのリストを返します。アプリはそれを取得してデコードし、すべてのリンクを追加します。プロバイダーがブロックされたサーバーを入れ替えたときは、サブスクリプションを更新すると新しいサーバーが入ります。

リンクを壊す間違い

リンクデコーダーは、次のようなよくある間違いを検出します。

  • 無効な UUID またはポート。
  • 公開鍵またはサーバー名のない REALITY。
  • TLS のない VLESS または Trojan。
  • allowInsecure がオンになっていること(証明書の確認がオフになります)。
  • 古い Shadowsocks の暗号方式。
  • 0 以外の VMess alter ID。

pbk や sid の 1 文字が違うだけで、REALITY の設定は何のメッセージもなく失敗します。

接続できても何も読み込まれないことがある理由をご覧ください。

リンクは認証情報

リンクの中の UUID やパスワードは、サーバーへの鍵です。リンクを持っている人は誰でもそれを使えます。共有サーバーでは、あなたの利用枠が削られることもあります。リンクを公開チャットに投稿しないでください。公開されたリンクは、その分ブロックされるのも早くなります。

このサイトのデコーダーはページ内でデコードし、どこにも何も送信しません。リンクをデコードするとき、ページはネットワークリクエストを一切行いません。それでも、リンクを貼り付けるオンラインツールには注意してください。上で示したように、base64 -d を使えばオフラインでデコードできます。

出典

設定を持ち込むだけ。あとは迷わない。

iPhone・iPad・Mac 向けに App Store で無料。