Easy install Script for Rustdesk
at master 3.0 kB view raw
1#!/bin/bash 2 3uname=$(whoami) 4admintoken=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c8) 5 6 7# identify OS 8if [ -f /etc/os-release ]; then 9 # freedesktop.org and systemd 10 . /etc/os-release 11 OS=$NAME 12 VER=$VERSION_ID 13 IDLIKE=$ID_LIKE 14elif type lsb_release >/dev/null 2>&1; then 15 # linuxbase.org 16 OS=$(lsb_release -si) 17 VER=$(lsb_release -sr) 18elif [ -f /etc/lsb-release ]; then 19 # For some versions of Debian/Ubuntu without lsb_release command 20 . /etc/lsb-release 21 OS=$DISTRIB_ID 22 VER=$DISTRIB_RELEASE 23elif [ -f /etc/debian_version ]; then 24 # Older Debian/Ubuntu/etc. 25 OS=Debian 26 VER=$(cat /etc/debian_version) 27elif [ -f /etc/SuSe-release ]; then 28 # Older SuSE/etc. 29 OS=SuSE 30 VER=$(cat /etc/SuSe-release) 31elif [ -f /etc/redhat-release ]; then 32 # Older Red Hat, CentOS, etc. 33 OS=RedHat 34 VER=$(cat /etc/redhat-release) 35else 36 # Fall back to uname, e.g. "Linux <version>", also works for BSD, etc. 37 OS=$(uname -s) 38 VER=$(uname -r) 39fi 40 41# Install Rustdesk 42case ${OS,,} in 43 # or case ${IDLIKE,,} in .. to support derivatives 44 ubuntu|debian) 45 # Debian/Ubuntu/etc. 46 wget https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb 47 sudo apt install -fy ./rustdesk-1.1.9.deb 48 ;; 49 fedora|centos|redhat|amazon) 50 # Red Hat, CentOS, etc. 51 52 wget https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.rpm 53 sudo yum localinstall ./rustdesk-1.1.9.rpm 54 # sudo dnf install -y ./rustdesk-1.1.9.rpm 55 ;; 56 *) 57 echo "Unsupported OS" 58 exit 1 59 ;; 60esac 61 62rustdesk --password ${admintoken} 63sudo pkill -f "rustdesk" 64 65# Setup Rustdesk in user profile 66rustdesktoml2a="$(cat << EOF 67rendezvous_server = 'wanipreg' 68nat_type = 1 69serial = 3 70 71[options] 72rendezvous-servers = 'rs-ny.rustdesk.com,rs-sg.rustdesk.com,rs-cn.rustdesk.com' 73key = 'keyreg' 74custom-rendezvous-server = 'wanipreg' 75api-server = 'https://wanipreg' 76relay-server = 'wanipreg' 77EOF 78)" 79echo "${rustdesktoml2a}" | sudo tee /home/${uname}/.config/rustdesk/RustDesk2.toml > /dev/null 80 81# Setup Rustdesk in root profile 82rustdesktoml2b="$(cat << EOF 83rendezvous_server = 'wanipreg' 84nat_type = 1 85serial = 3 86 87[options] 88rendezvous-servers = 'rs-ny.rustdesk.com,rs-sg.rustdesk.com,rs-cn.rustdesk.com' 89key = 'keyreg' 90custom-rendezvous-server = 'wanipreg' 91api-server = 'https://wanipreg' 92relay-server = 'wanipreg' 93EOF 94)" 95echo "${rustdesktoml2b}" | sudo tee /root/.config/rustdesk/RustDesk2.toml > /dev/null 96 97sudo chown ${uname}:${uname} /home/${uname}/.config/rustdesk/RustDesk2.toml 98 99 100sudo systemctl restart rustdesk 101 102echo "ID & Password for Rustdesk ${uname} are:" 103grep -w id /home/${uname}/.config/rustdesk/RustDesk.toml 104grep -w password /home/${uname}/.config/rustdesk/RustDesk.toml 105 106echo "ID & Password for Rustdesk (root) are:" 107sudo grep -w id /root/.config/rustdesk/RustDesk.toml 108sudo grep -w password /root/.config/rustdesk/RustDesk.toml