Бесплатный инструмент

Конвертер JSON в VLESS-ссылку

Вставьте JSON-конфиг sing-box или Xray-core — серверный (inbound) или клиентский (outbound) — и получите готовую ссылку vless://. Конвертер понимает и другие протоколы из тех же конфигов: vmess://, trojan://, ss:// и hysteria2://. Если в конфиге есть только приватный ключ Reality, инструмент сам вычислит публичный.

Все вычисления — в вашем браузере. Данные никуда не отправляются: можно отключить интернет после загрузки страницы, инструмент продолжит работать.
Примеры:
Результат

Ссылка появится здесь автоматически, как только вы вставите JSON слева.

Как это работает

1
Разбор JSON. Инструмент ищет в конфиге блоки с поддерживаемым протоколом — VLESS, VMess, Trojan, Shadowsocks, Hysteria2/Hysteria — в массивах inbounds/outbounds или как одиночный объект, и определяет формат (sing-box или Xray-core) и сторону (сервер или клиент) по составу полей.
2
Публичный ключ Reality. Для VLESS и Trojan: если в конфиге есть public_key/publicKey — он используется как есть. Если есть только private_key/privateKey (типично для серверных конфигов) — публичный ключ вычисляется локально по алгоритму X25519. Готовую пару ключей можно получить в нашем генераторе Reality-ключей.
3
Сборка ссылки. Идентификатор (UUID/пароль), адрес, порт, SNI, fingerprint и параметры транспорта (ws/grpc/http/xhttp) собираются в ссылку своего протокола — vless://, vmess://, trojan://, ss:// или hysteria2:// — которую понимают v2rayNG, NekoBox, Shadowrocket, sing-box и podkop.

Частые вопросы

Куда уходят мои ключи и конфиги?

Никуда. Весь разбор JSON и вычисление публичного ключа Reality происходят прямо в вашем браузере на JavaScript. Инструмент не отправляет данные на сервер — можно проверить во вкладке «Сеть» инструментов разработчика: запросов не будет.

Что делать, если в конфиге только приватный ключ Reality?

Это нормально для серверных конфигов (inbound в sing-box, inbound в Xray-core) — сервер хранит приватный ключ, а клиентам нужен публичный. Инструмент сам вычисляет публичный ключ из приватного по алгоритму X25519 и подставляет его в ссылку как pbk.

Почему в ссылке нет адреса сервера?

Серверный конфиг обычно слушает на 0.0.0.0 или :: — это «все интерфейсы», а не публичный адрес. OpenWrt, sing-box и Xray-core не хранят внешний IP или домен внутри такого конфига. Введите адрес вручную в поле выше textarea — ссылка обновится сразу.

Какие протоколы и форматы поддерживаются?

JSON-конфиги в форматах sing-box и Xray-core (Xray/V2Ray) — как отдельные inbound/outbound блоки, так и полные конфиги с массивами inbounds/outbounds. Протоколы: VLESS (Reality, TLS, без шифрования), VMess, Trojan, Shadowsocks и Hysteria2/Hysteria (только sing-box). Транспорты — tcp, ws, grpc, http, httpupgrade и xhttp.

В конфиге несколько пользователей (users/clients) — что будет со ссылками?

Инструмент построит отдельную ссылку для каждого пользователя из массива users (sing-box) или clients/vnext (Xray-core) — с учётом протокола: uuid для VLESS/VMess, пароль для Trojan/Shadowsocks/Hysteria2. Если у пользователя задано имя (name/email), оно станет меткой ссылки, иначе — user1, user2 и так далее.

Можно ли вставить сразу весь конфиг с несколькими inbound/outbound разных протоколов?

Да. Конвертер проходит по всему массиву inbounds/outbounds и строит свою ссылку для каждого поддерживаемого блока — vless://, vmess://, trojan://, ss:// или hysteria2:///hysteria://, вперемешку в одном конфиге. Блоки с протоколами, которые инструмент не строит (WireGuard, SOCKS, TUIC и т.д.), пропускаются — об этом будет отдельное уведомление с их названиями.

Ссылка не подключается в v2rayNG / NekoBox / podkop — в чём может быть дело?

Чаще всего: 1) сервер не запущен или порт закрыт файрволом; 2) SNI/fp не совпадают с тем, что настроено на сервере в Reality; 3) вручную вписанный адрес сервера содержит опечатку; 4) для UDP/QUIC-трафика (в том числе Hysteria2) нужны отдельные правила файрвола. Проверьте логи sing-box на сервере (logread -e sing-box) — там обычно видна точная причина отказа.

Чем ссылка из серверного конфига отличается от клиентской?

Серверный конфиг (inbound) описывает, что сервер слушает и раздаёт — из него редко можно получить публичный адрес, поэтому его чаще всего приходится вводить вручную. Клиентский конфиг (outbound) уже содержит адрес сервера, порт и публичный ключ — ссылка обычно получается сразу рабочей без правок.

Что такое short_id (sid) и почему в конфиге их несколько?

short_id — короткий идентификатор Reality, который сервер может выдавать в нескольких вариантах (массив shortId/short_id) для разных клиентов или сценариев. Конвертер берёт первый непустой short_id из массива — если нужен другой, замените sid в готовой ссылке вручную.

Мой конфиг в формате Clash (YAML) — почему конвертер его не понимает?

Этот инструмент разбирает только JSON-конфиги sing-box и Xray-core. Clash использует YAML с другой структурой полей, конвертер его не распознает. Экспортируйте прокси из Clash в формате sing-box/Xray JSON или найдите отдельный конвертер Clash → VLESS/VMess/Trojan.

Поддерживается ли XTLS Vision (flow) и транспорт xhttp?

Да. Поле flow (например, xtls-rprx-vision) переносится в ссылку VLESS как есть. Из транспортов поддерживаются tcp, ws (WebSocket), grpc, httpupgrade и xhttp — с их path, host, serviceName и mode, если они указаны в конфиге.

Чем протокол VLESS лучше старых VPN-решений?

VLESS — это современный, легковесный протокол передачи данных, который не использует собственное криптографическое шифрование, полагаясь на TLS. Благодаря этому он работает значительно быстрее, экономит ресурсы процессора роутера и успешно маскирует трафик под обычное посещение веб-сайтов, обходя системы глубокого анализа (DPI).

Почему мой Xray или Sing-box выдаёт ошибку после вставки JSON?

Чаще всего проблема кроется в синтаксисе или несовпадении версий ядра. Убедитесь, что вы скопировали код полностью (включая все открывающие и закрывающие скобки { }). Также проверьте, поддерживает ли установленная на вашем роутере версия Xray/Sing-box те транспортные настройки (например, XTLS-Reality или gRPC), которые зашифрованы в вашей ссылке.

Можно ли использовать полученный конфиг на смартфоне?

Да, сгенерированная ссылка универсальна. Её можно импортировать в мобильные клиенты (например, v2rayNG для Android или Shadowrocket / FoXray для iOS) — все они принимают vless://, vmess://, trojan://, ss:// и hysteria2:// напрямую. Для телефонов обычно достаточно просто вставить готовую ссылку — редактировать JSON вручную не нужно.

Чем отличаются VLESS, VMess, Shadowsocks, Trojan и Hysteria протоколы?

VLESS и VMess — протоколы семейства Xray/V2Ray: VLESS легче и быстрее, не шифрует данные сам (полагается на TLS/Reality), VMess старше и добавляет собственное шифрование поверх транспорта, что немного медленнее. Shadowsocks — самый простой протокол: один пароль и метод шифрования (например, aes-256-gcm), без сертификатов и SNI, поэтому его легче обнаружить по паттерну трафика. Trojan маскирует соединение под обычный HTTPS-сайт поверх настоящего TLS-сертификата. Hysteria и Hysteria2 работают поверх UDP/QUIC и созданы для нестабильных или медленных сетей — часто быстрее остальных на плохом канале, но требуют, чтобы UDP не был заблокирован провайдером.