software:rust:server_devuan
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| software:rust:server_devuan [2025/09/18 09:34] – rodolico | software:rust:server_devuan [2025/09/29 16:51] (current) – rodolico | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== RustDesk Server on Devuan ====== | ====== RustDesk Server on Devuan ====== | ||
| - | <WRAP center round alert 60%> | + | <WRAP center round important |
| - | Warning. I am still editing this on 18 Sep 2025. Do not use these instructions until I have finished editing, then tested the procedure. This notice | + | The RustDesk Server must be accessible from any connecting clients |
| </ | </ | ||
| - | |||
| We use [[https:// | We use [[https:// | ||
| Line 11: | Line 10: | ||
| This article describes how to set up the Rust Server on Devuan, and may be helpful for other systems also. | This article describes how to set up the Rust Server on Devuan, and may be helpful for other systems also. | ||
| + | |||
| + | |||
| + | ===== Open Ports ===== | ||
| + | |||
| + | On your firewall/ | ||
| + | |||
| + | Following table shows what the ports are used for. | ||
| + | |||
| + | ^Port | ||
| + | | 21114 | HBBS (RustDesk server) | TCP | Default port for API (not required) | ||
| + | | 21115 | HBBS (RustDesk server) | TCP/UDP | Default port for the RustDesk server. | ||
| + | | 21116 | HBBS (RustDesk server) | TCP/UDP | Used for client connections to the server. | ||
| + | | 21117 | HBBS (RustDesk server) | TCP/UDP | Additional port for server communication. | ||
| + | | 21118 | HBBS (RustDesk server) | TCP/UDP | Another port for server communication. | ||
| + | | 21119 | HBBS (RustDesk server) | TCP/UDP | Used for additional server functionalities. | | ||
| + | | 80 | HTTP (optional fallback) | TCP | Commonly allowed port for web traffic; can be used for fallback. | | ||
| + | | 443 | HTTPS (optional fallback) | TCP | Secure web traffic; can be used for fallback | ||
| ===== Set up user ===== | ===== Set up user ===== | ||
| Line 28: | Line 44: | ||
| ===== Download Server ===== | ===== Download Server ===== | ||
| - | Open a web browser to https://github.com/ | + | This will download the latest version of RustDesk Server from their github |
| <code bash> | <code bash> | ||
| cd /tmp | cd /tmp | ||
| - | wget ###Paste the URL from above here### | + | LATEST=$(curl https:// |
| + | wget " | ||
| unzip rustdesk-server-linux-amd64.zip | unzip rustdesk-server-linux-amd64.zip | ||
| mv / | mv / | ||
| chown rust:rust / | chown rust:rust / | ||
| + | chmod 755 / | ||
| </ | </ | ||
| - | This will create | + | This will get three binary files in / |
| * hbbr - The relay server. If a direct P2P connection can not be made, this will be used to relay traffic between clients. | * hbbr - The relay server. If a direct P2P connection can not be made, this will be used to relay traffic between clients. | ||
| * hbbs - this is the " | * hbbs - this is the " | ||
| Line 50: | Line 68: | ||
| **Note**: The check is made in the current working directory, so you **must** run hbbs from within it's home directory (/ | **Note**: The check is made in the current working directory, so you **must** run hbbs from within it's home directory (/ | ||
| - | |||
| - | A way that gives you more control is to run the rustdesk-utils, | ||
| <code bash> | <code bash> | ||
| cd / | cd / | ||
| - | sudo -u rust ./ | + | echo Starting signaling server for testing. Press ^c to exit when you are happy |
| - | # verify they exist | + | |
| - | ls -ablph id_ed25519* | + | |
| - | # make them owned by the rust user | + | |
| - | chown rust:rust id_ed25519* | + | |
| sudo -u rust ./hbbs | sudo -u rust ./hbbs | ||
| - | # watch for errors, press ^c to leave. | ||
| echo Your key for the clients is | echo Your key for the clients is | ||
| cat id_ed25519.pub | cat id_ed25519.pub | ||
| echo To find this again at a later date, just run the command cat id_ed25519.pub | echo To find this again at a later date, just run the command cat id_ed25519.pub | ||
| - | </ | ||
| + | </ | ||
| ===== Set automatic run ===== | ===== Set automatic run ===== | ||
| Line 73: | Line 84: | ||
| Copy the following two files to /etc/init.d (Devuan), or wherever your init scripts are stored. By the way, I built these starting with the template at [[https:// | Copy the following two files to /etc/init.d (Devuan), or wherever your init scripts are stored. By the way, I built these starting with the template at [[https:// | ||
| + | |||
| + | Create the file / | ||
| <code bash hbbs> | <code bash hbbs> | ||
| Line 86: | Line 99: | ||
| ### END INIT INFO | ### END INIT INFO | ||
| - | dir="/ | + | dir="/ |
| - | cmd=" | + | cmd="/ |
| user=" | user=" | ||
| name=`basename $0` | name=`basename $0` | ||
| pid_file="/ | pid_file="/ | ||
| - | stdout_log="/ | + | stdout_log="/ |
| - | stderr_log="/ | + | stderr_log="/ |
| get_pid() { | get_pid() { | ||
| Line 174: | Line 187: | ||
| exit 0 | exit 0 | ||
| + | |||
| </ | </ | ||
| + | |||
| + | Create the file / | ||
| + | |||
| <code bash hbbr> | <code bash hbbr> | ||
| #!/bin/sh | #!/bin/sh | ||
| ### BEGIN INIT INFO | ### BEGIN INIT INFO | ||
| - | # Provides: | + | # Provides: |
| # Required-Start: | # Required-Start: | ||
| # Required-Stop: | # Required-Stop: | ||
| Line 188: | Line 205: | ||
| ### END INIT INFO | ### END INIT INFO | ||
| - | dir="/ | + | dir="/ |
| - | cmd=" | + | cmd="/ |
| user=" | user=" | ||
| name=`basename $0` | name=`basename $0` | ||
| pid_file="/ | pid_file="/ | ||
| - | stdout_log="/ | + | stdout_log="/ |
| - | stderr_log="/ | + | stderr_log="/ |
| get_pid() { | get_pid() { | ||
| Line 276: | Line 293: | ||
| exit 0 | exit 0 | ||
| + | |||
| </ | </ | ||
| Line 294: | Line 312: | ||
| If you made it through the last step with no errors, you should now be able to access the server from one of the clients. | If you made it through the last step with no errors, you should now be able to access the server from one of the clients. | ||
| + | ===== Set automatic log rotate ===== | ||
| + | |||
| + | Your logs can get quite large, so it is best to rotate them occassional. Devuan uses the logrotate script to do this for, and it is fairly simple to add a new definition in / | ||
| + | |||
| + | Following command will create the definition. It will rotate the hbbr/hbbs logs daily, keeping two weeks of logs. All logs except for the current one and the previous one will be compressed. | ||
| + | |||
| + | This is just one command. Just copy and paste it anywhere into the server. | ||
| + | |||
| + | <code bash rotatelogs> | ||
| + | cat << EOF > / | ||
| + | / | ||
| + | daily | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | service hbbr restart > /dev/null | ||
| + | service hbbs restart > /dev/null | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | } | ||
| + | EOF | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Links ===== | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
software/rust/server_devuan.1758206040.txt.gz · Last modified: 2025/09/18 09:34 by rodolico
