====== RustDesk Server Setup (free) ======
===== Configuration Files =====
**Do not use, these are just notes and they are wrong**
# hbbs Configuration
[hbbs]
addr = "0.0.0.0:21116"
password = "your_secure_password"
max_connections = 100
timeout = 30
[log]
level = "info"
file = "hbbs.log"
[tls]
enabled = true
cert_file = "/path/to/cert.pem"
key_file = "/path/to/key.pem"
# hbbr Configuration
[hbbr]
addr = "0.0.0.0:21117"
password = "your_secure_password"
max_connections = 100
timeout = 30
enable_file_transfer = true
[log]
level = "info"
file = "hbbr.log"
[tls]
enabled = true
cert_file = "/path/to/cert.pem"
key_file = "/path/to/key.pem"
# hbbs Configuration
# rust ID Server
# save as hbbs.toml
# hbbs --config /path/to/hbbs.toml
# The address and port for the ID server
addr = "0.0.0.0:21116" # Listen on all interfaces
# Optional: Set a password for the ID server
# password = "your_secure_password"
# Optional: limit maximum number of connections
# max_connections = "10"
# Optional: Sets a timeout for client connections
# timeout =
# Optional: Enable logging
[log]
level = "info" # Log level can be "debug", "info", "warn", "error"
file = "hbbs.log" # Log file path
# hbbr Configuration
# save as hbbr.toml
# hbbr --config /path/to/hbbr.toml
# The address and port for the relay server
addr = "0.0.0.0:21117" # Listen on all interfaces
# Optional: Set a password for the relay server
# password = "your_secure_password"
# Optional: Enable logging
[log]
level = "info" # Log level can be "debug", "info", "warn", "error"
file = "hbbr.log" # Log file path
# Optional: Enable TLS for secure connections
[tls]
enabled = true
cert_file = "/path/to/cert.pem" # Path to the certificate file
key_file = "/path/to/key.pem" # Path to the private key file
===== SysVInit =====
==== Startup script ====
This is not very good, but it works, so I'm including it. Running this requires you create the /var/log/rustdesk directory first
#! /usr/bin/env bash
# go into correct directory so we can find the key file
cd /opt/rustdesk
# start signal server
/opt/rustdesk/hbbs >>/var/log/rustdesk/signalserver.log 2>>/var/log/rustdesk/signalserver.error &
# start relay server
/opt/rustdesk/hbbr >>/var/log/rustdesk/relayserver.log 2>>/var/log/rustdesk/relayserver.error &
**Do Not Use, work in progress**
#!/bin/sh
### BEGIN INIT INFO
# Provides: hbbs
# Required-Start: $network
# Required-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Rust HBBS
### END INIT INFO
# Path to the executable
DAEMON=/opt/rustdesk/hbbs >>/var/log/rustdesk/signalserver.log 2>>/var/log/rustdesk/signalserver.error
DAEMON_NAME=hbbs
PIDFILE=/var/run/$DAEMON_NAME.pid
start() {
echo "Starting $DAEMON_NAME..."
if [ -f $PIDFILE ]; then
echo "$DAEMON_NAME is already running."
return 1
fi
$DAEMON &
echo $! > $PIDFILE
echo "$DAEMON_NAME started."
}
stop() {
echo "Stopping $DAEMON_NAME..."
if [ ! -f $PIDFILE ]; then
echo "$DAEMON_NAME is not running."
return 1
fi
kill $(cat $PIDFILE)
rm -f $PIDFILE
echo "$DAEMON_NAME stopped."
}
status() {
if [ -f $PIDFILE ]; then
echo "$DAEMON_NAME is running."
else
echo "$DAEMON_NAME is not running."
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
stop
start
;;
*)
echo "Usage: $0 {start|stop|status|restart}"
exit 1
;;
esac
exit 0