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

HTML: https://v2rc.app/ja/learn/read-a-config-link/ · 最終確認日: 2026-11-06

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

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

## VLESS

```
vless://00000000-0000-0000-0000-000000000000@server.example: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=none` | VLESS 自体は暗号化を行いません。トラフィックはセキュリティ層が保護します。 |
| `security` | `none`、`tls`、`reality` のいずれか。 |
| `sni` | TLS ハンドシェイクで提示されるサーバー名。REALITY では、模倣される実在のサイトです。 |
| `fp` | クライアントが模倣する TLS フィンガープリント。たとえば `chrome`。 |
| `pbk`、`sid` | REALITY の公開鍵とショート ID。どちらもサーバーと完全に一致している必要があります。 |
| `type` | トランスポート：`tcp`、`ws`（WebSocket）、`grpc` など。 |
| `flow` | `xtls-rprx-vision` は Vision フローで、REALITY、または TCP 上の TLS と組み合わせて使います。 |
| `path`、`host`、`serviceName` | WebSocket または 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://PASSWORD@server.example:443?security=tls&sni=server.example&type=tcp#my-config
```

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

## サブスクリプション

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

## リンクを壊す間違い

[リンクデコーダー](https://v2rc.app/ja/decoder/)は、次のようなよくある間違いを検出します。

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

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

[接続できても何も読み込まれないことがある理由](https://v2rc.app/ja/learn/russia/)をご覧ください。

## リンクは認証情報

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

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

## 出典

- [Xray の設定例](https://github.com/XTLS/Xray-examples)
- [REALITY のドキュメント](https://github.com/XTLS/REALITY)
- [Trojan プロトコルの説明](https://trojan-gfw.github.io/trojan/protocol)
- [Shadowsocks SIP002](https://shadowsocks.org/doc/sip002.html)：リンク形式を定義しています
