К содержимому
INCY
Назад

Trojan password не декодируется из percent-encoding при импорте `trojan://`

БагОткрытМешаетПубличныйDesktop
Автор: s******@gmail.com
Продукт: Приложение INCY
Создан: 05.10.2026, 12:32:00
Версия приложения: 3.8.8
Версия ОС: Ubuntu 24.04
При импорте trojan:// ссылки INCY не выполняет URL-decoding пароля из userinfo.

Например, если исходный пароль содержит символы + и =, то в trojan:// ссылке они корректно представлены в percent-encoded виде как %2B и %3D.

Пример:

trojan://test%2Bfoo%3D@example.com:443

После импорта INCY генерирует Xray-конфиг, в котором пароль остаётся закодированным:

"password": "test%2Bfoo%3D"

Ожидаемый результат:

"password": "test+foo="

Симптомы:

INCY успешно запускает Xray и поднимает TUN и локальный SOCKS proxy, однако соединения через Trojan outbound обрываются после отправки TLS ClientHello.

При тестировании через локальный SOCKS INCY наблюдается:

SOCKS5 request granted.
TLSv1.3 (OUT), TLS handshake, Client hello
OpenSSL SSL_connect: SSL_ERROR_SYSCALL

Для проверки причины был создан отдельный Xray-конфиг на основе конфига, сгенерированного INCY.

Единственное изменение — пароль был декодирован из URL-encoding:

%2B -> +
%3D -> =

Все остальные параметры outbound остались без изменений: сервер, порт, Trojan, Reality, serverName, shortId, fingerprint и ключи.

После изменения только пароля тот же Xray outbound сразу заработал:

SOCKS5 request granted.
TLSv1.3 Server hello
SSL certificate verify ok.
HTTP/2 200

Таким образом, проблема воспроизводится именно из-за того, что percent-encoded пароль из trojan:// попадает в X
Комментарии (0)

Пока нет комментариев

Добавить комментарий