Compare commits

...

14 Commits
1.3.4 ... 1.5.2

Author SHA1 Message Date
RustDesk
9cb3f06f5a Update SLA.md 2025-02-12 18:58:35 +08:00
RustDesk
84eabfd088 Create SLA.md 2025-02-12 18:57:38 +08:00
RustDesk
5f4e47055d Update terms 2024-11-22 15:01:44 +08:00
RustDesk
e478d266b0 Update install.sh 2024-11-07 08:59:17 +08:00
RustDesk
5bb76c2e9d Update update.sh 2024-08-18 22:15:27 +08:00
RustDesk
5696f381c8 Update install.sh 2024-08-18 22:14:06 +08:00
RustDesk
2e0388ec0c Update update.sh 2024-08-18 21:40:47 +08:00
RustDesk
40855c65a3 Update install.sh 2024-08-18 21:37:23 +08:00
RustDesk
4f46a53c77 Update install.sh 2024-08-18 21:35:12 +08:00
RustDesk
43a8b5ce1a Merge pull request #262 from dinger1986/main
Update install.sh
2024-05-31 23:47:37 +08:00
dinger1986
724593a77b Update update.sh 2024-05-31 15:48:38 +01:00
dinger1986
6a9a726a65 Update install.sh 2024-05-31 15:34:25 +01:00
RustDesk
87cb900da8 Delete backup.sh 2024-05-26 10:05:02 +08:00
RustDesk
ef0785c03d Delete restore.sh 2024-05-26 10:04:52 +08:00
6 changed files with 100 additions and 478 deletions

60
SLA.md Normal file
View File

@@ -0,0 +1,60 @@
This Service Level Agreement (SLA) outlines the terms and conditions under which RustDesk provides email support to its customers. This SLA is designed to ensure a high level of service quality and customer satisfaction.
1. Scope of Support
RustDesk offers email support to assist customers with issues related to the installation, configuration, usage, and troubleshooting of RustDesk software. Support is available for the following:
- Technical issues and bugs
- Feature inquiries
- General usage questions
Exclusions:
- Custom development or scripting
- Third-party software or hardware issues
- Training or consulting services
2. Support Availability
Email support is available 24 hours a day, 7 days a week. However, responses will be provided during standard business hours (Monday to Friday, 9:00 AM to 6:00 PM GMT+7).
3. Response and Resolution Times
RustDesk is committed to providing timely responses and resolutions to customer inquiries. The following table outlines our target response and resolution times based on the severity of the issue:
| **Severity Level** | **Description** | **Initial Response Time** | **Target Resolution Time** |
|---------------------|---------------------------------------------------------------------------------|---------------------------|-----------------------------|
| **Critical** | System outage or major functionality failure impacting core operations. | 2 hours | 24 hours |
| **High** | Significant performance degradation or partial loss of functionality. | 4 hours | 48 hours |
| **Medium** | Minor issues or questions that do not significantly impact functionality. | 8 hours | 5 business days |
| **Low** | General inquiries, feature requests, or non-urgent questions. | 24 hours | 10 business days |
Note: Resolution times are estimates and may vary depending on the complexity of the issue. RustDesk will provide regular updates if additional time is required.
4. Customer Responsibilities
To ensure efficient support, customers are expected to:
Provide detailed descriptions of the issue, including error messages, screenshots, and steps to reproduce the problem.
Specify the RustDesk version, operating system, and any relevant configuration details.
Respond promptly to requests for additional information from the support team.
5. Escalation Process
If an issue is not resolved within the target resolution time or requires further attention, customers may escalate the issue by contacting the RustDesk support manager at zhou@rustdesk.com. Escalated issues will be prioritized and addressed by senior support staff.
6. Limitations
RustDesk does not guarantee resolution for all issues, particularly those caused by third-party software, hardware, or unsupported configurations.
Support is limited to the current and immediately previous versions of RustDesk software.
7. Changes to the SLA
RustDesk reserves the right to modify this SLA at any time. Customers will be notified of significant changes via email or through the RustDesk website.
8. Contact Information
For email support, please contact: support@rustdesk.com
By using RustDesk email support, customers agree to the terms outlined in this SLA.
RustDesk Team
rustdesk.com
support@rustdesk.com

157
backup.sh
View File

@@ -1,157 +0,0 @@
#!/usr/bin/env bash
# shellcheck disable=2034,2059,2164
true
usern=$(whoami)
path=$(pwd)
echo "$path"
ARCH=$(uname -m)
# Identify OS
if [ -f /etc/os-release ]; then
# freedesktop.org and systemd
. /etc/os-release
OS=$NAME
VER=$VERSION_ID
UPSTREAM_ID=${ID_LIKE,,}
# Fallback to ID_LIKE if ID was not 'ubuntu' or 'debian'
if [ "${UPSTREAM_ID}" != "debian" ] && [ "${UPSTREAM_ID}" != "ubuntu" ]; then
UPSTREAM_ID="$(echo "${ID_LIKE,,}" | sed s/\"//g | cut -d' ' -f1)"
fi
elif type lsb_release >/dev/null 2>&1; then
# linuxbase.org
OS=$(lsb_release -si)
VER=$(lsb_release -sr)
elif [ -f /etc/lsb-release ]; then
# For some versions of Debian/Ubuntu without lsb_release command
. /etc/lsb-release
OS=$DISTRIB_ID
VER=$DISTRIB_RELEASE
elif [ -f /etc/debian_version ]; then
# Older Debian, Ubuntu, etc.
OS=Debian
VER=$(cat /etc/debian_version)
elif [ -f /etc/SuSE-release ]; then
# Older SuSE, etc.
OS=SuSE
VER=$(cat /etc/SuSE-release)
elif [ -f /etc/redhat-release ]; then
# Older Red Hat, CentOS, etc.
OS=RedHat
VER=$(cat /etc/redhat-release)
else
# Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
OS=$(uname -s)
VER=$(uname -r)
fi
# Output debugging info if $DEBUG set
if [ "$DEBUG" = "true" ]; then
echo "OS: $OS"
echo "VER: $VER"
echo "UPSTREAM_ID: $UPSTREAM_ID"
exit 0
fi
# Setup prereqs for server
# Common named prereqs
PREREQ="tar"
PREREQDEB="sqlite3"
PREREQRPM="sqlite"
PREREQARCH="sqlite"
echo "Installing prerequisites"
if [ "${ID}" = "debian" ] || [ "$OS" = "Ubuntu" ] || [ "$OS" = "Debian" ] || [ "${UPSTREAM_ID}" = "ubuntu" ] || [ "${UPSTREAM_ID}" = "debian" ]; then
sudo apt-get update
sudo apt-get install -y ${PREREQ} ${PREREQDEB} # git
elif [ "$OS" = "CentOS" ] || [ "$OS" = "RedHat" ] || [ "${UPSTREAM_ID}" = "rhel" ] ; then
# openSUSE 15.4 fails to run the relay service and hangs waiting for it
# Needs more work before it can be enabled
# || [ "${UPSTREAM_ID}" = "suse" ]
sudo yum update -y
sudo dnf install -y epel-release
sudo yum install -y ${PREREQ} ${PREREQRPM} # git
elif [ "${ID}" = "arch" ] || [ "${UPSTREAM_ID}" = "arch" ]; then
sudo pacman -Syu
sudo pacman -S ${PREREQ} ${PREREQARCH}
else
echo "Unsupported OS"
# Here you could ask the user for permission to try and install anyway
# If they say yes, then do the install
# If they say no, exit the script
exit 1
fi
if [[ $* == *--schedule* ]]; then
(
crontab -l 2>/dev/null
echo "0 0 * * * $path/backup.sh --auto"
) | crontab -
if [ ! -d /opt/rustdesk-server-backups ]; then
sudo mkdir /opt/rustdesk-server-backups
fi
if [ ! -d /opt/rustdesk-server-backups/daily ]; then
sudo mkdir /opt/rustdesk-server-backups/daily
fi
if [ ! -d /opt/rustdesk-server-backups/weekly ]; then
sudo mkdir /opt/rustdesk-server-backups/weekly
fi
if [ ! -d /opt/rustdesk-server-backups/monthly ]; then
sudo mkdir /opt/rustdesk-server-backups/monthly
fi
sudo chown "${usern}":"${usern}" -R /opt/rustdesk-server-backups
printf >&2 "Backups setup to run at midnight and rotate."
exit 0
fi
if [ ! -d /opt/rustdesk-server-backups ]; then
sudo mkdir /opt/rustdesk-server-backups
sudo chown "${usern}":"${usern}" /opt/rustdesk-server-backups
fi
dt_now=$(date '+%Y_%m_%d__%H_%M_%S')
tmp_dir=$(mktemp -d -t rustdesk-XXXXXXXXXXXXXXXXXXXXX)
sysd="/etc/systemd/system"
cp -rf /var/lib/rustdesk-server/ "${tmp_dir}"/
sqlite3 /var/lib/rustdesk-server/db.sqlite3 .dump > "${tmp_dir}"/db_backup_file.sql
if [[ $* == *--auto* ]]; then
month_day=$(date +"%d")
week_day=$(date +"%u")
if [ "$month_day" -eq 10 ]; then
tar -cf /opt/rustdesk-server-backups/monthly/rustdesk-backup-"${dt_now}".tar -C "${tmp_dir}" .
else
if [ "$week_day" -eq 5 ]; then
tar -cf /opt/rustdesk-server-backups/weekly/rustdesk-backup-"${dt_now}".tar -C "${tmp_dir}" .
else
tar -cf /opt/rustdesk-server-backups/daily/rustdesk-backup-"${dt_now}".tar -C "${tmp_dir}" .
fi
fi
rm -rf "${tmp_dir}"
find /opt/rustdesk-server-backups/daily/ -type f -mtime +14 -name '*.tar' -execdir rm -- '{}' \;
find /opt/rustdesk-server-backups/weekly/ -type f -mtime +60 -name '*.tar' -execdir rm -- '{}' \;
find /opt/rustdesk-server-backups/monthly/ -type f -mtime +380 -name '*.tar' -execdir rm -- '{}' \;
echo -ne "Backup Completed"
exit
else
tar -cf /opt/rustdesk-server-backups/rustdesk-backup-"${dt_now}".tar -C "${tmp_dir}" .
rm -rf "${tmp_dir}"
echo -ne "Backup saved to /opt/rustdesk-server-backups/rustdesk-backup-${dt_now}.tar"
fi

View File

@@ -12,6 +12,13 @@
################################################################################################################## ##################################################################################################################
TLS=""
if command -v ldconfig &> /dev/null; then
if ldconfig -p | grep -q "libssl.so.3"; then
TLS="-nativetls"
fi
fi
# Install curl and whiptail if needed # Install curl and whiptail if needed
if [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v whiptail)" ] if [ ! -x "$(command -v curl)" ] || [ ! -x "$(command -v whiptail)" ]
then then
@@ -166,6 +173,7 @@ Please report this to: https://github.com/rustdesk/rustdesk-server-pro/issues"
then then
ACTUAL_TAR_NAME=arm64v8 ACTUAL_TAR_NAME=arm64v8
fi fi
ACTUAL_TAR_NAME=${ACTUAL_TAR_NAME}${TLS}
# Download # Download
if ! curl -fSLO --retry 3 https://github.com/rustdesk/rustdesk-server-pro/releases/download/"${RDLATEST}"/rustdesk-server-linux-"${ACTUAL_TAR_NAME}".tar.gz if ! curl -fSLO --retry 3 https://github.com/rustdesk/rustdesk-server-pro/releases/download/"${RDLATEST}"/rustdesk-server-linux-"${ACTUAL_TAR_NAME}".tar.gz
then then
@@ -189,14 +197,17 @@ This might be temporary, so please try to run the installation script again."
fi fi
mv "${ACTUAL_TAR_NAME}"/hbbr /usr/bin/ mv "${ACTUAL_TAR_NAME}"/hbbr /usr/bin/
mv "${ACTUAL_TAR_NAME}"/hbbs /usr/bin/ mv "${ACTUAL_TAR_NAME}"/hbbs /usr/bin/
mv "${ACTUAL_TAR_NAME}"/rustdesk-utils /usr/bin/
rm -rf "$RUSTDESK_INSTALL_DIR"/"${ACTUAL_TAR_NAME:?}" rm -rf "$RUSTDESK_INSTALL_DIR"/"${ACTUAL_TAR_NAME:?}"
rm -rf rustdesk-server-linux-"${ACTUAL_TAR_NAME}".tar.gz rm -rf rustdesk-server-linux-"${ACTUAL_TAR_NAME}".tar.gz
chmod +x /usr/bin/hbbs chmod +x /usr/bin/hbbs
chmod +x /usr/bin/hbbr chmod +x /usr/bin/hbbr
chmod +x /usr/bin/rustdesk-utils
if [ -n "$RUSTDESK_USER" ] if [ -n "$RUSTDESK_USER" ]
then then
chown "$RUSTDESK_USER":"$RUSTDESK_USER" -R /usr/bin/hbbr chown "$RUSTDESK_USER":"$RUSTDESK_USER" -R /usr/bin/hbbr
chown "$RUSTDESK_USER":"$RUSTDESK_USER" -R /usr/bin/hbbr chown "$RUSTDESK_USER":"$RUSTDESK_USER" -R /usr/bin/hbbs
chown "$RUSTDESK_USER":"$RUSTDESK_USER" -R /usr/bin/rustdesk-utils
fi fi
else else
print_text_in_color "$IGreen" "Rustdesk server already installed." print_text_in_color "$IGreen" "Rustdesk server already installed."
@@ -359,7 +370,7 @@ case "$choice" in
while : while :
do do
RUSTDESK_DOMAIN=$(input_box_flow "Please enter your domain, e.g. rustdesk.example.com") RUSTDESK_DOMAIN=$(input_box_flow "Please enter your domain, e.g. rustdesk.example.com")
DIG=$(dig +short "${RUSTDESK_DOMAIN}" @resolver1.opendns.com) DIG=$(dig +short "${RUSTDESK_DOMAIN}" @8.8.8.8)
if ! [[ "$RUSTDESK_DOMAIN" =~ ^[a-zA-Z0-9]+([a-zA-Z0-9.-]*[a-zA-Z0-9]+)?$ ]] if ! [[ "$RUSTDESK_DOMAIN" =~ ^[a-zA-Z0-9]+([a-zA-Z0-9.-]*[a-zA-Z0-9]+)?$ ]]
then then
msg_box "$RUSTDESK_DOMAIN is an invalid domain/DNS address! Please try again." msg_box "$RUSTDESK_DOMAIN is an invalid domain/DNS address! Please try again."
@@ -369,7 +380,7 @@ case "$choice" in
done done
# Check if DNS are forwarded correctly # Check if DNS are forwarded correctly
if dig +short "$RUSTDESK_DOMAIN" @resolver1.opendns.com | grep -q "$WANIP4" if dig +short "$RUSTDESK_DOMAIN" @8.8.8.8 | grep -q "$WANIP4"
then then
print_text_in_color "$IGreen" "DNS seems correct when checking with dig!" print_text_in_color "$IGreen" "DNS seems correct when checking with dig!"
else else

View File

@@ -1,304 +0,0 @@
#!/usr/bin/env bash
# shellcheck disable=2034,2059,2164
true
usern=$(whoami)
path=$(pwd)
echo "$path"
# Check for /var/lib/rustdesk-server/
if [ -d "/var/lib/rustdesk-server" ]; then
echo "Directory already exists so not needing to restore"
exit
fi
ARCH=$(uname -m)
# Identify OS
if [ -f /etc/os-release ]; then
# freedesktop.org and systemd
source /etc/os-release
OS=$NAME
VER=$VERSION_ID
UPSTREAM_ID=${ID_LIKE,,}
# Fallback to ID_LIKE if ID was not 'ubuntu' or 'debian'
if [ "${UPSTREAM_ID}" != "debian" ] && [ "${UPSTREAM_ID}" != "ubuntu" ]; then
UPSTREAM_ID="$(echo "${ID_LIKE,,}" | sed s/\"//g | cut -d' ' -f1)"
fi
elif type lsb_release >/dev/null 2>&1; then
# linuxbase.org
OS=$(lsb_release -si)
VER=$(lsb_release -sr)
elif [ -f /etc/lsb-release ]; then
# For some versions of Debian/Ubuntu without lsb_release command
source /etc/lsb-release
OS=$DISTRIB_ID
VER=$DISTRIB_RELEASE
elif [ -f /etc/debian_version ]; then
# Older Debian, Ubuntu, etc.
OS=Debian
VER=$(cat /etc/debian_version)
elif [ -f /etc/SuSE-release ]; then
# Older SuSE, etc.
OS=SuSE
VER=$(cat /etc/SuSE-release)
elif [ -f /etc/redhat-release ]; then
# Older Red Hat, CentOS, etc.
OS=RedHat
VER=$(cat /etc/redhat-release)
else
# Fall back to uname, e.g. "Linux <version>", also works for BSD, etc.
OS=$(uname -s)
VER=$(uname -r)
fi
# Output debugging info if $DEBUG set
if [ "$DEBUG" = "true" ]; then
echo "OS: $OS"
echo "VER: $VER"
echo "UPSTREAM_ID: $UPSTREAM_ID"
exit 0
fi
# Setup prereqs for server
# Common named prereqs
PREREQ="curl wget unzip tar"
PREREQDEB="dnsutils ufw sqlite3"
PREREQRPM="bind-utils sqlite"
PREREQARCH="bind sqlite"
echo "Installing prerequisites"
if [ "${ID}" = "debian" ] || [ "$OS" = "Ubuntu" ] || [ "$OS" = "Debian" ] || [ "${UPSTREAM_ID}" = "ubuntu" ] || [ "${UPSTREAM_ID}" = "debian" ]; then
sudo apt-get update
sudo apt-get install -y "${PREREQ}" "${PREREQDEB}" # git
elif [ "$OS" = "CentOS" ] || [ "$OS" = "RedHat" ] || [ "${UPSTREAM_ID}" = "rhel" ] || [ "${OS}" = "Almalinux" ] || [ "${UPSTREAM_ID}" = "Rocky*" ] ; then
# openSUSE 15.4 fails to run the relay service and hangs waiting for it
# Needs more work before it can be enabled
# || [ "${UPSTREAM_ID}" = "suse" ]
sudo yum update -y
sudo dnf install -y epel-release
sudo yum install -y "${PREREQ}" "${PREREQRPM}" # git
elif [ "${ID}" = "arch" ] || [ "${UPSTREAM_ID}" = "arch" ]; then
sudo pacman -Syu
sudo pacman -S "${PREREQ}" "${PREREQARCH}"
else
echo "Unsupported OS"
# Here you could ask the user for permission to try and install anyway
# If they say yes, then do the install
# If they say no, exit the script
exit 1
fi
tmp_dir=$(mktemp -d -t)
tar -xf "$path"/*.tar -C "$tmp_dir"
cp -rf "${tmp_dir}"/rustdesk-server/ /var/lib/
sudo chown "${usern}":"${usern}" -R /var/lib/rustdesk-server/
rm /var/lib/rustdesk-server/db.sqlite3
sqlite3 /var/lib/rustdesk-server/db.sqlite3 < "${tmp_dir}"/db_backup_file.sql
# Get current release version
RDLATEST=$(curl https://api.github.com/repos/rustdesk/rustdesk-server-pro/releases/latest -s | grep "tag_name"| awk '{print substr($2, 2, length($2)-3) }' | sed 's/-.*//')
cd /var/lib/rustdesk-server/
rm -rf static/
echo "Installing RustDesk Server"
if [ "${ARCH}" = "x86_64" ] ; then
wget https://github.com/rustdesk/rustdesk-server-pro/releases/download/"${RDLATEST}"/rustdesk-server-linux-amd64.tar.gz
tar -xf rustdesk-server-linux-amd64.tar.gz
mv amd64/static /var/lib/rustdesk-server/
sudo mv amd64/hbbr /usr/bin/
sudo mv amd64/hbbs /usr/bin/
rm -rf amd64/
rm -rf rustdesk-server-linux-amd64.tar.gz
elif [ "${ARCH}" = "armv7l" ] ; then
wget "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-armv7.tar.gz"
tar -xf rustdesk-server-linux-armv7.tar.gz
mv armv7/static /var/lib/rustdesk-server/
sudo mv armv7/hbbr /usr/bin/
sudo mv armv7/hbbs /usr/bin/
rm -rf armv7/
rm -rf rustdesk-server-linux-armv7.tar.gz
elif [ "${ARCH}" = "aarch64" ] ; then
wget "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-arm64v8.tar.gz"
tar -xf rustdesk-server-linux-arm64v8.tar.gz
mv arm64v8/static /var/lib/rustdesk-server/
sudo mv arm64v8/hbbr /usr/bin/
sudo mv arm64v8/hbbs /usr/bin/
rm -rf arm64v8/
rm -rf rustdesk-server-linux-arm64v8.tar.gz
fi
sudo chmod +x /usr/bin/hbbs
sudo chmod +x /usr/bin/hbbr
# Make folder /var/log/rustdesk-server/
if [ ! -d "/var/log/rustdesk-server" ]; then
echo "Creating /var/log/rustdesk-server"
sudo mkdir -p /var/log/rustdesk-server/
fi
sudo chown "${usern}" -R /var/log/rustdesk-server/
# Setup systemd to launch hbbs
rustdeskhbbs="$(cat << EOF
[Unit]
Description=RustDesk Signal Server
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/hbbs
WorkingDirectory=/var/lib/rustdesk-server/
User=${usern}
Group=${usern}
Restart=always
StandardOutput=append:/var/log/rustdesk-server/hbbs.log
StandardError=append:/var/log/rustdesk-server/hbbs.error
# Restart service after 10 seconds if node service crashes
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
)"
echo "${rustdeskhbbs}" | sudo tee /etc/systemd/system/rustdesk-hbbs.service > /dev/null
sudo systemctl daemon-reload
sudo systemctl enable rustdesk-hbbs.service
sudo systemctl start rustdesk-hbbs.service
# Setup systemd to launch hbbr
rustdeskhbbr="$(cat << EOF
[Unit]
Description=RustDesk Relay Server
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/hbbr
WorkingDirectory=/var/lib/rustdesk-server/
User=${usern}
Group=${usern}
Restart=always
StandardOutput=append:/var/log/rustdesk-server/hbbr.log
StandardError=append:/var/log/rustdesk-server/hbbr.error
# Restart service after 10 seconds if node service crashes
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
)"
echo "${rustdeskhbbr}" | sudo tee /etc/systemd/system/rustdesk-hbbr.service > /dev/null
sudo systemctl daemon-reload
sudo systemctl enable rustdesk-hbbr.service
sudo systemctl start rustdesk-hbbr.service
while ! [[ $CHECK_RUSTDESK_READY ]]; do
CHECK_RUSTDESK_READY=$(sudo systemctl status rustdesk-hbbr.service | grep "Active: active (running)")
echo -ne "RustDesk Relay not ready yet...${NC}\n"
sleep 3
done
pubname=$(find /var/lib/rustdesk-server/ -name "*.pub")
key=$(cat "${pubname}")
echo "Tidying up install"
if [ "${ARCH}" = "x86_64" ] ; then
rm rustdesk-server-linux-amd64.tar.gz
rm -rf amd64
elif [ "${ARCH}" = "armv7l" ] ; then
rm rustdesk-server-linux-armv7.tar.gz
rm -rf armv7
elif [ "${ARCH}" = "aarch64" ] ; then
rm rustdesk-server-linux-arm64v8.tar.gz
rm -rf arm64v8
fi
rm -rf "${tmp_dir:?}"/
# Choice for DNS or IP
PS3='Choose your preferred option, IP or DNS/Domain:'
WAN=("IP" "DNS/Domain")
select WANOPT in "${WAN[@]}"; do
case $WANOPT in
"IP")
wanip=$(dig @resolver4.opendns.com myip.opendns.com +short)
sudo ufw allow 21114/tcp
sudo ufw enable && ufw reload
break
;;
"DNS/Domain")
echo -ne "Enter your preferred domain/DNS address ${NC}: "
read wanip
# Check wanip is valid domain
if ! [[ $wanip =~ ^[a-zA-Z0-9]+([a-zA-Z0-9.-]*[a-zA-Z0-9]+)?$ ]]; then
echo -e "${RED}Invalid domain/DNS address${NC}"
exit 1
fi
echo "Installing nginx"
if [ "${ID}" = "debian" ] || [ "$OS" = "Ubuntu" ] || [ "$OS" = "Debian" ] || [ "${UPSTREAM_ID}" = "ubuntu" ] || [ "${UPSTREAM_ID}" = "debian" ]; then
sudo apt -y install nginx
sudo apt -y install python3-certbot-nginx
elif [ "$OS" = "CentOS" ] || [ "$OS" = "RedHat" ] || [ "${UPSTREAM_ID}" = "rhel" ] || [ "${OS}" = "Almalinux" ] || [ "${UPSTREAM_ID}" = "Rocky*" ] ; then
# openSUSE 15.4 fails to run the relay service and hangs waiting for it
# Needs more work before it can be enabled
# || [ "${UPSTREAM_ID}" = "suse" ]
sudo yum -y install nginx
sudo yum -y install python3-certbot-nginx
elif [ "${ID}" = "arch" ] || [ "${UPSTREAM_ID}" = "arch" ]; then
sudo pacman -S install nginx
sudo pacman -S install python3-certbot-nginx
else
echo "Unsupported OS"
# Here you could ask the user for permission to try and install anyway
# If they say yes, then do the install
# If they say no, exit the script
exit 1
fi
rustdesknginx="$(
cat <<EOF
server {
server_name ${wanip};
location / {
proxy_pass http://127.0.0.1:21114/;
}
}
EOF
)"
if [ -d "/etc/nginx/sites-available" ] && [ -d "/etc/nginx/sites-enabled" ]
then
echo "${rustdesknginx}" | sudo tee /etc/nginx/sites-available/rustdesk.conf >/dev/null
sudo ln -s /etc/nginx/sites-available/rustdesk.conf /etc/nginx/sites-enabled/rustdesk.conf
elif [ -d "/etc/nginx/conf.d" ]
then
echo "${rustdesknginx}" | sudo tee /etc/nginx/conf.d/rustdesk.conf >/dev/null
else
msg_box "Couldn't find the Nginx config directory. Please check your system!"
exit 1
fi
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable && ufw reload
sudo certbot --nginx -d "${wanip}"
break
;;
*) echo "Invalid option $REPLY";;
esac
done
echo -e "Your IP/DNS Address is ${wanip}"
echo -e "Your public key is ${key}"
echo -e "Restore is complete"

1
terms
View File

@@ -13,6 +13,7 @@ IMPORTANT: PLEASE READ THIS SOFTWARE LICENSE AGREEMENT ("LICENSE AGREEMENT") CAR
3. License Key: 3. License Key:
a) Purslane Limited will provide you with a unique license key ("License Key") to activate the Software on a specific server (machine). a) Purslane Limited will provide you with a unique license key ("License Key") to activate the Software on a specific server (machine).
b) You agree that the License Key provided to you by Purslane Limited will be used exclusively on the designated server (machine) and will not be shared, transferred, or used on any other server (machine) without explicit written permission from Purslane Limited. b) You agree that the License Key provided to you by Purslane Limited will be used exclusively on the designated server (machine) and will not be shared, transferred, or used on any other server (machine) without explicit written permission from Purslane Limited.
c) Reselling license and custom client are not allowed.
4. Term and Billing: 4. Term and Billing:
a) The license term for the Software shall be one (1) year, starting from the date of purchase. a) The license term for the Software shall be one (1) year, starting from the date of purchase.

View File

@@ -3,6 +3,13 @@
# shellcheck disable=2034,2059,2164 # shellcheck disable=2034,2059,2164
true true
TLS=""
if command -v ldconfig &> /dev/null; then
if ldconfig -p | grep -q "libssl.so.3"; then
TLS="-nativetls"
fi
fi
# Get username # Get username
usern=$(whoami) # not used btw ... yet usern=$(whoami) # not used btw ... yet
@@ -84,33 +91,37 @@ rm -rf static/
echo "Upgrading RustDesk Server" echo "Upgrading RustDesk Server"
if [ "${ARCH}" = "x86_64" ] ; then if [ "${ARCH}" = "x86_64" ] ; then
wget https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-amd64.tar.gz wget https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-amd64${TLS}.tar.gz
tar -xf rustdesk-server-linux-amd64.tar.gz tar -xf rustdesk-server-linux-amd64${TLS}.tar.gz
mv amd64/static /var/lib/rustdesk-server/ mv amd64${TLS}/static /var/lib/rustdesk-server/
sudo mv amd64/hbbr /usr/bin/ sudo mv amd64${TLS}/hbbr /usr/bin/
sudo mv amd64/hbbs /usr/bin/ sudo mv amd64${TLS}/hbbs /usr/bin/
rm -rf amd64/ sudo mv amd64${TLS}/rustdesk-utils /usr/bin/
rm -rf rustdesk-server-linux-amd64.tar.gz rm -rf amd64${TLS}/
rm -rf rustdesk-server-linux-amd64${TLS}.tar.gz
elif [ "${ARCH}" = "armv7l" ] ; then elif [ "${ARCH}" = "armv7l" ] ; then
wget "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-armv7.tar.gz" wget "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-armv7.tar.gz"
tar -xf rustdesk-server-linux-armv7.tar.gz tar -xf rustdesk-server-linux-armv7.tar.gz
mv armv7/static /var/lib/rustdesk-server/ mv armv7/static /var/lib/rustdesk-server/
sudo mv armv7/hbbr /usr/bin/ sudo mv armv7/hbbr /usr/bin/
sudo mv armv7/hbbs /usr/bin/ sudo mv armv7/hbbs /usr/bin/
sudo mv armv7/rustdesk-utils /usr/bin/
rm -rf armv7/ rm -rf armv7/
rm -rf rustdesk-server-linux-armv7.tar.gz rm -rf rustdesk-server-linux-armv7.tar.gz
elif [ "${ARCH}" = "aarch64" ] ; then elif [ "${ARCH}" = "aarch64" ] ; then
wget "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-arm64v8.tar.gz" wget "https://github.com/rustdesk/rustdesk-server-pro/releases/download/${RDLATEST}/rustdesk-server-linux-arm64v8${TLS}.tar.gz"
tar -xf rustdesk-server-linux-arm64v8.tar.gz tar -xf rustdesk-server-linux-arm64v8${TLS}.tar.gz
mv arm64v8/static /var/lib/rustdesk-server/ mv arm64v8${TLS}/static /var/lib/rustdesk-server/
sudo mv arm64v8/hbbr /usr/bin/ sudo mv arm64v8${TLS}/hbbr /usr/bin/
sudo mv arm64v8/hbbs /usr/bin/ sudo mv arm64v8${TLS}/hbbs /usr/bin/
rm -rf arm64v8/ sudo mv arm64v8${TLS}/rustdesk-utils /usr/bin/
rm -rf rustdesk-server-linux-arm64v8.tar.gz rm -rf arm64v8${TLS}/
rm -rf rustdesk-server-linux-arm64v8${TLS}.tar.gz
fi fi
sudo chmod +x /usr/bin/hbbs sudo chmod +x /usr/bin/hbbs
sudo chmod +x /usr/bin/hbbr sudo chmod +x /usr/bin/hbbr
sudo chmod +x /usr/bin/rustdesk-utils
sudo systemctl start rustdesk-hbbs.service sudo systemctl start rustdesk-hbbs.service
sudo systemctl start rustdesk-hbbr.service sudo systemctl start rustdesk-hbbr.service