From 52c4f3e0c22c4d58a7a82687afc92b7d84f3301a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Slavi=C5=A1a=20Are=C5=BEina?= <58952836+tremor021@users.noreply.github.com> Date: Wed, 20 Aug 2025 13:59:32 +0200 Subject: [PATCH] Refactor (#7008) --- ct/rustdeskserver.sh | 30 +++++++----------------------- install/rustdeskserver-install.sh | 23 ++++++----------------- 2 files changed, 13 insertions(+), 40 deletions(-) diff --git a/ct/rustdeskserver.sh b/ct/rustdeskserver.sh index 96e09b4ec..957a76ecf 100644 --- a/ct/rustdeskserver.sh +++ b/ct/rustdeskserver.sh @@ -28,13 +28,10 @@ function update_script() { msg_error "No ${APP} Installation Found!" exit fi - if [[ ! -f /opt/rustdeskapi_version.txt ]]; then - touch /opt/rustdeskapi_version.txt - exit - fi + RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }') APIRELEASE=$(curl -fsSL https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') - if [[ "${RELEASE}" != "$(cat /opt/rustdesk_version.txt)" ]] || [[ "${APIRELEASE}" != "$(cat /opt/rustdeskapi_version.txt)" ]] || [[ ! -f /opt/rustdesk_version.txt ]] || [[ ! -f /opt/rustdeskapi_version.txt ]]; then + if [[ "${RELEASE}" != "$(cat ~/.rustdesk-hbbr)" ]] || [[ "${APIRELEASE}" != "$(cat ~/.rustdesk-api)" ]] || [[ ! -f ~/.rustdesk-hbbr ]] || [[ ! -f ~/.rustdesk-api ]]; then msg_info "Stopping $APP" systemctl stop rustdesk-hbbr systemctl stop rustdesk-hbbs @@ -43,28 +40,15 @@ function update_script() { fi msg_ok "Stopped $APP" - msg_info "Updating $APP to v${RELEASE}" - TEMPDIR=$(mktemp -d) - curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" - curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" - curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-server-utils_${RELEASE}_amd64.deb" - curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/rustdesk-api-server_${APIRELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-api-server_${APIRELEASE}_amd64.deb" - $STD dpkg -i $TEMPDIR/*.deb - echo "${RELEASE}" >/opt/rustdesk_version.txt - echo "${APIRELEASE}" >/opt/rustdeskapi_version.txt - msg_ok "Updated $APP to v${RELEASE}" - - msg_info "Cleaning Up" - rm -rf $TEMPDIR - msg_ok "Cleanup Completed" + fetch_and_deploy_gh_release "rustdesk-hbbr" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbr*amd64.deb" + fetch_and_deploy_gh_release "rustdesk-hbbs" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbs*amd64.deb" + fetch_and_deploy_gh_release "rustdesk-utils" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-utils*amd64.deb" + fetch_and_deploy_gh_release "rustdesk-api" "lejianwen/rustdesk-api" "binary" "latest" "/opt/rustdesk" "rustdesk-api-server*amd64.deb" msg_info "Starting services" systemctl start -q rustdesk-* --all msg_ok "Services started" + msg_ok "Update Successful" else msg_ok "No update required. ${APP} is already at v${RELEASE}" diff --git a/install/rustdeskserver-install.sh b/install/rustdeskserver-install.sh index 02b8841ca..af7957edb 100644 --- a/install/rustdeskserver-install.sh +++ b/install/rustdeskserver-install.sh @@ -13,21 +13,12 @@ setting_up_container network_check update_os -msg_info "Setup RustDesk" +fetch_and_deploy_gh_release "rustdesk-hbbr" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbr*amd64.deb" +fetch_and_deploy_gh_release "rustdesk-hbbs" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-hbbs*amd64.deb" +fetch_and_deploy_gh_release "rustdesk-utils" "rustdesk/rustdesk-server" "binary" "latest" "/opt/rustdesk" "rustdesk-server-utils*amd64.deb" +fetch_and_deploy_gh_release "rustdesk-api" "lejianwen/rustdesk-api" "binary" "latest" "/opt/rustdesk" "rustdesk-api-server*amd64.deb" -RELEASE=$(curl -fsSL https://api.github.com/repos/rustdesk/rustdesk-server/releases/latest | grep "tag_name" | awk -F '"' '{print $4}') -APIRELEASE=$(curl -fsSL https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') -TEMPDIR=$(mktemp -d) - -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-server-hbbr_${RELEASE}_amd64.deb" -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-server-hbbs_${RELEASE}_amd64.deb" -curl -fsSL "https://github.com/rustdesk/rustdesk-server/releases/download/${RELEASE}/rustdesk-server-utils_${RELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-server-utils_${RELEASE}_amd64.deb" -curl -fsSL "https://github.com/lejianwen/rustdesk-api/releases/download/v${APIRELEASE}/rustdesk-api-server_${APIRELEASE}_amd64.deb" \ - -o "${TEMPDIR}/rustdesk-api-server_${APIRELEASE}_amd64.deb" -$STD dpkg -i "${TEMPDIR}"/*.deb +msg_info "Configuring RustDesk Server" ADMINPASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | head -c13) cd /var/lib/rustdesk-api $STD rustdesk-api reset-admin-pwd $ADMINPASS @@ -37,14 +28,12 @@ $STD rustdesk-api reset-admin-pwd $ADMINPASS echo "Username: admin" echo "Password: $ADMINPASS" } >>~/rustdesk.creds -echo "${RELEASE}" >/opt/rustdesk_version.txt -msg_ok "Setup RustDesk" +msg_ok "Configured RustDesk Server" motd_ssh customize msg_info "Cleaning up" -rm -rf $TEMPDIR $STD apt-get -y autoremove $STD apt-get -y autoclean msg_ok "Cleaned"