====== 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