🚀 Tachyon v1.3.29 — большой технический релиз
Вышел Tachyon v1.3.29.
Этот релиз получился довольно крупным: много изменений находится не только в интерфейсе, но и глубоко внутри системы.
Основной упор в этот раз сделали на стабильность установки и обновления компонентов, защиту пользовательских настроек, диагностику, работу с UDP-трафиком и сетевую маршрутизацию.
🔥 Главное в v1.3.29
🌐 UDP over TCP / XUDP
В Tachyon появился новый режим кодирования UDP-пакетов через TCP-туннель.
Добавлены режимы:
- Auto
- XUDP
- PacketAddr
- Disabled
Для VLESS и VMess Tachyon умеет автоматически формировать packet_encoding, а для Shadowsocks — использовать udp_over_tcp.
Это особенно полезно для трафика, чувствительного к корректной передаче UDP:
- QUIC
- STUN
- голосовые соединения
- другие real-time UDP-протоколы
Также добавлен импорт соответствующих параметров из ссылок и подписок.
🔐 Поддержка Happ Crypt4
Добавлена полноценная работа с подписками формата:
happ://crypt4/...
и
crypt4/...
Tachyon умеет автоматически расшифровывать такие подписки, работать с HWID и передавать сразу оба варианта заголовка:
X-HWID
HWID
Для расшифровки используется AES-256-CBC, предусмотрен fallback на AES-128-CBC.
Если OpenSSL на устройстве отсутствует, предусмотрена встроенная реализация AES на ucode.
🛠 Полностью переработана установка и обновление компонентов
Это одна из самых больших внутренних доработок релиза.
Система установки, обновления и отката компонентов была переведена на единый транзакционный механизм.
Теперь Tachyon контролирует:
- таймауты операций;
- зависания;
- свободное место;
- место для резервной копии;
- APK database lock;
- процесс загрузки;
- установку пакетов;
- результат установки;
- состояние бинарных файлов.
Появился постоянный heartbeat, поэтому длительная операция больше не должна выглядеть как просто зависшее окно.
В интерфейсе теперь можно видеть текущую фазу:
package_index
waiting_package_lock
package_transaction
downloading
extracting
backup
verify
Также удалён старый fallback с прямым распаковыванием APK, который мог обходить package database и стандартную логику установки OpenWrt.
🔒 APK database locked
Отдельно переработана работа с блокировкой APK.
Теперь Tachyon пытается определить, какой именно процесс удерживает package database, корректно ждёт освобождения блокировки и ограничивает ожидание таймаутом.
То есть вместо десятка одинаковых сообщений:
APK database locked
система должна значительно лучше понимать происходящее и показывать реальное состояние операции.
🛡 Защита пользовательских настроек
В релизе появился дополнительный слой защиты конфигурации.
dnsmasq
Перед изменением параметров Tachyon сохраняет снапшот управляемых значений.
При откате система проверяет, не были ли эти параметры за это время изменены пользователем или другим программным обеспечением.
Если были — внешние изменения не перезаписываются.
sing-box
Tachyon теперь сохраняет информацию о процессе sing-box:
- PID;
- время запуска;
- системные данные процесса.
Перед остановкой выполняется проверка, действительно ли этот экземпляр sing-box был запущен самим Tachyon.
Это позволяет избежать ситуации, когда приложение случайно завершает чужой процесс.
Remote Lists
Для удалённых списков считается SHA-256 хеш содержимого.
Если список фактически не изменился, его повторная обработка пропускается.
Это уменьшает количество ненужных операций и нагрузку на устройство.
🔍 Новый DNS Leak Checker
Проверки IP и DNS были объединены в единый диагностический механизм.
Добавлена более точная классификация DNS-резолверов.
Теперь результат проверки может иметь одно из шести состояний:
- secure
- leaked
- inconclusive
- no_data
- service_unreachable
- unavailable
Также исправлена проверка локальных TCP listener'ов sing-box.
🩺 Обновлён AI Doctor
Диагностика сетевых компонентов стала информативнее.
Теперь Tachyon показывает состояние всех поддерживаемых DPI-провайдеров:
- Zapret
- Zapret2
- ByeDPI
- WDTT
- OLCRTC
- FPTN
Даже если компонент:
- не установлен;
- установлен, но не настроен;
- временно не работает.
Также добавлен быстрый фикс restart_providers, который может перезапустить WDTT, OLCRTC и FPTN одной операцией.
Отдельно переработана логика определения первопричины проблемы.
Например, если несколько ошибок появились из-за недоступности WAN или падения sing-box, Tachyon старается показать основную причину, а остальные ошибки отметить как её последствия.
📊 Улучшен Dashboard
На главной странице появилось несколько новых возможностей:
- скрытие серверов со статусом N/A;
- отображение потребления памяти Tachyon;
- мониторинг памяти dnsmasq;
- примерная оценка размера DNS-кэша;
- более компактные статусы;
- улучшенный баннер обновления;
- обновлённая карточка AmneziaWG;
- клонирование секций;
- увеличенные модальные окна на больших экранах.
🛡 Изоляция FPTN
Продолжили работу над тем, чтобы сторонние сетевые компоненты не могли неожиданно менять системную конфигурацию OpenWrt.
Для FPTN добавлен отдельный слой Command Shims для:
- ip
- iptables
- ip6tables
- resolvectl
- systemctl
- и других системных команд.
Также используется отдельная таблица маршрутизации 4249.
Добавлена автоматическая очистка нежелательных изменений маршрутов, DNS и firewall-правил.
🔷 Tailscale
Улучшена совместная работа Tachyon и Tailscale.
Добавлена изоляция tailnet-сетей:
100.64.0.0/10
fd7a:115c:a1e0::/48
Также переработана работа с MagicDNS и восстановлением системного resolv.conf.
🌍 GeoIP на уровне отдельных секций
GeoIP-фильтрация теперь может применяться непосредственно к конкретным секциям.
Фильтр работает для:
- доменов;
- IP CIDR;
- rule sets;
- Discord Voice;
- match_all.
GeoIP теперь доступен и для bypass-секций.
Например, можно отдельно указать, что определённая страна должна использовать прямой маршрут.
🔧 sing-box-extended compressed
Исправлена установка UPX-сжатых сборок sing-box-extended.
Ранее бинарный файл мог быть корректным, но установка откатывалась из-за того, что команда:
sing-box version
не возвращала ожидаемый результат.
Теперь для compressed-сборок Tachyon дополнительно проверяет ELF-заголовок бинарника.
🚀 P2P / torrent routing
Маршрутизация P2P была переведена с L7 на L4.
Теперь правила могут работать непосредственно с TCP/UDP и портами.
Поддерживается сопоставление как:
source_port
так и:
port
Доступны форматы:
port
port-range
proto
proto:port
proto:port-port
🧹 Код и CI
Добавлен отдельный линтер для forward reference в ucode.
Он позволяет находить ситуации, когда функция вызывается раньше своего объявления.
Именно такая проблема ранее могла приводить к ошибкам во время self-update.
Также:
- удалены дублирующиеся helper-функции;
- общие методы перенесены в core/common.uc;
- install.sh и uninstall.sh добавлены в CI.
🇷🇺 Локализация
Русская локализация полностью синхронизирована.
На данный момент:
0 непереведённых строк.
Также была обновлена часть терминологии интерфейса.
📦 Как обновиться
Через SSH:
curl -fsSL https://raw.githubusercontent.com/Dushnilin/tachyon/main/install.sh | sh -s --force
Или непосредственно через веб-интерфейс:
Обновления → Проверить обновления → Обновить Tachyon
Конфигурация и подписки при обновлении сохраняются.
Спасибо всем, кто использует Tachyon, тестирует новые версии, сообщает об ошибках и присылает обратную связь.
В этом релизе действительно очень много изменений находится «под капотом». Их не всегда видно сразу после открытия интерфейса, но именно такие изменения должны сделать обновления, диагностику и повседневную работу Tachyon стабильнее.
❤️ Если вам нравится проект и вы хотите поддержать его дальнейшую разработку — это можно сделать здесь, на Boosty.
Средства идут на дальнейшую разработку Tachyon, тестирование на различном оборудовании, исправление ошибок, инфраструктуру проекта и подготовку новых возможностей.
Tachyon v1.3.29 уже доступен. 🚀