Skip to content

Releases: inferno1978/VLESS-Ultimate-Installer

v4.12.9 — Статистика трафика NaiveProxy и Mieru

Choose a tag to compare

@inferno1978 inferno1978 released this 18 Jun 19:42

📊 Статистика трафика NaiveProxy и Mieru

Новые модули

naiveproxy_stats.py — мониторинг Caddy-forwardproxy-naive:

  • Парсинг JSON access.log Caddy: запросы, статусы, байты, latency
  • Статистика по пользователям (логин → запросы, байты, last_seen)
  • Топ-5 IP-адресов клиентов
  • Суммарный трафик из iptables-счётчика на TCP 443
  • Гистограмма активности по 10-минутным слотам (последний час)
  • Среднее время запроса и p95 latency
  • Активные соединения через ss
  • Живое обновление каждые 30 секунд

mieru_stats.py — мониторинг mita-сервера:

  • Байты/пакеты из iptables INPUT на порту mita (основной источник)
  • События accepted/closed/error из journalctl
  • Скорость трафика (байт/с) через кэш между замерами
  • Гистограмма активности по 10-минутным интервалам
  • Тренд: рост / спад / стабильно
  • NTP-мониторинг (отклонение >30 сек = Mieru не принимает клиентов)
  • Активные TCP/UDP соединения через ss
  • Живое обновление каждые 30 секунд

Также в релизе

  • Документация NaiveProxy обновлена: рекомендован sing-box JSON outbound для всех клиентов
  • Исправлен sing-box outbound NaiveProxy (убрано невалидное поле network)
  • Исправлен формат naive+https:// ссылки (trailing slash + tag)

Обновлены файлы

naiveproxy_stats.py · mieru_stats.py · naiveproxy.py · mieru.py · все публичные файлы версионирования

v4.12.8 — Telemt MSS anti-JA4 TSPU

Choose a tag to compare

@inferno1978 inferno1978 released this 08 Jun 07:38

✨ v4.12.8 — Telemt MSS-фрагментация против TSPU JA4 DPI

Контекст

С 1 апреля 2026 г. TSPU (часть АСБИ) развернул правила JA4/JA3-дактилоскопии, распознающие MTProxy Fake-TLS по уникальному паттерну TLS ClientHello. Объявление малого TCP MSS в SYN/ACK вынуждает клиентское ядро дробить ClientHello по нескольким сегментам — экстрактор TSPU видит неверный JA4-хэш и пропускает соединение.

Новое

Модуль telemt_mss_selector.py

  • 10 пресетов с описанием, рекомендованный выбор по умолчанию:
    • tspu (MSS 92) ★ — нативный пресет telemt, рекомендуется для РФ
    • 2in8 (MSS 256) — умеренная фрагментация, меньше overhead
    • extreme-low (MSS 88) — максимальная фрагментация, если tspu недостаточно
    • 512 / 768 / 1024 / 336 / 176 / 128 — градации для тонкой настройки
    • Без изменений — client_mss не пишется в конфиг, MSS выбирает ядро
  • Ручной ввод произвольного значения 88–4096 через пункт C
  • Полностью self-contained: не трогает _core.py, свой box-рендеринг в стиле проекта

Обновления mtproto.py

  • Шаг выбора MSS добавлен в установщик Telemt после выбора TLS-домена
  • _write_config() принимает client_mss с дефолтом ""полная обратная совместимость
  • Итоговый бокс установки отображает выбранный пресет и значение MSS

Совместимость

  • client_mss поддерживается в telemt ≥ 3.4.15; на более ранних версиях параметр игнорируется без ошибки
  • Все существующие функции (iptables, xray-интеграция, fallback, статистика) не изменялись

Обновление

bash <(curl -fsSL https://raw.githubusercontent.com/inferno1978/VLESS-Ultimate-Installer/main/bootstrap.sh)

Для применения client_mss к уже установленному Telemt — переустановите через меню Telemt → [1] Установить / переустановить

v4.12.7 — Интерактивный выбор TLS Fingerprint

Choose a tag to compare

@inferno1978 inferno1978 released this 06 Jun 01:57

🚀 Что нового в v4.12.7

Интерактивный выбор TLS Fingerprint (11 вариантов)

Ранее fingerprint был захардкожен как chrome. Теперь при установке появляется шаг [11/11], где можно выбрать любой из 11 вариантов:

chrome · firefox · safari · ios · android · edge · 360 · qq · random · randomized · none

Что изменилось

  • Новый модуль fingerprint_manager.py — единый источник списка FP, интерактивный выбор с валидацией и fallback
  • Шаг [11/11] в мастере установки — выбор FP для entry-ноды
  • Режим B (chain) — отдельный выбор FP для каждой exit-ноды (было 4 варианта, стало 11)
  • FP сохраняется в state.json — постустановочные операции (добавление пользователей, вывод ссылок) автоматически используют выбранный FP
  • Все режимы покрыты: A, B, AWG, WARP
  • Zero regression — вся существующая логика не затронута, fallback всегда chrome

Рекомендации по выбору FP

По результатам тестирования в российских сетях надёжно работают: chrome, firefox, edge, qq. Остальные варианты могут резаться DPI провайдера.


Полный changelog: CHANGELOG.md

Changelog — актуальное состояние проекта (07.06.2026)

Choose a tag to compare

@inferno1978 inferno1978 released this 06 Jun 23:19

Актуальное состояние проекта

Версия не изменялась. Документирует все значимые изменения накопленные с момента последнего релиза.


⚡ Port Hopping [port_hopping.py] — новое

Xray слушает один порт. iptables PREROUTING REDIRECT перенаправляет любой порт из диапазона на него. ТСПУ заблокировала 443? Клиент переключается на любой другой порт — всё работает.

  • Не трогает config.json Xray, сервисы не перезапускаются
  • Совместим со всеми режимами: A, B, B-Multi, REALITY, xHTTP
  • TCP / UDP / оба протокола, UFW-aware
  • Персистентность через systemd unit xray-port-hopping
  • Пресеты: 10000–20000, 20000–40000, 10000–60000, или вручную

Путь: Главное меню → [5] Безопасность → [PH]


🤖 Telegram Config Bot [tg_bot.py] — новое

Единая точка для всего Telegram. Объединяет уведомления и пользовательский бот. Устранены 3 дубля TG_CONFIG_FILE и дублирующиеся функции в _core.py.

Команды бота: /config /status /users /invite /broadcast /help

Авторизация через одноразовые invite-токены. Работает как systemd-сервис xray-tg-bot. Без внешних зависимостей.

Новое событие уведомлений: port_blocked.

Путь: Главное меню → [5] Безопасность → [TB]


🔊 Фрагментация + Noise + Mux [fragment_noise.py, fragment_mux.py]

  • Noise — мусорные пакеты перед TLS ClientHello, ломает паттерн-матчинг ТСПУ. Режимы: лёгкий / средний / агрессивный
  • Mux — мультиплексирование, DPI видит один поток вместо множества коротких
  • Watchdog фрагментации, Stats, Share — мониторинг, статистика, экспорт

Путь: Главное меню → [4] Клиентские конфиги → F6 / F7 / F8 / F9


🔒 TLS Fingerprint — интерактивный выбор

11 вариантов FP включая randomized, выбор из меню.

Путь: Главное меню → [5] Безопасность → [4] Ротация UUID и Fingerprint


🚀 Hysteria2 как транспорт в Режиме B

Доступен как альтернативный транспорт при выборе Режима B. Автоустановка, определение архитектуры, валидация бинарника.


📡 Telemt — Hybrid Fallback

Автоматический fallback: Middle Proxy → Direct Mode. Регион-вопрос при установке, исправлены dc_overrides для всех Telegram DC.


🛠 Исправления

  • Совместимость nginx на Ubuntu 22.04 (SSL, default_server)
  • Python 3.10 / 3.13 совместимость
  • IPv6 через domainStrategy во всех VLESS inbounds
  • Mode B + xHTTP + AWG — не генерировать realitySettings с пустыми ключами
  • Config backup, cold boot restore, node health monitor
  • Multi-unban в AutoBan меню
  • DNSCrypt: все 294 резолвера, исправлен QUIC в sniffing
  • User disable/enable — 3 бага
  • Emergency repair: авто-восстановление Telemt tproxy

📋 Ключевые коммиты

c5544f4  feat: интеграция Port Hopping и Telegram Bot в меню
4106ee3  feat: Port Hopping + Telegram Config Bot modules
0a71d4e  fix(telemt): регион-вопрос + dc_overrides
815e4ed  feat(telemt): hybrid fallback Middle Proxy → Direct Mode
a0d90a9  feat: интерактивный выбор TLS Fingerprint (11 вариантов)
e7abca3  feat: config backup, cold boot restore, node health monitor
74d3f80  feat: Hysteria2 как транспорт в Режиме B
887e9cd  feat: Noise, Mux, Watchdog, Stats, Share — v4.11.5
4d50776  feat: TCP-фрагментация ClientHello — обход DPI

v4.12.6 — Фикс IPv6 через прокси (routeOnly: False)

Choose a tag to compare

@inferno1978 inferno1978 released this 05 Jun 02:53

🐛 Исправления

IPv6 не работал через прокси несмотря на выбор UseIPv6v4

Симптом: После установки и выбора стратегии UseIPv6v4 IPv6 через прокси не появлялся. Помогал только ручной патч конфига с последующим рестартом xray.

Причина: Во всех VLESS inbound-блоках стояло routeOnly: True. xray применял роутинг на основе снифинга, но не переписывал destination при передаче в outbound. Freedom outbound получал готовый IPv4-адрес вместо домена — domainStrategy: UseIPv6v4 не работал.

Исправлено в 6 местах:

  • generate_xray_config() — Режим A, REALITY
  • generate_xray_config_xhttp() — Режим A, xHTTP
  • generate_xray_config_chain_entry() — Режим B, entry
  • generate_xray_config_chain_entry_multi() — Режим B, multi-entry

Совместимость: AWG не затронут. Telemt tproxy не затронут.

📋 Коммиты

  • f4b2fe9 chore: bump version to v4.12.6
  • 4c26ae6 fix: routeOnly=False in all VLESS inbounds to enable IPv6 via domainStrategy

v4.12.5 — Фикс IPv6 через прокси (metadataOnly)

Choose a tag to compare

@inferno1978 inferno1978 released this 05 Jun 00:52

🐛 Исправления

IPv6 не работал через прокси

Симптом: При использовании режима VLESS/REALITY (Режим A) IPv6-трафик не проксировался корректно.

Причина: Параметр metadataOnly: True в generate_xray_config отключал полноценную обработку трафика, оставляя только метаданные. Это корректное поведение только для AmneziaWG — для базового VLESS/REALITY он должен быть False.

Исправлено в:

  • vless_installer/_core.pymetadataOnly=False для VLESS/REALITY, True только для AWG

📋 Коммиты

  • 1fb1dcb chore: bump version to v4.12.5
  • c3748df docs: changelog v4.12.5
  • 821b1bf fix: metadataOnly в generate_xray_config (Режим A)
  • 0d56e50 fix: metadataOnly=True только для AWG, False для базового VLESS/REALITY
  • f191b1e fix: metadataOnly=False для корректной работы UseIPv6v4

v4.12.4 — Python 3.10 compatibility fixes

Choose a tag to compare

@inferno1978 inferno1978 released this 04 Jun 20:24

🐛 Исправления

Совместимость с Python 3.10 / Ubuntu 22.04

В Python 3.12 (Ubuntu 24.04) был переписан парсер f-строк (PEP 701), который снял ряд синтаксических ограничений. Код, написанный под 3.12, падал с SyntaxError на Python 3.10/3.11.

Исправлено 13 мест в трёх файлах:

  • vless_installer/_core.py — 5 f-строк с \ или одинаковыми кавычками внутри {}
  • vless_installer/modules/warp.py — 8 f-строк вида f"...{_get_warp("KEY", "")}..."
  • vless_installer/modules/health.py — 1 f-строка с вложенными кавычками

Надёжное обновление при повторном запуске

Раньше bootstrap.sh принудительно перезаписывал с GitHub только tg_nets.py. Если git pull тихо завершался с ошибкой — _core.py оставался старым. Теперь при каждом запуске принудительно обновляются _core.py и main.py.

⚠️ Предупреждение о версии Python

На Python < 3.12 установщик теперь показывает явное предупреждение с объяснением и ссылкой на deadsnakes PPA для обновления.

📋 Коммиты

  • f10f337 feat: warn on Python < 3.12 with actionable message
  • e7be576 fix: same-quote f-string expressions in warp.py and health.py
  • 6c4c8e3 fix: backslash in f-string expression inside triple-quoted f-string
  • f6c5d79 fix: force-update _core.py and main.py on existing installations
  • 782f836 fix: backslash in f-string expressions — all cases
  • 1b22d19 fix: backslash in f-string expression (initial fix)

v4.12.0-beta — Hysteria2 транспорт

Choose a tag to compare

@inferno1978 inferno1978 released this 03 Jun 00:03

⚠️ Beta-версия

Hysteria2-модули добавлены и интегрированы в проект, но автором ещё не тестировались на живом сервере. Используйте с осторожностью, сообщайте о проблемах через Issues.

Убунта 24.04 работает штатно. Debian 13 — фиксы применены, тестирование на живом железе ещё предстоит.


🚀 Что нового

Hysteria2 как альтернативный транспорт (Режим B)

Клиенты подключаются по обычным VLESS-ссылкам — прозрачно.

Клиент ──VLESS──► Entry ──Hysteria2/QUIC/UDP──► Exit ──► Интернет

AWG и Hysteria2 работают параллельно, переключение через меню.

15 новых модулей в vless_installer/modules/hysteria2_*.py:

  • Exit-нода: установка локально или по SSH
  • Выбор транспорта AWG / H2 / оба
  • Балансировщик: weightedRandom, leastRtt, roundRobin
  • Health Check через QUIC-пинг (не TCP)
  • Watchdog + авторестарт (cron каждые 2 мин)
  • Статистика через iptables/ss — без новых демонов
  • Сертификаты: certbot или самоподписанный
  • Автообновление бинарника с GitHub Releases
  • Кластерные операции по SSH
  • Бэкап конфигов + миграция из AWG
  • DPI-детектор + авто-фолбэк порта
  • Мониторинг качества + Telegram-отчёт
  • Smoke Test после установки
  • Полная поддержка IPv4 / IPv6 / DualStack

Интеграция — строго аддитивная, zero-breakage:

  • Пункт 7 в главном меню
  • Пункт H в Настройках сети
  • 14 новых CLI-флагов (--h2-*)
  • +15 строк в _core.py, всё остальное — новые файлы

🔧 Фиксы Debian 13 / Python 3.13

  • SyntaxError: "(" unexpected в cron-скриптах — xray-traffic-snapshot.sh и xray-autoban.sh переписаны с textwrap.dedent + python3 -c на heredoc python3 - <<PYEOF. Невалидный shebang с пробелами приводил к запуску через dash вместо bash.
  • FileNotFoundError: ufw в AutoBan — добавлены хелперы _fw_ban()/_fw_unban() с fallback на iptables для систем без ufw (Debian 13).
  • SyntaxWarning → SyntaxError на escape-последовательностях \d \s \. в f-строках — исправлено двойное экранирование.
  • NameError в cron-обработчиках — добавлены явные импорты для --dpi-check, --smart-balance, --pinned-fallback-check, --ingress-geoip-update.

📋 Быстрый старт Hysteria2

# Через меню
sudo python3 main.py  # → 7. Hysteria2 транспорт

# Или миграция из AWG
sudo python3 migrate_awg_to_h2.py --install-exit

# CLI
sudo python3 main.py --h2-install-exit --h2-port 443
sudo python3 main.py --h2-transport h2
sudo python3 main.py --h2-smoke

Подробнее: HYSTERIA2.md | CHANGELOG.md