---
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` | 지원 | 테스트 환경 |
| --- | --- | --- | --- |
| 전송 없음(원시 TCP) | `tcp`, `raw` 또는 없음 | ✅ | Xray, sing-box |
| WebSocket | `ws` | ✅ 얼리 데이터 유무 무관 | 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는 연결 전체를 하나의 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` | ✅ 인증서 하나 |
| 다른 이름으로 인증서 확인 | | `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는 인증서 하나를 핀으로 지정합니다. `pcs`에 여러 개가 나열된 링크는 가져오지 않습니다.

브라우저 지문은 연결의 TLS 핸드셰이크가 해당 브라우저의 핸드셰이크처럼 보이게 합니다. 서버가 지원해야 하는 항목은 바뀌지 않습니다.

### REALITY {#reality}

REALITY 서버는 다른 웹사이트의 TLS 인증서를 빌려 쓰므로 자체 인증서가 필요 없습니다. 서버의 **공개 키**와 **짧은 ID**는 제공업체가 알려 준 대로, 서버 이름은 서버가 빌려 쓰는 웹사이트로 설정하세요. 링크의 `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가 전달하는 방식대로 Mux.Cool로 전달하며, Xray와 sing-box 서버 모두 이를 받아들입니다. Xray 자체 클라이언트는 `xtls-rprx-vision`에서 포트 443(QUIC)으로의 UDP를 거부해 브라우저가 TCP로 폴백하게 하지만, 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는 하나의 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 | ✅ |
| 한 서버의 여러 사용자 | ✅ 각자 자신의 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://` 링크는 서버 전체를 한 줄에 담습니다.

```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`로 얼리 데이터를 담을 수 있습니다. |
| `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, 얼리 데이터 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/ko/protocols/vless/index.mdx
