1Panel自建RustDesk服务器方案实现Windows远程macOS
文章目录
- 缘起
- RustDesk 基本信息
- 实现原理
- 中继服务器的配置建议
- 中继服务器自建指南
- 准备服务器
- 安装1Panel
- 安装和配置 RustDesk 中继服务
- 防火墙配置和安全组配置
- 查看key
- 下载&安装&配置客户端
- 设置永久密码
- 测试连接
- macOS安装客户端提示finder写入失败
- hbbs和hbbr说明
- **hbbs - RustDesk ID 服务器**
- **hbbr - RustDesk 中继服务器**
- **使用建议**
缘起
设备繁多屏太少, 独用不便费周章。
综合共享更划算, VNC 延迟令人慌。
三方工具价高昂, 自建方案解愁肠。
中继自设稳如磐, 远程操控心不忙。
RustDesk 基本信息
- RustDesk 是一款开源的远程桌面软件,支持跨平台操作(Windows、macOS、Linux、Android、iOS 等)。它的核心特点是轻量、高效、安全,且支持自建中继服务器,确保用户数据的隐私和安全性。
实现原理
- P2P 连接:RustDesk 优先尝试通过 P2P(点对点)方式建立连接,这种方式延迟低、速度快。如果双方设备位于同一局域网或 NAT 穿透成功,则直接通过 P2P 传输数据。
- 中继服务器:如果 P2P 连接失败(例如由于 NAT 或防火墙限制),RustDesk 会通过中继服务器进行数据传输。中继服务器负责转发双方的通信数据,确保连接成功。
- 加密通信:所有数据传输都经过加密,确保通信的安全性。
中继服务器的配置建议
- 最低配置的 VPS 足以满足您的使用需求。服务器软件对 CPU 和内存的要求并不高。
- 我们托管在 Vultr 服务器(2 CPU/4 GB)上的公共 ID 服务器能够为超过 100 万个终端提供服务。每个中继连接平均消耗 180 KB/秒的带宽。
- 1 个 CPU 核心和 1G 内存足以支持 1000 个并发中继连接。
中继服务器自建指南
准备服务器
- 选择一台云服务器或物理服务器,确保其具备公网 IP 和足够的带宽(带宽要求很低,基本可以忽略不计)。
- 安装 Linux 操作系统(如 Ubuntu、CentOS 等)。
安装1Panel
- 1Panel安装指南地址,根据不同的系统执行响应的命令,安装过程配置相关要求,然后访问控制面板,使用设置的用户登录。
- 如果无法访问,请在防火墙服务器默认安全组中开放1panel面板的访问端口,类型为TCP类型
安装和配置 RustDesk 中继服务
防火墙配置和安全组配置
- 除了开放之前1Panel面板访问端口外,防火墙配置和安全组配置还需开放以下端口,两者必须都开放
- TCP端口:21115-21119
- UDP端口:21116
查看key
下载&安装&配置客户端
- 控制端和被控端都要安装客户端,配置内容相同
- rustdesk GitHub下载地址,需要魔法环境,或者能打开页面复制下载链接,使用代理加速网站下载
- 安装完成后,打开rust desk,配置完整安装(具体不再接受,打开你就能看到,软件提示很清楚)
- 配置中继服务器IP和Key,确定提示成功,首页显示就绪即可
设置永久密码
测试连接
macOS安装客户端提示finder写入失败
- 可能是安装包下载时损坏,重新下载安装即可
hbbs和hbbr说明
hbbs
和hbbr
是 RustDesk 的核心服务器组件,分别用于 ID 服务器和中继服务器的功能。
hbbs - RustDesk ID 服务器
-
hbbs
是 RustDesk 的 ID 服务器,负责设备的注册、发现和信令传输。它监听以下端口: -
TCP 端口:
- 21114:用于 HTTP 通信(仅在 Pro 版本中启用)。
- 21115:用于 TCP 通信。
- 21116:用于 WebSocket 通信。
- 21118:用于 WebSocket 通信。
-
UDP 端口:
- 21116:用于 UDP 通信。
hbbs
的主要功能包括:
- 管理设备的唯一 ID 和连接信息。
- 处理设备的注册和发现请求。
- 提供信令服务,帮助设备建立 P2P 连接。
hbbr - RustDesk 中继服务器
hbbr
是 RustDesk 的中继服务器,负责在无法建立 P2P 连接时转发数据。它监听以下端口:- TCP 端口:
- 21117:用于 TCP 通信。
- 21119:用于 WebSocket 通信。
hbbr
的主要功能包括:
- 在设备之间无法直接连接时,作为中继转发数据。
- 确保远程控制会话的稳定性和流畅性。
使用建议
-
端口开放:
- 确保服务器防火墙开放上述端口,以便客户端能够正常连接。
- 如果使用云服务器,还需在云服务商的安全组中开放这些端口。
-
性能优化:
hbbs
和hbbr
对资源要求较低,1 核 CPU 和 1GB 内存即可支持大量并发连接。- 根据实际需求调整服务器的带宽和性能配置。
相关文章:

1Panel自建RustDesk服务器方案实现Windows远程macOS
文章目录 缘起RustDesk 基本信息实现原理中继服务器的配置建议 中继服务器自建指南准备服务器安装1Panel安装和配置 RustDesk 中继服务防火墙配置和安全组配置查看key下载&安装&配置客户端设置永久密码测试连接 macOS安装客户端提示finder写入失败hbbs和hbbr说明**hbbs…...

STM32完全学习——使用定时器1精确延时
一、定时器的相关配置 首先一定要是递减定时器,递增的不太行,控制的不够准确,其次在大于10微秒的延时是非常准确的,小于的话,就没有那没准,但是凑合能用。误差都在一个微秒以内。使用高级定时器也就是时钟…...

深度学习——损失函数汇总
1. 连续值损失函数 总结:主要使用胡贝儿损失函数,应用于连续数值的预测之间的误差损失,参考地址 import torch import torch.nn as nna = torch.tensor([[1, 2], [3, 4]], dtype=torch.float) b = torch.tensor([[3, 5], [8, 6]], dtype=torch.float)loss_fn1 = torch.nn.M…...

1、单片机寄存器-io输入实验笔记
1、硬件 时钟总线如下: PB端口挂载在AHB1总线上,因此要对该位进行使能。 引脚 LED0和LED1挂载在PB0和PB1上:推挽输出、100M、 上拉默认高电平,低电平点亮。 2、软件 位带操作 #ifndef _IO_BIT_H_ #define _IO_BIT_H_#define …...

记忆旅游系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库可…...
CentOS7下的 OpenSSH 服务器和客户端
目录 1. 在 IP 地址为 192.168.98.11 的 Linux 主机上安装 OpenSSH 服务器; 2. 激活 OpenSSH 服务,并设置开机启动; 3. 在 IP 地址为 192.168.98.22 的 Linux 主机上安装 OpenSSH 客户端,使用客户端命令(ssh、 scp、…...

RabbitMQ基础篇之Java客户端 Topic交换机
文章目录 Topic 交换机概述 Routing Key 与 Binding Key优缺点及场景优点缺点应用场景 案例演示创建队列和交换机:消费者代码:消息发送代码:测试: 总结 Topic 交换机概述 路由机制: Topic交换机与Direct交换机类似&am…...
微服务-Sentinel新手入门指南
微服务为什么要使用流控降级组件 为了提高系统运行期间的稳定性和可用性 在微服务环境下,服务之间存在复杂的调用关系,单个服务的故障或过载可能会迅速影响到整个系统,导致服务雪崩效应。流控组件可以限制进入系统的流量,防止系…...

传统听写与大模型听写比对
在快节奏的现代生活中,听写技能仍然是学习语言和提升认知能力的重要环节。然而,传统的听写练习往往枯燥乏味,且效率不高。现在,随着人工智能技术的发展,大模型听写工具的问世,为传统听写带来了革命性的变革…...
http性能测试命令ab
华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...
前端:轮播图常见的几种实现方式
目录 前言 一、轮播图是什么? 二、实现方法 1.使用纯 HTML、CSS、JavaScript 实现 2.使用组件来快速实现 总结 前言 在学习前端的过程中,总是有要实现轮播图效果的时候,本文就介绍了轮播图常见的几种实现方式。 一、轮播图是什么?…...

Pytest基础01: 入门demo脚本
目录 1 Pytest接口测试 1.1 最简单版hello world 1.2 pytest.ini 2 pytest兼容unittest 3 封装pytest执行入口 1 Pytest接口测试 Pyest是一个可以用于接口测试的强大框架,开源社区也有非常多的pytest插件。 按江湖传统,学习一个新语言或者新框架&…...

ruoyi 多租户 开启后针对某一条sql不适用多租户; 若依多租户sql规则修改
文章参考:多租户功能 | Ruoyi-TDesign 忽略租户 1.如果需要指定单独 SQL 不开启过滤,可在对应的 Mapper 接口添加如下忽略注解: InterceptorIgnore(tenantLine "true", dataPermission "false") 此处注意事项 使…...

driftingblues6靶机
打开靶场 查看页面源代码,最下面有一个注释,提供了一个网址 vmlist.github.io,我们去访问一下 这里是一个github页面,提供攻防虚拟机的下载,对我们解题并没有什么有用的信息,我们再去扫描端口 发现只有80端…...

Neo4j GDS 2.0 安装与配置
Neo4j GDS 2.0 安装与配置 GDS插件安装:Neo4j官方文档 1. GDS简介 Neo4j Graph Data Science (GDS) 库作为 Neo4j Graph Database 的插件提供。该插件需要安装到数据库中并在 Neo4j 配置中列入白名单。有两种主要方法可以实现这一点,我们将在本章中详…...

A*算法与人工势场法结合的路径规划(附MATLAB源码)
A*算法与人工势场法(APF)结合实现路径规划 路径规划是机器人、无人机及自动驾驶等领域中的一个重要问题。本文结合了经典的 A* 算法与 人工势场法(Artificial Potential Field, APF),实现了一种改进的路径规划方法。下…...

BootstrapTable处理表格
需求背景 历史项目使用 BootstrapTable 作为前端组件 应客户需要调整: 冻结前四列对于大文本文字显示部分内容,鼠标悬浮显示完整内容 冻结列 1、引入相关CSS,JS CSS <link rel"stylesheet" href"/css/bootstrap.min.css"> …...
UniApp 打开文件工具,获取文件类型,判断文件类型
注意:以下代码使用 typeScript 开发,如果想在 js 中使用,可参考 npm 已经发布的包:https://www.npmjs.com/package/uni-easy-file NPM 使用 如果想直接在 npm 项目中使用可以直接执行以下命令 npm i uni-easy-file然后直接使用 …...

docker-开源nocodb,使用已有数据库
使用已有数据库 创建本地数据库 数据库:nocodb 用户:nocodb 密码:xxxxxx修改docker-compose.yml 默认网关的 IP 地址是 172.17.0.1(适用于 bridge 网络模式)version: "2.1" services:nocodb:environment:…...

Mysql COUNT() 函数详解
简介 COUNT()函数定义 COUNT()函数是SQL中常用的 聚合函数 ,用于统计满足特定条件的记录数。它可以灵活地应用于各种查询场景,帮助用户快速获取所需的数据统计信息。该函数不仅能够计算所有行的数量,还能针对特定列进行计数,并支…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...

Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)
引言 在人工智能飞速发展的今天,大语言模型(Large Language Models, LLMs)已成为技术领域的焦点。从智能写作到代码生成,LLM 的应用场景不断扩展,深刻改变了我们的工作和生活方式。然而,理解这些模型的内部…...

[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
基于鸿蒙(HarmonyOS5)的打车小程序
1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
iOS 应用的发布流程一直是开发链路中最“苹果味”的环节:强依赖 Xcode、必须使用 macOS、各种证书和描述文件配置……对很多跨平台开发者来说,这一套流程并不友好。 特别是当你的项目主要在 Windows 或 Linux 下开发(例如 Flutter、React Na…...
深入解析 ReentrantLock:原理、公平锁与非公平锁的较量
ReentrantLock 是 Java 中 java.util.concurrent.locks 包下的一个重要类,用于实现线程同步,支持可重入性,并且可以选择公平锁或非公平锁的实现方式。下面将详细介绍 ReentrantLock 的实现原理以及公平锁和非公平锁的区别。 ReentrantLock 实现原理 基本架构 ReentrantLo…...

java 局域网 rtsp 取流 WebSocket 推送到前端显示 低延迟
众所周知 摄像头取流推流显示前端延迟大 传统方法是服务器取摄像头的rtsp流 然后客户端连服务器 中转多了,延迟一定不小。 假设相机没有专网 公网 1相机自带推流 直接推送到云服务器 然后客户端拉去 2相机只有rtsp ,边缘服务器拉流推送到云服务器 …...

SOC-ESP32S3部分:30-I2S音频-麦克风扬声器驱动
飞书文档https://x509p6c8to.feishu.cn/wiki/SKZzwIRH3i7lsckUOlzcuJsdnVf I2S简介 I2S(Inter-Integrated Circuit Sound)是一种用于传输数字音频数据的通信协议,广泛应用于音频设备中。 ESP32-S3 包含 2 个 I2S 外设,通过配置…...