Easy install Script for Rustdesk
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