Поддерживаемая сборка CSQTT для Android и Linux-сервера. Клиент создаёт системный VPN-интерфейс и передаёт трафик через TURN/RTP, маскируя транспорт под зашифрованный медиатрафик звонка.
- Репозиторий:
danusha2345/csqtt-android - Релизы Android/server: GitHub Releases
- Windows/Linux desktop-клиенты:
danusha2345/csqtt-vpn - Поддержать разработку: Boosty
- Исходный проект:
amurcanov/csqtt
Версия Android: 2.1.17, package ID io.github.danusha2345.csqtt.
APK устанавливается рядом с оригиналом amurcanov/csqtt и прежними версиями
нашего приложения (csqtt.quic.amurcanov). Это отдельная установка: старые
данные сохраняются, но настройки и разрешение VPN нужно задать заново.
Автоматической миграции между package ID нет.
Кнопка «Обновить» скачивает APK в приложении, проверяет SHA256, package ID, версию и подпись, затем открывает системный установщик Android. При необходимости Android сначала запросит разрешение установки из CSQTT. Доступны прогресс и отмена; источники проверяются в порядке GitHub → GitLab → Forgejo. При обрыве загрузки зеркало должно подтвердить ту же версию и SHA256. Версии до 2.1.17 ещё открывают страницу релиза: переход на новый package ID нужно один раз выполнить установкой нового APK.
Каждый пользователь разворачивает собственный сервер и вводит его адрес в формате
host:46010. Адрес и пароль нашей инфраструктуры в Git и Releases не публикуются.
Для установки на большинство устройств используйте CSQTT-2.1.17-universal.apk
из раздела Releases.
- Android VPN на
arm64-v8aиarmeabi-v7a; - OpenWrt-клиент с нативным TUN и
procdдляx86_64,aarch64иarmv7; - TURN через UDP или TCP/TLS;
- режим локального SOCKS5
CONNECTна127.0.0.1без Android VPN; - маскировка
audioиvideo; - ручные и автоматические режимы VK call links/hashes;
- от 9 до 126 workers;
- автопауза VPN при подключении к Wi-Fi;
- профили, исключения приложений и системный quick settings tile;
- Rust server со встроенной web-панелью, SQLite/WAL и управлением клиентами;
- deploy на VPS через SSH из Android-приложения.
- защищённое обновление клиентского порта и VK-хешей при подключении и каждые 6 часов.
Подробный список изменений находится в CHANCHELOG.md.
Изменения текущих исходников: запросы upstream и исправления. Для ручной установки, собственной подсети, SOCKS5 host и интеграции внешней панели см. Server administration/API.
Требуются JDK 17, Android SDK 37, Android NDK r28c и Rust 1.97.1.
Создайте неотслеживаемый local.properties по шаблону
local.properties.example, затем выполните:
bash gradlew testDebugUnitTest lintDebug lintRelease assembleRelease --no-daemonRelease-сборка требует явно настроенный keystore и не переходит автоматически на debug-подпись. Перед ней также обязательно должны пройти native provenance gate и проверка встроенного server binary. На Linux полный native workflow запускается так:
scripts/build_android_native.sh --tests
rust-server/build_linux.sh --arch all --tests
cp rust-server/dist/csqtt-linux-* app/src/main/assets/
scripts/build_apk.shAPK создаются в app/build/outputs/apk/release/.
Клиент:
cd rust-client
cargo +1.97.1 test --locked
cargo +1.97.1 ndk -t arm64-v8a -t armeabi-v7a -t x86_64 -P 26 build --release --lockedLinux server (статические musl-бинарники для amd64, arm64 и armv7; нужны
zig и cargo-zigbuild):
cd rust-server
cargo +1.97.1 test --locked
./build_linux.sh --arch all --tests # dist/csqtt-linux-{amd64,arm64,armv7}Одна архитектура: ./build_linux.sh --arch arm64. Приложение при деплое само
выбирает бинарник по uname -m VPS. build_linux.bat на Windows собирает только
amd64; ARM-бинарники собираются на Linux или в WSL.
Для роутеров опубликован первый beta-порт с нативным Linux TUN, UCI-конфигом,
procd-сервисом, policy routing для LAN и дополнительным режимом локального
SOCKS5. Поддерживаются:
x86_64;aarch64(aarch64_generic);armv7hard-float с NEON (arm_cortex-a7_neon-vfpv4).
Скачать готовые файлы: CSQTT OpenWrt 0.1.0 Beta.
Полная русская инструкция по выбору архитектуры, установке, UCI-настройке, проверке и остановке: openwrt/README.md.
- Для OpenWrt 25.12+ используйте универсальный
.tar.gz. - Для OpenWrt 24.10 можно использовать
.tar.gzили готовый.ipk. - MIPS/MIPSel пока не поддерживаются.
Первый OpenWrt-порт опубликован как beta. Если у вас есть роутер x86_64,
aarch64 или armv7 с NEON, пожалуйста, установите подходящую сборку по
инструкции, проверьте TUN/SOCKS5, перезапуск сервиса и работу устройств в LAN,
а результат сообщите в GitHub Issues.
В отчёте укажите модель роутера, версию OpenWrt, вывод uname -m, выбранный
режим и очищенный logread -e csqtt. Не публикуйте пароль подключения и
VK-хеши.
local.properties, keystore, адреса/пароли частных серверов и VK call links не должны попадать в Git или публичные отчёты;- SSH host key при первом deploy сохраняется в приватном хранилище приложения; изменение ключа
того же
host:portблокируется как возможная подмена сервера; - config sync не передаёт пароль в URL: запрос подписан HMAC, ответ зашифрован AES-256-CTR и защищён отдельным HMAC; ключи выводятся через HKDF из connection password;
- SOCKS5 слушает только loopback, поддерживает TCP
CONNECTи удалённый DNS; UDP Associate и доступ к private/link-local адресам VPS намеренно запрещены; - сервер создаёт конфигурацию с режимом
0700, SQLite/WAL/SHM —0600; - полный TURN e2e требует действующей VK call link/hash;
- проект предназначен только для некоммерческого использования.
Это поддерживаемый fork проекта
amurcanov/csqtt. Авторство исходного
проекта сохраняется. Код распространяется на условиях
PolyForm Noncommercial License 1.0.0; коммерческое использование,
перепродажа и интеграция в платные сервисы запрещены.