uTLS
Что это
uTLS (refraction-networking/utls) — форк стандартной библиотеки Go crypto/tls, добавляющий возможность произвольного конструирования TLS ClientHello. Задача: маскировать TLS-соединение под конкретный браузер (Chrome, Firefox, Safari, iOS-приложение и т.д.).
Зачем это нужно
Стандартный ClientHello в Go выглядит специфически — набор шифров, порядок extension-ов, значения GREASE. Провайдер / ТСПУ может по этому «отпечатку» (JA3/JA4/JA5) отличить Go-программу от настоящего браузера.
uTLS перестраивает ClientHello так, что он байт в байт совпадает с тем, что отправляет реальный Chrome / Firefox / Safari. Для DPI трафик становится неотличим от обычного пользователя.
Кто использует
Все современные прокси-ядра для обхода блокировок:
- Xray-core (через параметр
fingerprintв Reality/TLS) - Sing-box (в client TLS)
- Mihomo (
client-fingerprintв YAML) - Naive proxy
- Refraction-networking (родительский проект — antifingerprinting research)
Доступные fingerprints (Xray 2025-2026)
- chrome — ⚠️ с июня 2026 массово блокируется ТСПУ в РФ
- firefox — сейчас (2026) лучший выбор для РФ
- safari — приемлемо
- ios — TLS от Safari на iOS (близко к safari)
- android — Chrome Android
- edge — MS Edge, близко к chrome но отличается
- qq — TLS QQ-браузера (китайский)
- 360 — TLS 360-браузера (китайский)
- random — случайный из списка при каждом соединении
- randomized — случайно сконструированный fingerprint (не берёт из готового списка)
Пример настройки в Xray
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
...
"fingerprint": "firefox" // тут выбор uTLS-профиля
}
}
Что именно копируется
uTLS воспроизводит:
- Версии TLS в поле supported_versions
- Cipher suites в правильном порядке
- Extensions в правильном порядке
- Значения supported_groups (curves)
- Signature algorithms
- ALPN (протоколы для HTTP/2)
- GREASE-значения
- Размеры padding-полей
Результат — идентичный JA4-отпечаток настоящего Chrome/Firefox.
История chrome-fp блокировки в РФ (2026)
Долгое время fingerprint: chrome был дефолтом во всех гайдах — Chrome популярнее всех браузеров, значит трафик от него выглядит нормально. Но:
- Июль 2025 — Xray issue #4852: первые жалобы на блокировку Chrome-fp в V2rayNG для Android
- 17 февраля 2026 — массовые отвалы на проводных операторах РФ
- 25 мая 2026 — DPI-блокировка VLESS в Сибири (Techora)
- Начало июня 2026 — правило доехало до мобильных провайдеров
ТСПУ научился ловить именно устаревший Chrome-fp из uTLS (JA4-совпадение). Firefox / Edge / random — проходят.
Ссылки
- GitHub: github.com/refraction-networking/utls
- Reality, SNI, VLESS