From c33220f6b707e5d3a59937227430a49417390814 Mon Sep 17 00:00:00 2001 From: dhruv Date: Thu, 20 Nov 2025 23:35:54 +0530 Subject: [PATCH] Add 6_final_fix_of_rustdesk_client_port.sh --- 6_final_fix_of_rustdesk_client_port.sh | 98 ++++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 6_final_fix_of_rustdesk_client_port.sh diff --git a/6_final_fix_of_rustdesk_client_port.sh b/6_final_fix_of_rustdesk_client_port.sh new file mode 100644 index 0000000..3d317b8 --- /dev/null +++ b/6_final_fix_of_rustdesk_client_port.sh @@ -0,0 +1,98 @@ + +sudo tee /etc/nginx/streams-enabled/rustdesk.conf >/dev/null <<'EOF' +# --- hbbs (ID) defaults --- +server { listen 21115; proxy_pass 192.168.1.202:21115; proxy_timeout 10m; } +server { listen 21116; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; } +server { listen 21116 udp reuseport; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; } + +# --- hbbr (relay) default --- +server { listen 21117; proxy_pass 192.168.1.202:21117; proxy_timeout 10m; } + +# --- your custom extras (keep if you use them) --- +server { listen 21118; proxy_pass 192.168.1.202:21118; proxy_timeout 10m; } +server { listen 21119; proxy_pass 192.168.1.202:21119; proxy_timeout 10m; } +EOF +``` :contentReference[oaicite:2]{index=2} + +But because nginx fails at the `stream { ... }` line in `nginx.conf`, this whole file is never used. So: + +- **HTTPS / HTTP proxy** for `github.generalinfinity.cloud` works (pure HTTP servers in `sites-available/lan-proxy.conf`). :contentReference[oaicite:3]{index=3} +- **RustDesk (id / relay)** needs the **stream module** and the `rustdesk.conf` stream servers → those are dead right now. + +On your *other* Ubuntu machine, you probably already had `libnginx-mod-stream` or `nginx-full` installed earlier, so `stream` existed and the same scripts worked. On this fresh box, only `nginx` was installed, so no stream module. + +--- + +## 3. Concrete “one-paste” fix (run on the PROXY box) + +Run this on the machine that should act as the **proxy** for: + +- `github.generalinfinity.cloud` (already working) +- `id.generalinfinity.cloud` (RustDesk ID) +- `relay.generalinfinity.cloud` (RustDesk relay) + +```bash +#!/usr/bin/env bash +set -Eeuo pipefail + +############################################################################### +# 0) Install Nginx stream module + nc (if not already) +############################################################################### +sudo apt update +sudo apt install -y libnginx-mod-stream netcat-openbsd + +############################################################################### +# 1) Ensure streams-enabled dir + top-level stream block +############################################################################### +sudo mkdir -p /etc/nginx/streams-enabled + +# Remove any old stream{} block and append a clean one at top level +sudo sed -i '/^\s*stream\s*{/,/^\s*}\s*$/d' /etc/nginx/nginx.conf +sudo tee -a /etc/nginx/nginx.conf >/dev/null <<'EOF' + +stream { + include /etc/nginx/streams-enabled/*.conf; +} +EOF + +############################################################################### +# 2) RustDesk L4 proxies to your hbbs/hbbr box (192.168.1.202) +############################################################################### +sudo tee /etc/nginx/streams-enabled/rustdesk.conf >/dev/null <<'EOF' +# --- hbbs (ID) defaults --- +server { listen 21115; proxy_pass 192.168.1.202:21115; proxy_timeout 10m; } +server { listen 21116; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; } +server { listen 21116 udp reuseport; proxy_pass 192.168.1.202:21116; proxy_timeout 10m; } + +# --- hbbr (relay) default --- +server { listen 21117; proxy_pass 192.168.1.202:21117; proxy_timeout 10m; } + +# --- your custom extras (keep if you use them) --- +server { listen 21118; proxy_pass 192.168.1.202:21118; proxy_timeout 10m; } +server { listen 21119; proxy_pass 192.168.1.202:21119; proxy_timeout 10m; } +EOF + +############################################################################### +# 3) Fix ufw rules for RustDesk ports (split per port) +############################################################################### +sudo ufw allow 21115/tcp +sudo ufw allow 21116/tcp +sudo ufw allow 21116/udp +sudo ufw allow 21117/tcp +sudo ufw allow 21118/tcp +sudo ufw allow 21119/tcp + +############################################################################### +# 4) Test nginx config and reload +############################################################################### +sudo nginx -t +sudo systemctl reload nginx + +############################################################################### +# 5) Verify listeners on this proxy +############################################################################### +sudo ss -tulpen | grep -E ':(21115|21116|21117|21118|21119)\b' || echo "no listeners" + +echo "Now test from a client:" +echo " nc -vz id.generalinfinity.cloud 21116" +echo " nc -vz relay.generalinfinity.cloud 21117"