Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >RustDesk自建中继服务器篇(续)

RustDesk自建中继服务器篇(续)

作者头像
Qicloud-W
发布于 2023-03-07 06:55:00
发布于 2023-03-07 06:55:00
9.1K00
代码可运行
举报
文章被收录于专栏:七云's Blog七云's Blog
运行总次数:0
代码可运行

前言

12月29号,发了篇文章说了下Todesk 暴雷事件

https://cloud.tencent.com/developer/article/2235216 文章链接

其实本想鸽了这篇的,但是好几个博友催我出教程,其实官方文档写的很清楚,这里推荐使用pm2和docker 搭建中继,我这个人呢比较懒,之前搞了一堆docker 跑服务,emmmm管理很不方便,多年使用宝塔那玩意,网站运维节省了很多时间,也导致大多数宝塔用户产生了惰性吧。。。。一直骂这玩意辣鸡,一边又不想丢了,好了,说下我怎么建的吧

pm2管理器

RustDesk文档中提到 pm2 需要 nodejs v16+ 由于宝塔已经不再更新pm2管理器的插件了,直接网站入口选择nodejs 安装

然后直接装一手最新的LTS版本(稳定版),会自动安装pm2,安装好以后,设置命令行版本 为你刚装好的nodejs 就可以下载中继服务器所需的软件包了

软件包 https://github.com/rustdesk/rustdesk-server/releases

RustDesk官方已经给打包好了,直接拿来用就可以

选择好自己所需的版本文件,下载解压到你想要的位置

解压后得到三个文件 hbbs、hbbr、rustdesk-utils

由于使用宝塔的nodejs管理器创建太麻烦,索性命令行操作

首先使用pm2 -v命令和node -v 命令验证pm2 和nodejs是否安装好了

然后cd到你下载并解压到的目录

使用 pm2直接运行即可 由于我直接使用的默认的端口

如果你想选择 自己的端口 ,使用 “-h” 选项查看帮助。

禁止没有key的用户建立非加密连接 -k _

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pm2 start hbbs -- -k _
pm2 start hbbr -- -k _

开启之后可以使用 pm2 list 查看运行状态

如果不会使用pm2也没关系,这玩意贼简单 使用pm2 -h查看帮助

默认情况下,hbbs 监听21115(tcp), 21116(tcp/udp), 21118(tcp),hbbr 监听21117(tcp), 21119(tcp)。务必在防火墙开启这几个端口, 请注意21116同时要开启TCP和UDP 。其中21115是hbbs用作NAT类型测试,21116/UDP是hbbs用作ID注册与心跳服务,21116/TCP是hbbs用作TCP打洞与连接服务,21117是hbbr用作中继服务, 21118和21119是为了支持网页客户端。如果您不需要网页客户端(21118,21119)支持,对应端口可以不开。

  • TCP( 21115, 21116, 21117, 21118, 21119 )
  • UDP( 21116 )

在你云服务器那里放行过后,去宝塔安全里面放行端口即可

可以解析域名指向、也可以不用,直接使用ip,由于国内监管越来越严重,如果你使用国内服务器还是建议指向一个域名以防万一

客户端设置你的中继服务器

点击 ID 右侧的菜单按钮如下,选择“ ID/中继服务器”。 在 ID 服务器输入框中(被控端+主控端)输入 hbbs 主机或 ip 地址,另外两个地址可以不填,RustDesk会自动推导(如果没有特别设定),中继服务器指的是hbbr(21117)端口。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hbbs.example.com

或者带上端口

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hbbs.example.com:21116

查看log

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
pm2 log hbbr
pm2 log hbbs

为了方便每次发给别人进行链接使用免配置,官方也给出了相应的解决方法

把配置放在可执行文件名里 (Windows )

rustdesk.exe 修改为 rustdesk-host=<host-ip-or-name>,key=<public-key-string>.exe, 例如: rustdesk-host=192.168.1.137,key=xfdsfsd32=32.exe,你可以在关于窗口看到配置结果

host可以是域名,不能添加<>两个符号

en,本篇文章就结束了 如果有问题,那就先百度,如果百度没有,请联系开发者,如果你想很快解决,也可以请我抽包烟我帮你看看,债见

版权属于:七云‘s Blog

本文链接:https://cloud.tencent.com/developer/article/2235220

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
流畅的Python 5. 函数
文章目录 1. 函数对象 2. 高阶函数 3. 匿名函数 4. 可调用函数 5. 定位参数、仅限关键字参数 6. 获取参数信息 7. 函数注解 8. 支持函数式编程的包 1. 函数对象 def factorial(n): ''' returns n! n的阶乘 ''' return 1 if n < 2 else n * factorial(n - 1) print(factorial(42)) print(factorial.__doc__) # returns n
Michael阿明
2021/09/06
3430
python tag生成html标签脚本
def tag(name, *content, cls=None, **attrs): """生成一个或多个HTML标签""" if cls is not None: attrs['class'] = cls if attrs: attr_str = ''.join(' %s="%s"' % (attr, value) for attr, value in sorted(attrs.items())) else: attr_str = '' if content: return '\n'.join('<%s%s>%s</%s>' % (name, attr_str, c, name) for c in content) else: return '<%s%s />' % (name, attr_str)
用户5760343
2019/08/02
1.3K0
python的inspect模块
inspect.signature(fn)将返回一个inspect.Signature类型的对象,值为fn这个函数的所有参数
周小董
2019/03/25
1.9K0
《流畅的Python》第五章学习笔记
一个计算a+b的函数,我们把它其中的一个入参固定为3,这样我们只需要传入一个参数就可以计算了
zx钟
2020/12/24
5030
8-函数类型详解
在python中函数(function)或方法(method)的参数类型有哪些,每种参数类型要怎么传参才能调用,默认参数要怎么设置才算合理。在python有一个标准模块inspect, 主要提供了四种用处:
用户3106371
2019/03/11
5150
python 函数
None <code object tag at 0x000001902D2EA1E0, file "D:/file/python/today/today.py", line 1> ('name', 'cls', 'content', 'attrs') 1
用户5760343
2019/08/02
8770
干货分享 | Python练手 "小例子" 闯关60题!
int(x, base =10) , x可能为字符串或数值,将x 转换为一个普通整数。如果参数是字符串,那么它可能包含符号和小数点。如果超出了普通整数的表示范围,一个长整数被返回。
用户6888863
2021/07/19
4050
Python廖雪峰实战web开发(Day5-编写web框架)
因为复杂的Web应用程序,光靠一个WSGI(Web Server Gateway Interface)函数来处理还是太底层了,我们需要在WSGI之上再抽象出Web框架(比如Aiohttp、Django、Flask等),从而进一步简化Web开发。
用户7886150
2020/12/31
1.2K0
Python函数参数和注解是什么
⑥字典前加上**,其所有元素作为单个参数传入,同名键会绑定到对应具名参数上,余下的被**args捕获。
dongfanger
2021/04/13
6970
python 对传参进行参数检查的装饰器
首先,装饰器只会在函数定义时被调用一次。 有时候你去掉装饰器的功能,那么你只需要简单的返回被装饰函数即可。 下面的代码中,如果全局变量 debug 被设置成了False(当你使用-O或-OO参数的优化模式执行程序时), 那么就直接返回未修改过的函数本身:
用户5760343
2019/12/12
9900
有人说 Python 不支持函数重载?
众所周知,Python 是动态语言,所谓动态语言,就是变量的类型是动态的,程序运行期间变量类型可以随意变化,由于 Python 的变量是没有固定类型的,而函数重载却依赖变量类型,重载就是定义多个同名函数,但这些同名函数的参数类型不同,传入不同类型的参数时执行与之对应的函数。
somenzz
2021/11/04
7080
每天一道 python 面试题 - Python中的元类(metaclass) 详细版本
在理解元类之前,您需要掌握Python的类。Python从Smalltalk语言中借用了一个非常特殊的类概念。
公众号---人生代码
2020/05/16
4860
获取Python函数信息的方法
Python的反射机制可以动态获取对象信息以及动态调用对象,本文介绍如何获取对象中的函数注释信息以及参数信息。
Python学习者
2023/04/14
6830
python高级之描述器
描述器用到的方法     用到3个魔术方法: __get__()、__set__()、__delete__()     方法使用格式:         obj.__get__(self, instance, owner)         obj.__set__(self, instance, value)         obj.__delete__(self, instance)     self: 指当前类的实例本身     instance: 指owner的实例     owner: 指当前实例作为
py3study
2020/01/14
4410
Python 元类(Meta Class):解密 Python 面向对象编程的幕后推手
在 Python 编程中,我们每天都在和类打交道,但是你是否也和我一样想过:类本身是什么?是谁创建了类?元类(Meta Class)就是用来创建类的"类"。今天让我们一起深入理解这个强大而神秘的特性。
Piper破壳
2024/12/13
1880
Python装饰器实现函数动态类型检查
类型检查主要使用了inspect库。本次代码运行环境是python3.5.2。inspect库的使用方法在下面介绍。
职场亮哥
2020/10/10
8630
py3_cookbook_notes_02
最近在看Python Cookbook第三版,将看书过程中一些平时不太容易注意的知识点记录下来。 函数 可接受任意数量参数的函数 def avg(first, *rest): return (first + sum(rest)) / (1 + len(rest)) # Sample use avg(1, 2) # 1.5 avg(1, 2, 3, 4) # 2.5 import html def make_element(name, value, **attrs): keyvals =
jeremyxu
2018/05/11
1.3K0
python笔记76-types.FunctionType 动态创建函数
FunctionType 需传一个CodeType 类型,可以从compile() 函数编译后的code取出编译后的code 类型
上海-悠悠
2023/01/03
5080
python笔记76-types.FunctionType 动态创建函数
python 学习-打开潘多拉的魔盒-元类(metaclass)学习
在 Python 里面大家都比较熟悉了,通过 class 关键字创建一个类,这是通过硬编码来实现的。 那么如何动态创建一个类呢,如果给一批数据,让它动态生成一个类?
上海-悠悠
2023/08/22
2830
python 学习-打开潘多拉的魔盒-元类(metaclass)学习
【转载】Python自省
原文作者: AstralWind 出处:博客园 原文链接:https://www.cnblogs.com/huxi/archive/2011/01/02/1924317.html
用户7886150
2020/12/29
7120
推荐阅读
相关推荐
流畅的Python 5. 函数
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验