Initial commit: AnyDesk installer for Raspberry Pi
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
#!/bin/bash
|
||||
# Build & publish the insin anydesk package.
|
||||
#
|
||||
# Required env:
|
||||
# INSIN_URL - e.g. https://insin.example.com
|
||||
# INSIN_TOKEN - service token from the Insin admin panel
|
||||
#
|
||||
# Optional env:
|
||||
# ANYDESK_VERSION - full deb version tag (default: 6.4.0-1)
|
||||
# PKG_VERSION - insin package semver (default: derived from ANYDESK_VERSION)
|
||||
# INSIN_CLI_RID - CLI artifact rid (default: auto-detected from uname -m)
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
: "${INSIN_URL:?INSIN_URL must be set}"
|
||||
: "${INSIN_TOKEN:?INSIN_TOKEN must be set}"
|
||||
|
||||
ANYDESK_VERSION="${ANYDESK_VERSION:-6.4.0-1}"
|
||||
PKG_VERSION="${PKG_VERSION:-${ANYDESK_VERSION%-*}}"
|
||||
|
||||
case "${INSIN_CLI_RID:-$(uname -m)}" in
|
||||
linux-arm64|aarch64|arm64) RID="linux-arm64" ;;
|
||||
linux-x64|x86_64|amd64)
|
||||
echo "ERROR: no linux-x64 insin CLI artifact — run on an arm64 runner" >&2
|
||||
exit 1 ;;
|
||||
*) RID="${INSIN_CLI_RID:-linux-arm64}" ;;
|
||||
esac
|
||||
|
||||
HERE="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
|
||||
SRC="$HERE/src"
|
||||
|
||||
redact() { sed -E "s|${INSIN_TOKEN}|***|g"; }
|
||||
|
||||
echo "==> Downloading AnyDesk ${ANYDESK_VERSION} arm64 .deb"
|
||||
curl -fsSL "https://download.anydesk.com/rpi/anydesk_${ANYDESK_VERSION}_arm64.deb" \
|
||||
-o "$SRC/anydesk_arm64.deb"
|
||||
|
||||
echo "==> Fetching latest insin CLI ($RID)"
|
||||
CLI_META="$(curl -fsSL "$INSIN_URL/api/v1/downloads/cli" 2>&1 | redact)"
|
||||
read -r CLI_VERSION CLI_FILE < <(python3 -c '
|
||||
import json, sys
|
||||
m = json.loads(sys.argv[1])[0]
|
||||
a = next(x for x in m["artifacts"] if x["rid"] == sys.argv[2])
|
||||
print(m["version"], a["filename"])
|
||||
' "$CLI_META" "$RID")
|
||||
|
||||
mkdir -p /tmp/insin
|
||||
curl -fsSL "$INSIN_URL/api/v1/downloads/cli/$CLI_VERSION/$CLI_FILE" \
|
||||
-o /tmp/insin.tar.gz 2>&1 | redact
|
||||
tar -xzf /tmp/insin.tar.gz -C /tmp/insin
|
||||
chmod +x /tmp/insin/insin
|
||||
|
||||
echo "==> Packing anydesk@${PKG_VERSION}"
|
||||
( cd "$SRC" && /tmp/insin/insin pack "anydesk@${PKG_VERSION}" )
|
||||
|
||||
PKG="$HERE/packages/anydesk@${PKG_VERSION}.pkg"
|
||||
[[ -f "$PKG" ]] || { echo "ERROR: expected $PKG but it wasn't produced" >&2; exit 1; }
|
||||
|
||||
echo "==> Publishing $PKG"
|
||||
/tmp/insin/insin publish "$PKG" 2>&1 | redact
|
||||
|
||||
echo "==> Done: anydesk@${PKG_VERSION} published"
|
||||
Reference in New Issue
Block a user