Приватность публичного репо + выкл. проверку обновлений + релиз latest
- Убраны все машинно/инфра-специфичные данные из README/CODEMAP/скриптов/ workflows (хосты, IP, домен gitea -> github.server_url). - preconfigure: enable-check-update=N (выкл. проверку обновлений); подсказка «set up your own server» и так гаснет с override-сервером. - CI публикует exe/apk в Gitea Release `latest` (обновляется каждый прогон, стабильная ссылка) + версионный релиз на теге v*. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
# Собирает преднастроенный RustDesk APK (arm64-v8a) под self-hosted сервер. Linux/VM 118.
|
||||
# Собирает преднастроенный RustDesk APK (arm64-v8a) под self-hosted сервер. Debian/Ubuntu build-машина.
|
||||
# Тулчейн — provision-android.sh (пишет ~/dev/rd-android.env). Логика зеркалит build-windows.ps1.
|
||||
#
|
||||
# Конфиг сервера: env RUSTDESK_SERVER/RUSTDESK_PUB_KEY (CI secrets) или config/server.env.
|
||||
@@ -77,7 +77,7 @@ mkdir -p "$JNI"
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so "$JNI/librustdesk.so"
|
||||
cp "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so" "$JNI/"
|
||||
|
||||
# --- подпись: без key.properties (keystore Глеба) release подписываем DEBUG-ключом ---
|
||||
# --- подпись: без key.properties (своего keystore) release подписываем DEBUG-ключом ---
|
||||
# (APK ставится для теста; преднастройка от подписи не зависит — она в librustdesk.so).
|
||||
# Дашь свой keystore -> положи flutter/android/key.properties, тогда подпишется им (для раздачи/F-Droid).
|
||||
if ! grep -q 'keystorePropertiesFile.exists() ? signingConfigs.release' flutter/android/app/build.gradle; then
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<#
|
||||
Локальная сборка преднастроенного RustDesk-клиента под Windows (GUSIK-PC).
|
||||
Локальная сборка преднастроенного RustDesk-клиента под Windows.
|
||||
Клон rustdesk@пин -> preconfigure (вшить сервер+ключ) -> vcpkg install -> python build.py --flutter -> dist/.
|
||||
|
||||
Тулчейн (ставится один раз, см. docs/CODEMAP.md):
|
||||
@@ -53,7 +53,7 @@ $vcvars = Join-Path $vsPath 'VC\Auxiliary\Build\vcvars64.bat'
|
||||
Write-Host "Импорт VS dev-env: $vcvars" -ForegroundColor DarkCyan
|
||||
cmd /c "`"$vcvars`" >nul && set" | ForEach-Object { if ($_ -match '^([^=]+)=(.*)$') { Set-Item "Env:$($matches[1])" $matches[2] } }
|
||||
|
||||
# CIDR в NO_PROXY (напр. 192.168.5.0/24) ломает WinHTTP-загрузчик vcpkg (WinHttpSetOption 87).
|
||||
# CIDR в NO_PROXY (напр. 10.0.0.0/8) ломает WinHTTP-загрузчик vcpkg (WinHttpSetOption 87).
|
||||
# У машины есть прямой интернет -> убираем прокси-env для процесса сборки (системные настройки не трогаем).
|
||||
foreach ($p in 'HTTP_PROXY','HTTPS_PROXY','NO_PROXY','ALL_PROXY','http_proxy','https_proxy','no_proxy') { Set-Item "Env:$p" $null -EA SilentlyContinue }
|
||||
|
||||
@@ -135,7 +135,7 @@ if ($LASTEXITCODE) { Pop-Location; throw "vcpkg install упал ($LASTEXITCODE)
|
||||
Pop-Location
|
||||
|
||||
# --- сборка клиента (без портативной упаковки: её build.py делает через `python3`,
|
||||
# а на GUSIK-PC python3 = Store-заглушка -> падает; пакуем отдельно реальным python) ---
|
||||
# на этой машине python3 = Store-заглушка -> падает; пакуем отдельно реальным python) ---
|
||||
Write-Host "python build.py --flutter --skip-portable-pack..." -ForegroundColor Cyan
|
||||
Push-Location $src
|
||||
python build.py --flutter --skip-portable-pack
|
||||
|
||||
@@ -76,7 +76,7 @@ VCPKG_TRIPLET=$VCPKG_TRIPLET
|
||||
FRB_VERSION=$FRB_VERSION
|
||||
CARGO_EXPAND_VERSION=$CARGO_EXPAND_VERSION
|
||||
|
||||
# Android (VM 118)
|
||||
# Android
|
||||
ANDROID_FLUTTER_VERSION=$ANDROID_FLUTTER_VERSION
|
||||
CARGO_NDK_VERSION=$CARGO_NDK_VERSION
|
||||
NDK_VERSION=$NDK_VERSION
|
||||
|
||||
@@ -64,7 +64,14 @@ if [ "${RUSTDESK_NO_CUSTOM_CLIENT:-}" != "1" ]; then
|
||||
"$PY" - "$SRC/src/custom_client.json" "$FIRST_SRV" "$RUSTDESK_PUB_KEY" "${RUSTDESK_API_SERVER:-}" "${RUSTDESK_PRESET_PASSWORD:-}" "$LOCK_PW" <<'PYEOF'
|
||||
import sys, json, hashlib, base64, secrets
|
||||
out, server, key, api, preset_pw, lock_pw = sys.argv[1:7]
|
||||
override = {"custom-rendezvous-server": server, "relay-server": server, "key": key}
|
||||
override = {
|
||||
"custom-rendezvous-server": server,
|
||||
"relay-server": server,
|
||||
"key": key,
|
||||
"enable-check-update": "N", # выключить проверку обновлений
|
||||
}
|
||||
# Подсказка «set up your own server» гаснет сама: using_public_server()=пуст ли custom-rendezvous-server,
|
||||
# а он у нас в override -> непуст -> подсказки нет.
|
||||
if api:
|
||||
override["api-server"] = api
|
||||
cfg = {"override-settings": override}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Идемпотентно ставит Android-тулчейн под пины upstream.txt (сборка RustDesk APK).
|
||||
# Debian/Ubuntu (VM 118). Android SDK уже в /opt/android-sdk. Ставит в ~/dev.
|
||||
# Debian/Ubuntu build-машина. Ожидает Android SDK в /opt/android-sdk. Ставит в ~/dev.
|
||||
# Ставит только отсутствующее -> после bump-upstream.sh достаточно перезапустить.
|
||||
set -euo pipefail
|
||||
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
||||
|
||||
Reference in New Issue
Block a user