Files
rustdesk-custom/README.md
T
gusadmin 453f485f36 Scaffold overlay для преднастроенного RustDesk-клиента
Тонкая обвязка поверх rustdesk@1.4.9: preconfigure.sh патчит
RENDEZVOUS_SERVERS+RS_PUB_KEY в hbb_common, build-windows.ps1 —
локальный оркестратор сборки. Значения сервера/ключа не в репо
(config/server.env в .gitignore, в CI — gitea secrets).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 14:21:52 +03:00

2.5 KiB

rustdesk-custom

Тонкий overlay поверх RustDesk: собирает преднастроенный клиент RustDesk, из коробки указывающий на свой self-hosted сервер (hbbs/hbbr). Сам код RustDesk сюда не форкается — апстрейт клонируется в CI по пину и патчится минимальным скриптом.

Как это работает

RustDesk в 1.4.9 хранит адрес сервера и публичный ключ как хардкод-константы в сабмодуле hbb_common (RENDEZVOUS_SERVERS, RS_PUB_KEY в libs/hbb_common/src/config.rs). Старого механизма option_env! в актуальном master нет. Поэтому преднастройка = патч этих двух констант перед сборкой (scripts/preconfigure.sh).

Значения (адрес сервера, ключ) не хранятся в этом публичном репозитории:

  • локально — в config/server.env.gitignore);
  • в CI — в gitea Actions secrets.

Быстрый старт (локально, Windows)

copy config\server.env.example config\server.env   # заполнить RUSTDESK_SERVER / RUSTDESK_PUB_KEY
pwsh -File scripts\build-windows.ps1

Тулчейн (Rust 1.75, LLVM 15.0.6, Flutter 3.24.5, vcpkg@пин) нужно поднять один раз — см. docs/CODEMAP.md. Первая сборка долгая: vcpkg компилит ffmpeg/aom из исходников.

Пины

Все версии зафиксированы в upstream.txt (правило проекта: никаких latest). Обновление RustDesk = поднять RUSTDESK_TAG и сверить остальные пины с новым flutter-build.yml апстрима.

Платформы

  • Windows — локально на GUSIK-PC + CI-раннер windows:host.
  • Android — CI на build-VM 118 (NDK r28c, cargo-ndk 3.1.2), раздача APK как в GusVoice (gitea release + self-hosted F-Droid).

Лицензия

RustDesk распространяется под AGPL-3.0. Собранные этим overlay бинарники — производная работа RustDesk и подчиняются AGPL-3.0. Скрипты этого репозитория — тонкая обвязка сборки.