Skip to content

VMess

Шифры, транспорты, ссылки и возможности VMess, которые поддерживает Potatso.

Updated Открыть как Markdown

Сервер VMess описывается UUID, шифром, который шифрует трафик, и транспортом, который несет соединение, например WebSocket или gRPC, с TLS или без него. Potatso подключается к серверу, если поддерживает его шифр, транспорт и настройки TLS. Используйте таблицы ниже, чтобы проверить настройки своего сервера, показанные провайдером или в его ссылке vmess://.

Сервер VMess можно добавить вручную, с помощью ссылки vmess:// или импортом:

  • подписки Clash или Mihomo,
  • конфигурации Xray или V2Ray,
  • конфигурации Surge.

Potatso пока не импортирует серверы VMess из конфигурации sing-box. Используйте вместо этого ссылку vmess:// сервера.

Шифры

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

none и zero отправляют ваш трафик без шифрования. Используйте none только с TLS, который тогда шифрует соединение. Potatso не подключается с zero, который к тому же отключает защиту от подмены: выберите на сервере другой шифр.

alterId

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

Транспорты

Транспорт 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

Настройка Ключ 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

Для серверов VMess UDP по умолчанию выключен. Включите Ретрансляция UDP в настройках сервера или задайте udp: true в подписке Clash.

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

Если включено мультиплексирование, UDP идет по общему соединению.

Мультиплексирование

Potatso может пропускать несколько соединений через одно соединение VMess, что задается параметром smux в подписке Clash:

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

Работают и TCP, и UDP. Mux.Cool закрывает оба направления соединения вместе, поэтому приложению, которое перестает отправлять данные и ждет ответа, лучше использовать сервер без мультиплексирования.

Параметры запроса

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

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

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

Большие отправки

По одному соединению VMess можно отправить около 1 ГиБ. VMess нумерует зашифрованные блоки счетчиком, который после этого заканчивается, а продолжение ослабило бы шифрование, поэтому Potatso закрывает соединение. У скачивания ограничений нет. Для отправки более 1 ГиБ по одному соединению используйте сервер VLESS или Trojan.

Поддержка возможностей

Возможность Поддержка
Аутентификация AEAD (alterId 0) ✅
Старая аутентификация MD5 (alterId больше 0) ❌ Серверы с alterId больше 0 принимают аутентификацию AEAD.
Шифры aes-128-gcm, chacha20-poly1305, none, auto ✅
Шифры zero и устаревший aes-128-cfb ❌
Поток блоков, маркер конца отправки ✅
Маскировка блоков, глобальное заполнение, аутентифицированная длина ❌ Серверы принимают соединения без них
UDP ✅ Одно соединение на поток
Отправка более примерно 1 ГиБ по одному соединению ❌ См. Большие отправки
XUDP, PacketAddr ❌
Mux.Cool ✅ TCP и UDP
sing-mux (h2mux, smux, yamux) ✅ TCP и UDP
Транспорты См. Транспорты
TLS См. TLS
Ссылки v2rayN (версия 2) ✅
Ссылки Xray ✅
Ссылки Shadowrocket Только импорт

Ссылка vmess:// содержит весь сервер в одной строке. Potatso импортирует три формы и делится первыми двумя.

Форма v2rayN, самая распространенная, — это объект JSON в кодировке Base64:

vmess://base64({"v":"2","ps":"name","add":"host","port":"443","id":"uuid",…})
Поле Описание
v Версия формата, 2.
ps Необязательное. Название сервера в Potatso.
add Адрес сервера.
port Порт сервера.
id UUID.
aid alterId. См. alterId.
scy Шифр. Если не задан, auto.
net Транспорт: 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, список ALPN и отпечаток браузера.

Форма Xray — это URL, в котором шифр задан в encryption, а транспорт и настройки TLS — параметрами запроса:

vmess://uuid@host:port?type=ws&security=tls&sni=…&host=…&path=…&encryption=auto#name
Параметр Описание
type Транспорт.
encryption Шифр. Если не задан, auto.
security tls или none.
sni, alpn, fp Имя сервера TLS, список ALPN и отпечаток браузера.
host, path Заголовок Host и путь, как в форме v2rayN.
serviceName Имя сервиса gRPC.
ed Ранние данные WebSocket, в байтах.

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

В каждом примере показана ссылка для импорта. UUID — b831381d-6324-4d53-ad4f-8cda48b30811.

WebSocket с TLS и ранними данными через cdn.example.com, с отпечатком Chrome:

vmess://eyJ2IjoiMiIsInBzIjoiV1MgVExTIiwiYWRkIjoidm1lc3MuZXhhbXBsZS5jb20iLCJwb3J0IjoiNDQzIiwiaWQiOiJiODMxMzgxZC02MzI0LTRkNTMtYWQ0Zi04Y2RhNDhiMzA4MTEiLCJhaWQiOiIwIiwic2N5IjoiYXV0byIsIm5ldCI6IndzIiwidHlwZSI6Im5vbmUiLCJob3N0IjoiY2RuLmV4YW1wbGUuY29tIiwicGF0aCI6Ii9yYXk/ZWQ9MjA0OCIsInRscyI6InRscyIsInNuaSI6ImNkbi5leGFtcGxlLmNvbSIsImFscG4iOiJodHRwLzEuMSIsImZwIjoiY2hyb21lIn0=

gRPC с TLS и aes-128-gcm, имя сервиса vmess-grpc:

vmess://eyJ2IjoiMiIsInBzIjoiZ1JQQyIsImFkZCI6InZtZXNzLmV4YW1wbGUuY29tIiwicG9ydCI6IjQ0MyIsImlkIjoiYjgzMTM4MWQtNjMyNC00ZDUzLWFkNGYtOGNkYTQ4YjMwODExIiwiYWlkIjoiMCIsInNjeSI6ImFlcy0xMjgtZ2NtIiwibmV0IjoiZ3JwYyIsInBhdGgiOiJ2bWVzcy1ncnBjIiwidGxzIjoidGxzIiwic25pIjoidm1lc3MuZXhhbXBsZS5jb20ifQ==

Чистый TCP с chacha20-poly1305, в форме Xray:

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

HTTP Upgrade с TLS, в форме Xray:

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

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
Навигация

Type to search…

↑↓ navigate↵ selectEsc close