---
title: "VMess"
description: "Шифри, транспорти, посилання та можливості VMess, які підтримує Potatso."
---

> 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.

# VMess

Сервер VMess описують **UUID**, **шифр**, що шифрує трафік, і **транспорт**, що передає з’єднання, наприклад WebSocket чи gRPC, з TLS або без нього. Potatso під’єднується до сервера, коли підтримує шифр, транспорт і параметри TLS сервера. Скористайтеся таблицями нижче, щоб перевірити параметри свого сервера, як їх показує ваш постачальник або вказано в його посиланні `vmess://`.

Сервер VMess можна додати вручну, через [посилання `vmess://`](#links) або імпортом:

- підписки Clash чи Mihomo,
- конфігурації Xray чи V2Ray,
- конфігурації Surge.

Potatso поки не імпортує сервери VMess із конфігурації sing-box. Натомість використайте посилання `vmess://` сервера.

## Шифри {#ciphers}

| Шифр | Підтримується |
| --- | --- |
| `auto` | ✅ Potatso вибирає `aes-128-gcm`, який кожен пристрій Apple виконує апаратно. |
| `aes-128-gcm` | ✅ |
| `chacha20-poly1305` | ✅ |
| `none` | ✅ |
| `zero` | ❌ |
| `aes-128-cfb` (застарілий) | ❌ |

`none` і `zero` надсилають ваш трафік без шифрування. Використовуйте `none` лише з TLS, який тоді шифрує з’єднання. Potatso не під’єднується з `zero`, який також знімає захист від підміни: виберіть на своєму сервері інший шифр.

### alterId {#alterid}

Potatso завжди використовує поточну автентифікацію VMess, що відповідає `alterId` 0. Сервери, чий користувач усе ще має `alterId` більше 0, приймають її теж, тож сервер можна залишити як є. Potatso не підтримує стару автентифікацію, яку використовував лише `alterId` більше 0 і яку сервери вважають застарілою з 2022 року.

## Транспорти {#transports}

| Транспорт | `net` / `type` у посиланні | Підтримується | Перевірено з |
| --- | --- | --- | --- |
| Немає (чистий TCP) | `tcp` або нічого | ✅ З TLS або без нього | Xray, sing-box, V2Ray |
| WebSocket | `ws` | ✅ З TLS або без нього та з ранніми даними | Xray, sing-box, V2Ray |
| gRPC | `grpc` | ✅ З TLS або без нього | Xray, sing-box, V2Ray |
| HTTP/2 | `h2` або `http` | ✅ З TLS | sing-box, V2Ray |
| HTTP Upgrade | `httpupgrade` | ✅ З TLS або без нього | Xray, sing-box |
| TCP із заголовком HTTP | `tcp` з `type=http` | ❌ | |
| XHTTP | `xhttp` | ❌ | |
| mKCP, QUIC | `kcp`, `quic` | ❌ | |

Кожен підтримуваний транспорт працює з UDP. Potatso не імпортує сервер, транспорт якого він не підтримує.

Ранні дані WebSocket надсилають перші байти з’єднання разом із рукостисканням WebSocket, заощаджуючи один обмін. Їх задає `?ed=2048` у кінці шляху посилання або `max-early-data` у підписці Clash.

Xray більше не пропонує HTTP/2: сервери Xray, які його використовували, тепер використовують XHTTP, який Potatso поки не підтримує.

## TLS {#tls}

| Параметр | Ключ Clash | Поле посилання | Підтримується |
| --- | --- | --- | --- |
| Назва сервера (SNI) | `servername` | `sni` | ✅ Без неї Potatso використовує адресу сервера. |
| ALPN | `alpn` | `alpn` | ✅ Без нього Potatso надсилає `http/1.1` для WebSocket і `h2` для gRPC та HTTP/2. |
| Пропустити перевірку сертифіката | `skip-cert-verify` | `allowInsecure` | ✅ |
| Відбиток браузера | `client-fingerprint` | `fp` | ✅ `chrome`, `firefox`, `safari`, `ios`, `android`, `edge` і `random`. З іншими назвами з’єднання встановлюється зі стандартним рукостисканням. |
| Закріплення сертифіката | `fingerprint` | `pcs` | ❌ |
| REALITY | `reality-opts` | `security=reality` | ❌ |
| Encrypted Client Hello (ECH) | `ech-opts` | `ech` | ❌ |
| Власний сертифікат CA | | | ❌ |

Вимкнення перевірки сертифіката дозволяє будь-кому між вами та сервером читати ваш трафік. Potatso не під’єднується до сервера VMess, якому потрібні REALITY, ECH або закріплення сертифіката, бо під’єднання без них не дало б захисту, якого просить сервер. Для REALITY використовуйте VLESS або Trojan.

Відбиток браузера робить рукостискання TLS схожим на рукостискання цього браузера. Він не змінює того, що має підтримувати сервер.

## UDP {#udp}

Для серверів VMess UDP типово вимкнено. Увімкніть **Ретрансляція UDP** в параметрах сервера або задайте `udp: true` у підписці Clash.

Potatso надсилає кожен потік UDP через власне з’єднання VMess, що приймає кожен сервер VMess. Він не підтримує кодування XUDP і PacketAddr (`packetEncoding` у посиланні, `packet-encoding` або `xudp` у підписці Clash), які передають багато потоків UDP через одне з’єднання: сервер, налаштований із ними, усе одно працює, а Potatso під час імпорту повідомляє, що натомість використовує власний UDP. Програми, яким потрібен full-cone NAT, як-от деякі ігри, можуть з ним не працювати.

Коли ввімкнено [мультиплексування](#mux), UDP натомість іде через спільне з’єднання.

## Мультиплексування {#mux}

Potatso може пропускати кілька з’єднань через одне з’єднання VMess, що задається через `smux` у підписці Clash:

| Протокол | `protocol` у `smux` | Сервери |
| --- | --- | --- |
| Mux.Cool | `muxcool` | Xray, V2Ray і sing-box, без параметра на сервері |
| sing-mux | `h2mux`, `smux`, `yamux` | sing-box з увімкненим мультиплексуванням |

TCP і UDP працюють обидва. Mux.Cool закриває обидва напрямки з’єднання разом, тож програмі, яка припиняє надсилати й чекає відповіді, слід використовувати сервер без мультиплексування.

## Параметри запиту {#request-options}

Клієнт VMess вибирає кілька параметрів для кожного з’єднання, і кожен сервер приймає будь-які з них. Potatso завжди надсилає свій трафік зашифрованими фрагментами та позначає кінець кожного вивантаження, а інших не задає:

| Параметр | Ключ Clash | Potatso |
| --- | --- | --- |
| Потік фрагментів | | Завжди ввімкнено |
| Маскування фрагментів | | Вимкнено |
| Глобальне доповнення | `global-padding` | Вимкнено. Potatso попереджає, коли ви імпортуєте сервер, що його задає. |
| Автентифікована довжина | `authenticated-length` | Вимкнено. Potatso попереджає, коли ви імпортуєте сервер, що її задає. |

Маскування фрагментів і глобальне доповнення приховують розмір кожного фрагмента від стороннього спостерігача. Без них ваш трафік усе одно не можна прочитати, але його шаблон легше розпізнати.

### Великі вивантаження {#large-uploads}

Одне з’єднання VMess може вивантажити приблизно 1 ГіБ. VMess нумерує свої зашифровані фрагменти лічильником, який вичерпується після цього, а продовження послабило б шифрування, тож Potatso натомість закриває з’єднання. Для завантажень обмежень немає. Для вивантажень понад 1 ГіБ в одному з’єднанні використовуйте сервер VLESS чи Trojan.

## Підтримка можливостей {#features}

| Можливість | Підтримується |
| --- | --- |
| [Автентифікація AEAD](https://www.v2fly.org/en_US/developer/protocols/vmess.html) (`alterId` 0) | ✅ |
| Стара автентифікація MD5 (`alterId` більше 0) | ❌ Сервери з `alterId` більше 0 приймають автентифікацію AEAD. |
| Шифри `aes-128-gcm`, `chacha20-poly1305`, `none`, `auto` | ✅ |
| Шифри `zero` і застарілий `aes-128-cfb` | ❌ |
| Потік фрагментів, позначка кінця вивантаження | ✅ |
| Маскування фрагментів, глобальне доповнення, автентифікована довжина | ❌ Сервери приймають з’єднання без них |
| UDP | ✅ Одне з’єднання на потік |
| Вивантаження понад приблизно 1 ГіБ в одному з’єднанні | ❌ Див. [Великі вивантаження](#large-uploads) |
| XUDP, PacketAddr | ❌ |
| Mux.Cool | ✅ TCP і UDP |
| sing-mux (h2mux, smux, yamux) | ✅ TCP і UDP |
| Транспорти | Див. [Транспорти](#transports) |
| TLS | Див. [TLS](#tls) |
| [Посилання v2rayN](#links) (версія 2) | ✅ |
| [Посилання Xray](https://github.com/XTLS/Xray-core/discussions/716) | ✅ |
| Посилання Shadowrocket | Лише імпорт |

## Посилання `vmess://` {#links}

Посилання `vmess://` містить цілий сервер в одному рядку. Potatso імпортує три форми, а поширює перші дві.

Форма v2rayN, найпоширеніша, — це об’єкт JSON, закодований у Base64:

```text
vmess://base64({"v":"2","ps":"name","add":"host","port":"443","id":"uuid",…})
```

| Поле | Опис |
| --- | --- |
| `v` | Версія формату, `2`. |
| `ps` | Необов’язково. Назва сервера в Potatso. |
| `add` | Адреса сервера. |
| `port` | Порт сервера. |
| `id` | UUID. |
| `aid` | `alterId`. Див. [alterId](#alterid). |
| `scy` | [Шифр](#ciphers). Без нього `auto`. |
| `net` | [Транспорт](#transports): `tcp`, `ws`, `grpc`, `h2` або `httpupgrade`. |
| `type` | `none` або `http` для заголовка HTTP у TCP, який Potatso не підтримує. |
| `host` | Заголовок `Host` для WebSocket, HTTP/2 і HTTP Upgrade. |
| `path` | Шлях для WebSocket, HTTP/2 і HTTP Upgrade або назва сервісу для gRPC. Шлях WebSocket може закінчуватися `?ed=2048` для ранніх даних. |
| `tls` | `tls`, щоб використовувати TLS, або порожнє. |
| `sni`, `alpn`, `fp` | Назва сервера [TLS](#tls), список ALPN і відбиток браузера. |

Форма Xray — це URL, де шифр указано в `encryption`, а транспорт і параметри TLS — як параметри запиту:

```text
vmess://uuid@host:port?type=ws&security=tls&sni=…&host=…&path=…&encryption=auto#name
```

| Параметр | Опис |
| --- | --- |
| `type` | [Транспорт](#transports). |
| `encryption` | [Шифр](#ciphers). Без нього `auto`. |
| `security` | `tls` або `none`. |
| `sni`, `alpn`, `fp` | Назва сервера [TLS](#tls), список ALPN і відбиток браузера. |
| `host`, `path` | Заголовок `Host` і шлях, як у формі v2rayN. |
| `serviceName` | Назва сервісу gRPC. |
| `ed` | Ранні дані WebSocket, у байтах. |

Potatso також імпортує форму Shadowrocket, `vmess://base64(cipher:uuid@host:port)?remarks=…&obfs=websocket&…`.

### Приклади {#link-examples}

Кожен приклад показує посилання для імпорту. UUID — `b831381d-6324-4d53-ad4f-8cda48b30811`.

WebSocket з TLS і ранніми даними, через `cdn.example.com`, з відбитком Chrome:

```text
vmess://eyJ2IjoiMiIsInBzIjoiV1MgVExTIiwiYWRkIjoidm1lc3MuZXhhbXBsZS5jb20iLCJwb3J0IjoiNDQzIiwiaWQiOiJiODMxMzgxZC02MzI0LTRkNTMtYWQ0Zi04Y2RhNDhiMzA4MTEiLCJhaWQiOiIwIiwic2N5IjoiYXV0byIsIm5ldCI6IndzIiwidHlwZSI6Im5vbmUiLCJob3N0IjoiY2RuLmV4YW1wbGUuY29tIiwicGF0aCI6Ii9yYXk/ZWQ9MjA0OCIsInRscyI6InRscyIsInNuaSI6ImNkbi5leGFtcGxlLmNvbSIsImFscG4iOiJodHRwLzEuMSIsImZwIjoiY2hyb21lIn0=
```

gRPC з TLS і `aes-128-gcm`, назва сервісу `vmess-grpc`:

```text
vmess://eyJ2IjoiMiIsInBzIjoiZ1JQQyIsImFkZCI6InZtZXNzLmV4YW1wbGUuY29tIiwicG9ydCI6IjQ0MyIsImlkIjoiYjgzMTM4MWQtNjMyNC00ZDUzLWFkNGYtOGNkYTQ4YjMwODExIiwiYWlkIjoiMCIsInNjeSI6ImFlcy0xMjgtZ2NtIiwibmV0IjoiZ3JwYyIsInBhdGgiOiJ2bWVzcy1ncnBjIiwidGxzIjoidGxzIiwic25pIjoidm1lc3MuZXhhbXBsZS5jb20ifQ==
```

Чистий TCP з `chacha20-poly1305`, у формі Xray:

```text
vmess://b831381d-6324-4d53-ad4f-8cda48b30811@vmess.example.com:8080?type=tcp&encryption=chacha20-poly1305#Plain%20TCP
```

HTTP Upgrade з TLS, у формі Xray:

```text
vmess://b831381d-6324-4d53-ad4f-8cda48b30811@vmess.example.com:443?type=httpupgrade&security=tls&sni=cdn.example.com&host=cdn.example.com&path=%2Fupgrade&encryption=auto#HTTP%20Upgrade
```

### У підписці Clash {#clash}

```yaml
proxies:
  - name: VMess WS
    type: vmess
    server: vmess.example.com
    port: 443
    uuid: b831381d-6324-4d53-ad4f-8cda48b30811
    alterId: 0
    cipher: auto
    udp: true
    tls: true
    servername: cdn.example.com
    network: ws
    ws-opts:
      path: /ray
      headers:
        Host: cdn.example.com
      max-early-data: 2048
      early-data-header-name: Sec-WebSocket-Protocol
```

Source: https://potatso.com/docs/uk/protocols/vmess/index.mdx
