---
title: "VLESS"
description: "Potatso が対応する VLESS のトランスポート、フロー、暗号化、TLS オプション、リンク、機能。"
---

> Documentation Index
> Fetch the complete documentation index at: https://potatso.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# VLESS

VLESS サーバは、**ユーザ ID**（UUID）、**セキュリティ**（なし、TLS、REALITY）、および WebSocket や gRPC など、接続を運ぶ**トランスポート**で表されます。さらに、プロキシ経由の HTTPS 通信に現れる「TLS の中の TLS」というパターンを隠す **Vision フロー**や、Xray のポスト量子暗号化レイヤーである **VLESS Encryption** も使えます。Potatso は、これらすべての設定に対応していれば、サーバに接続します。プロバイダが示す設定、またはサーバの `vless://` リンクを見ながら、以下の表でサーバの設定を確認してください。

VLESS サーバは、手動、[`vless://` リンク](#links)、または次のものからの読み込みで追加できます。

- Clash または Mihomo のサブスクリプション、
- Xray または V2Ray の構成。

Potatso は、sing-box の構成からの VLESS サーバの読み込みにはまだ対応していません。代わりに、サーバの `vless://` リンクを使ってください。

以下に挙げる対応済みの設定は、すべて実際の [Xray](https://github.com/XTLS/Xray-core) と [sing-box](https://sing-box.sagernet.org/) のサーバに対してテスト済みです。

## ユーザ ID {#user-id}

ユーザ ID は通常、`3971e1b2-18a3-4f83-8fa6-bf9b142ee258` のような UUID です。Xray サーバは、30 文字以内のそれ以外のテキストも ID として受け付け、どのクライアントでも同じ方法で UUID に変換します。Potatso も同じなので、プロバイダが示すとおりの ID をそのまま使ってください。

## トランスポート {#transports}

| トランスポート | リンクの `type` | 対応 | テストに使用したもの |
| --- | --- | --- | --- |
| トランスポートなし（raw TCP） | `tcp`、`raw`、または指定なし | ✅ | Xray、sing-box |
| WebSocket | `ws` | ✅ Early Data の有無は問いません | Xray、sing-box |
| gRPC | `grpc` | ✅ | Xray、sing-box |
| HTTP Upgrade | `httpupgrade` | ✅ | Xray、sing-box |
| [XHTTP](#xhttp) | `xhttp`、`splithttp` | ✅ `stream-one` と `auto` モードで | Xray |
| HTTP/2 | `http` または `h2` | ✅ | sing-box |
| mKCP | `kcp` | ❌ | |
| QUIC | `quic` | ❌ | |
| HTTP ヘッダー難読化付きの TCP | `headerType=http` を指定した `tcp` | ❌ | |

どのトランスポートも、TLS の有無にかかわらず、UDP でも動作します。Potatso は、対応していないトランスポートを使うサーバを読み込みません。

Xray は HTTP/2 と QUIC を提供しなくなりました。これらを使っていた Xray サーバは、現在 XHTTP を使っています。

### XHTTP {#xhttp}

XHTTP（旧 SplitHTTP）には複数のモードがあります。Potatso は、接続全体を 1 つの HTTP リクエストとして送ります（`stream-one`）。Xray サーバは、デフォルトの `auto` モードと、`stream-one`、`stream-up` モードでこれを受け付けるので、`mode=auto` またはモード指定なしのリンクで動作します。

Potatso は、クライアントの `packet-up` と `stream-up` モードには対応しておらず、それを要求するリンクは読み込みません。XHTTP リンクの `extra` パラメータには対応しておらず、Potatso は無視します。Potatso は TLS または REALITY を使う XHTTP サーバを編集できます。TLS なしで読み込んだ XHTTP サーバも動作します。

## セキュリティ {#security}

| セキュリティ | リンクの `security` | 対応 |
| --- | --- | --- |
| なし | `none`、または指定なし | ✅ サーバが [VLESS Encryption](#encryption) を使わない限り、通信は暗号化されません。 |
| TLS | `tls` | ✅ |
| [REALITY](#reality) | `reality` | ✅ トランスポートなし、gRPC、XHTTP の場合 |

### TLS 設定 {#tls}

| 設定 | Clash のキー | リンクのパラメータ | 対応 |
| --- | --- | --- | --- |
| サーバ名（SNI） | `servername` | `sni` | ✅ 指定がない場合、Potatso はサーバのアドレスを使います。 |
| ALPN | `alpn` | `alpn` | ✅ 指定がない場合、Potatso は WebSocket では `http/1.1`、gRPC、HTTP/2、XHTTP では `h2` を送り、それ以外では何も送りません。 |
| 証明書の検証をスキップ | `skip-cert-verify` | `allowInsecure`、`insecure` | ✅ |
| 証明書のピン留め（SHA-256） | `fingerprint` | `pcs` | ✅ 証明書 1 つ |
| 別の名前で証明書を検証 | | `vcn` | ❌ Potatso は証明書をサーバ名に対して検証します。 |
| ブラウザフィンガープリント | `client-fingerprint` | `fp` | ✅ `chrome`、`firefox`、`safari`、`ios`、`android`、`edge`、`random`。それ以外の名前は、デフォルトのハンドシェイクで接続します。 |
| Encrypted Client Hello（ECH） | `ech-opts` | `ech` | ✅ リンクまたはサブスクリプションに ECH 構成がある場合 |
| カスタム CA 証明書 | | | ❌ |
| TLS クライアント証明書 | `certificate`、`private-key` | | ❌ |

証明書の検証をオフにすると、あなたとサーバの間にいる誰でも、通信内容を読めてしまいます。サーバが自己署名証明書を使っている場合は、代わりにサーバの証明書をピン留めしてください。証明書のピンに、その証明書の SHA-256 を設定します。Potatso がピン留めできる証明書は 1 つです。`pcs` に複数を列挙したリンクは読み込みません。

ブラウザフィンガープリントを指定すると、接続の TLS ハンドシェイクがそのブラウザのものに見えます。サーバが対応しなければならない内容は変わりません。

### REALITY {#reality}

REALITY サーバは、別の Web サイトの TLS 証明書を借りるため、自前の証明書が不要です。サーバの **Reality 公開鍵**と **Reality ショート ID** をプロバイダの指定どおりに設定し、サーバ名にはサーバが借りている Web サイトを設定します。リンクの `spx`（スパイダーパス）は接続に必要ないため、Potatso は無視します。

REALITY にはブラウザフィンガープリントが必要です。リンクや設定にない場合、Potatso は `chrome` を使います。REALITY では、`android` や Potatso が知らない名前も `chrome` として接続します。

REALITY は、トランスポートなし、gRPC、XHTTP で動作します。

## Vision フロー {#vision}

| フロー | リンクの `flow` | 対応 |
| --- | --- | --- |
| なし | なし | ✅ |
| Vision | `xtls-rprx-vision` | ✅ |
| Vision、UDP 443 を許可 | `xtls-rprx-vision-udp443` | ✅ |
| `xtls-rprx-direct`、`xtls-rprx-splice`、その他の古い XTLS フロー | | ❌ Xray が削除しました |

Vision が動作するのは、トランスポートなしで、TLS または REALITY を使う場合だけです。Potatso は、別のトランスポートや TLS なしの Vision サーバを、保存も読み込みもしません。TLS の上に VLESS Encryption を重ねた場合にも動作します。

Vision では、UDP は Xray と同じ方式、つまり Xray と sing-box のサーバがどちらも受け付ける Mux.Cool で運ばれます。Xray 自身のクライアントは、ブラウザが TCP にフォールバックするよう、`xtls-rprx-vision` での UDP ポート 443（QUIC）への通信を拒否しますが、Potatso はどちらのフローでも運びます。

## VLESS Encryption {#encryption}

VLESS Encryption（`mlkem768x25519plus`）は、Xray のポスト量子暗号化レイヤーで、VLESS 接続の下で ML-KEM-768 と X25519 の鍵交換を行います。サーバの `decryption` 設定に対応するクライアント用の `encryption` 値は、次のような形です。

```text
mlkem768x25519plus.native.0rtt.<key>
```

| 設定 | 対応 |
| --- | --- |
| モード `native`、`xorpub`、`random` | ✅ |
| `1rtt` と `0rtt`（再開した接続） | ✅ |
| X25519 または ML-KEM-768 の鍵で認証されるサーバ | ✅ |
| トランスポートなし、TLS なし | ✅ |
| TLS の上で | ✅ Vision との併用も可 |
| TLS なしの Vision | ❌ |

Potatso は、リンク、Clash のサブスクリプション、Xray の構成にある `encryption` 値を保持します。サーバの設定に値を直接入力することは、まだできません。

## 多重化 {#mux}

Potatso は、1 つの VLESS 接続の上に複数の接続を通せます。Clash のサブスクリプションでは `smux` で設定します。

| プロトコル | Clash の `smux.protocol` | サーバ | 対応 |
| --- | --- | --- | --- |
| Mux.Cool（Xray） | `muxcool` | Xray、sing-box | ✅ TCP と UDP |
| sing-box の多重化 | `smux`、`yamux`、`h2mux` | 多重化をオンにした sing-box | ✅ パディングの有無を問わず、TCP と UDP |

Vision では、Mux.Cool が運ぶのは UDP だけで、各 TCP 接続は Xray と同様に自分の接続を保持します。sing-box の多重化は Vision では動作せず、Potatso はそれを要求する Vision サーバを読み込みません。

Xray の構成にある Xray の `mux` 設定は読み込まれません。

## UDP {#udp}

VLESS は、TCP と同じ接続の上で UDP を運びます。Clash と同様に、UDP はデフォルトでオフです。サーバが UDP を中継する場合は、サーバの設定で UDP リレーをオンにしてください。Xray と sing-box はどちらも中継します。Clash のサブスクリプションでは `udp: true` でオンになります。

UDP の各フローは、サーバへの専用の接続を持ち、宛先ごとに独自のフローを持ちます。Potatso は XUDP や packetaddr（リンクの `packetEncoding`、サブスクリプションの `packet-encoding` や `xudp`）には対応していません。サーバは、これらなしの Potatso の UDP を受け付けるため、Potatso はこの設定を無視します。

## 機能の対応状況 {#features}

| 機能 | 対応 |
| --- | --- |
| [VLESS プロトコル](https://xtls.github.io/en/development/protocols/vless.html)バージョン 0：TCP と UDP のコマンド | ✅ |
| UUID とテキストのユーザ ID | ✅ |
| 1 つのサーバでの複数ユーザ | ✅ それぞれ自分の ID を使用 |
| Vision フロー（`xtls-rprx-vision`、`-udp443`） | ✅ [Vision](#vision) を参照してください |
| VLESS Encryption（`mlkem768x25519plus`） | ✅ [VLESS Encryption](#encryption) を参照してください |
| TLS、REALITY、ECH、証明書のピン留め、ブラウザフィンガープリント | ✅ [セキュリティ](#security)を参照してください |
| WebSocket、gRPC、HTTP Upgrade、HTTP/2 トランスポート | ✅ [トランスポート](#transports)を参照してください |
| XHTTP | `stream-one` と `auto` モード |
| mKCP、QUIC、TCP の HTTP ヘッダー難読化 | ❌ |
| Mux.Cool | ✅ |
| XUDP、packetaddr | ❌ UDP は通常の UDP コマンドを使います |
| sing-box の多重化（smux、yamux、h2mux） | ✅ |
| リバースプロキシ（VLESS の `reverse`） | ❌ サーバ側の機能です |
| `vless://` リンク（[Xray の共有リンク標準](https://github.com/XTLS/Xray-core/discussions/716)） | ✅ |

## `vless://` リンク {#links}

`vless://` リンクは、1 行にサーバ全体の情報をまとめたものです。

```text
vless://id@host:port?type=…&security=…&…#name
```

| 部分 | 説明 |
| --- | --- |
| `id` | ユーザ ID。 |
| `host` | サーバのアドレス。IPv6 アドレスは `[2001:db8::1]` のように角括弧で囲みます。 |
| `port` | サーバのポート。 |
| `encryption` | `none`、または [VLESS Encryption](#encryption) の値。 |
| `flow` | 任意。`xtls-rprx-vision` または `xtls-rprx-vision-udp443`。 |
| `type` | [トランスポート](#transports)。 |
| `security` | `none`、`tls`、`reality`。 |
| `sni`、`alpn`、`fp`、`pcs`、`ech`、`allowInsecure` | [TLS 設定](#tls)。 |
| `pbk`、`sid` | REALITY の公開鍵とショート ID。 |
| `host`、`path` | WebSocket、HTTP Upgrade、HTTP/2、XHTTP の `Host` ヘッダーとパス。WebSocket のパスは、`?ed=2048` として Early Data を運べます。 |
| `serviceName` | gRPC のサービス名。 |
| `mode` | XHTTP のモード。 |
| `name` | 任意。Potatso でのサーバ名。 |

Potatso が VLESS サーバを共有するときは、この形式のリンクを書き出します。

### 例 {#link-examples}

各例は、読み込むリンクを示しています。ユーザ ID は `3971e1b2-18a3-4f83-8fa6-bf9b142ee258` です。

トランスポートなしの TLS：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&sni=vless.example.com&type=tcp#TLS
```

`www.example.com` を借りる、Vision 付きの REALITY：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=reality&sni=www.example.com&fp=chrome&pbk=Z84J2IelR9ch3k8VtlVhhs5ycBUlXA7wHBWcBrjqnAw&sid=0123abcd&type=tcp&flow=xtls-rprx-vision#REALITY-Vision
```

CDN 経由の TLS 上の WebSocket、Early Data は 2048 バイト：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=ws&host=cdn.example.com&path=%2Fws%3Fed%3D2048#WebSocket
```

TLS 上の gRPC：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=grpc&serviceName=gun#gRPC
```

TLS 上の HTTP Upgrade：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=httpupgrade&host=cdn.example.com&path=%2Fup#HTTPUpgrade
```

TLS 上の XHTTP：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=xhttp&host=cdn.example.com&path=%2Fxh&mode=auto#XHTTP
```

TLS 上の HTTP/2：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:443?security=tls&type=http&host=cdn.example.com&path=%2Fh2#HTTP2
```

TLS なしの VLESS Encryption：

```text
vless://3971e1b2-18a3-4f83-8fa6-bf9b142ee258@vless.example.com:8443?security=none&encryption=mlkem768x25519plus.native.0rtt.u7dtLE6KgE4mjeBK3oYdNMw6MJB47Ijr_9AG2avwSmY&type=tcp#Encryption
```

Source: https://potatso.com/docs/ja/protocols/vless/index.mdx
