---
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/ru/protocols/vmess/index.mdx
