• v2.1.12 69977a80e0

    danik released this 2026-09-09 15:16:03 +03:00 | 9 commits to main since this release

    CSQTT 2.1.12

    Перенос полезного из upstream amurcanov/csqtt 2.1.9 без его несовместимого wire protocol, плюс запросы из issues.

    • Сервер для ARM. Статические musl-бинарники для amd64, arm64 и armv7. APK несёт все три; приложение при деплое выбирает нужный по uname -m VPS. Ручной installer: rust-server/build_linux.sh --arch all, архив CSQTT-server-2.1.12-linux.tar.gz содержит все три бинарника.
    • Android x86_64 — отдельный APK для эмуляторов, Chromebook и части TV-приставок; universal APK включает и его.
    • Android TV — приложение видно в Leanback-лаунчере, тачскрин и Wi-Fi не обязательны.
    • tun-recover.sh перед стартом сервера (systemd ExecStartPre и Docker entrypoint): освобождает UDP-порт от своего же зависшего runtime и удаляет оставшийся TUN-интерфейс. Чужой процесс на порту не трогается — сервис не стартует с кодом 24 и подсказкой в journal.
    • DNS-профили в панели (Yandex, Cloudflare, Google, AdGuard, Quad9, OpenDNS, NextDNS, Comms, Geohide, Xbox, Rostelecom, BI.ZONE, НСДИ). В отличие от upstream 2.1.9 ручной ввод любых адресов сохранён.
    • Пароль подключения из Keystore: нечитаемая запись больше не выглядит как «пароль не задан» — причина блокировки запуска пишется в лог, запись сбрасывается с подсказкой ввести пароль заново.
    • Диагностика для issue: scripts/diagnose_csqtt_server.sh (read-only снимок systemd/сокетов/TUN/firewall/journal, секреты вырезаются) и scripts/csqtt-network-report.sh (отчёт или захват UDP).
    • Исправлено: rust-server/perf.rs не собирался под 32-битные цели; парсер архитектуры VPS не путает stderr-предупреждения bash/locale с выводом uname.

    Совместимость и обновление

    Используйте сервер danusha2345/csqtt-android. Сервер amurcanov/csqtt 2.1.9 использует другой wire protocol и с этим клиентом не совместим (DENIED:protocol_mismatch). Redeploy с 2.1.11 штатный, база и устройства сохраняются; после redeploy у systemd-юнита появляется второй ExecStartPre.

    Android package csqtt.quic.amurcanov, versionCode 222. Все APK подписаны тем же сертификатом, что 2.1.8–2.1.11, устанавливаются обновлением поверх. Доступны universal, arm64-v8a, armeabi-v7a и x86_64.

    Desktop-клиент CSQTT VPN 2.1.12 (Windows/Linux) не менялся, его архивы приложены для полноты и совпадают с релизом csqtt-vpn v2.1.12.

    Проверки

    Rust client и server tests, clippy на gnu и на всех трёх musl-целях, Android unit-тесты и release lint, provenance native/server/deploy, tun-recover.sh прогнан на хосте в сценариях «чужой процесс на порту» и «свой процесс». Debug-сборка проверена по aapt (TV-баннер, leanback, x86_64). ARM-бинарники собраны и проверены по ELF, на живом ARM-VPS не запускались. Полный VK TURN E2E и деплой на живой сервер в этой итерации не выполнялись.

    Журнал изменений · Ручная установка и API

    Downloads