首页
About
友情链接
Search
1
RustDesk远程桌面工具自建服务器教程
2,466 阅读
2
V2ray配置文件翻译
1,617 阅读
3
draw.io(diagrams.net) - 免费开源全平台绘图软件
1,266 阅读
4
Android 11 中的软件包可见性
1,151 阅读
5
Windows常用软件
985 阅读
Uncategorized
Software
Android
Linux
Communist Party of China
Docker
Windows
Tools
登录
Search
Leon
累计撰写
36
篇文章
累计收到
52
条评论
首页
栏目
Uncategorized
Software
Android
Linux
Communist Party of China
Docker
Windows
Tools
页面
About
友情链接
搜索到
2
篇与
Tools
的结果
2022-11-03
RustDesk远程桌面工具自建服务器教程
RustDesk远程桌面工具自建服务器教程同心抗疫,共度时艰。简介RustDesk,工具如其名,基于高效的Rust语言构建的开源远程桌面工具。优势:(1)轻量:不论服务端还是客户端、不论哪个平台,软件小巧、功能完备。(2)全平台支持:支持Android、Linux、Windows任意双向控制,iOS单向控制。(3)安全可控:软件开源,服务端自建,通信加密。(4)带宽高效:仅需2-3M即可流畅1080P,支持TCP打洞端对端P2P连接。RustDesk官网:https://rustdesk.com/zh/GitHub:https://github.com/rustdesk/rustdesk运行原理RustDesk自建服务器运行原理自建服务器免费的公共服务器非常卡,在国内也许网速会很慢或者无法访问。RustDesk的优势在于可以使用自己的服务器,推荐使用国内主流云产品厂商,个人使用的腾讯云搭建服务器,价格不贵可以接受,相比于远程流畅度来说物超所值,且服务器唯自己所有,不用担心第三方远控软件造成的信息安全问题。这里总结了腾讯云的最新优惠产品(含有推广链接,可自行去推广):腾讯云云产品特惠专区如果有兴趣和能力也可以自己搭建物理服务器,或者使用内网穿透在自己电脑上搭建服务器,这里不再赘述。服务器要求硬件要求很低,最低配置的云服务器就可以了,CPU和内存要求都是最小的。关于网络大小,如果控制端和被控端位于同一网段下时,不需要通过 relay server 中转,直接建立内网链接。如果TCP打洞直连失败,就要耗费中继流量,一个中继连接的流量在30k-3M每秒之间(1920x1080屏幕),取决于清晰度设置和画面变化。如果只是办公需求,平均在100K/s。非直连情况下,播放全屏视频(1920x1080屏幕)实测近两分钟,带宽平均占用1.3Mbps左右。Docker部署在Docker部署和常规部署之间选择一个即可。Linux/amd64sudo docker image pull rustdesk/rustdesk-server sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbs -r <relay-server-ip[:port]> sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server hbbrLinux/arm64v8sudo docker image pull rustdesk/rustdesk-server:latest-arm64v8 sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbs -r <relay-server-ip[:port]> sudo docker run --name hbbr -p 21117:21117 -p 21119:21119 -v `pwd`:/root -td --net=host rustdesk/rustdesk-server:latest-arm64v8 hbbr据我所知,–net=host 仅适用于 Linux,它让 hbbs/hbbr 可以看到对方真实的ip, 而不是固定的容器ip (172.17.0.1)。 如果–net=host运行正常,-p选项就不起作用了, 可以去掉。请去掉 –net=host,如果您在非Linux系统上遇到无法连接的问题常规部署直接运行This content is only supported in a ThunderSoft Docs在服务器上运行 hbbs/hbbr (Centos 或 Ubuntu)。./hbbs -r <hbbr运行所在主机的地址[:port]> ./hbbr默认情况下,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)端口号协议程序用途锚点21115tcpHBBSNAT类型测试 21116tcp/udpHBBSTCP 打洞与连接服务/UDP ID注册与心跳服务HBBS锚点21117tcpHBBR中继服务HBBR锚点21118tcpHBBSWebSocket服务 21119tcpHBBRWebSocket转发 如果你想选择自己的端口,使用 “-h” 选项查看帮助。守护进程至此我们的自建服务器已经运行起来了,至此服务器完全可以使用RustDesk,但你会发现当你退出了服务器远程连接,服务器就自动停掉了,所以我们还需要将自建服务器的进程守护起来。在pm2和systemd之间选择一个即可,建议使用systemd。使用 pm2pm2 start hbbs -- -r <relay-server-ip[:port]> pm2 start hbbr pm2 需要 nodejs v16+,如果你运行 pm2 失败(例如在 pm2 list 中看不到 hbbs/hbbr),请从 https://nodejs.org 下载并安装 LTS 版本的 nodejs。 如果你想让 hbbs/hbbr 在重启后自动运行,请查看 pm2 save 和 pm2 startup。 更多关于 pm2。另一个不错的日志工具是 pm2-logrotate。hhbs的-r参数不是必须的,他只是方便你不用在客户端指定中继服务器,如果是默认21117端口,可以不填port。客户端指定的中继服务器优先级高于这个。使用 systemd官方建议使用PM2守护进程,如果你的主机没有其它使用Node.js工具的需求,只需要使用systemd来管理服务即可!HBBS解压出来的hbbs文件先通过chmod +x hbbs赋予可执行权限,先运行一次./hbbs,生成用于客户端认证使用的公钥id_ed25519.pub,随后用cat id_ed25519.pub命令查看公钥并记下。然后通过喜欢的编辑器编辑/etc/systemd/system/hbbs.service,将用于参考的以下配置根据需要进行修改并保存,这时也要将强制校验密钥以-k _参数写入启动命令中。# systemd配置路径 # /etc/systemd/system/hbbs.service [Unit] Description=Rust Desk Service After=network.target [Service] Type=simple User=root Restart=on-failure RestartSec=5s #设置运行路径 WorkingDirectory=/*程序路径*/rustdesk #可修改锚点端口,当前为21116(锚点)和21115(锚点-1)和21118(锚点+2) #-r用于指定网卡IP(适用多网卡),-k参数用于强制校验客户端公钥,用于避免未授权的使用 ExecStart=/*程序路径*/rustdesk/hbbs -r 0.0.0.0 -p 21116 -k _ [Install] WantedBy=multi-user.targetHBBR解压出来的hbbr文件先通过chmod +x hbbr赋予可执行权限,然后通过喜欢的编辑器编辑/etc/systemd/system/hbbr.service,将用于参考的以下配置根据需要进行修改并保存,同样将密钥校验以-k _参数写入启动命令中。# systemd配置路径 # /etc/systemd/system/hbbr.service [Unit] Description=Rust Desk Service After=network.target [Service] Type=simple User=root Restart=on-failure RestartSec=5s #设置运行路径 WorkingDirectory=/*程序路径*/rustdesk #可修改锚点端口,当前为21117(锚点)和21119(锚点+2) #-k参数用于强制校验客户端公钥,用于避免未授权的使用 ExecStart=/*程序路径*/rustdesk/hbbr -p 21117 -k _ [Install] WantedBy=multi-user.targetservice设置好后,即可通过service hbbs start和service hbbr start来启动这两项服务,启动后可以通过service hbbs status和service hbbr status查看进程的运行状态,显示绿色的Active即无误。一切准备就绪后即可通过systemctl enable hbbs和systemctl enable hbbr允许它们开机自启。端口放行在腾讯云服务器上,进入服务器详情->防火墙->添加规则,然后编辑相应端口和规则即可,不必关心以下指令。如果恰好你有能力搭建了一台物理主机,则需要你手动设置防火墙规则,iptables、firewalld、ufw的命令分别如下,其中的端口请按照你的设置的进行放行(默认21115-21117),这里需要注意hbbs锚点端口必须同时放行tcp和udp。#CentOS firewalld firewall-cmd --zone=public --add-port=21115/tcp --permanent firewall-cmd --zone=public --add-port=21116/tcp --permanent firewall-cmd --zone=public --add-port=21116/udp --permanent firewall-cmd --zone=public --add-port=21117/tcp --permanent #Debian/Ubuntu ufw ufw allow 21115/tcp ufw allow 21116/tcp ufw allow 21116/udp ufw allow 21117/tcp #iptables iptables -I INPUT 1 -p tcp --dport 21115 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 21116 -j ACCEPT iptables -I INPUT 1 -p udp --dport 21116 -j ACCEPT iptables -I INPUT 1 -p tcp --dport 21117 -j ACCEPT iptables-save //保存(解决重启失效)客户端连接ID服务器填写你的服务器IP地址:21116中继服务器填写你的服务器IP地址:21117随后你只需要使用ID和密码即可使用自建服务器的RustDesk。开机自启在我们远程控制主机时,可能不得不完成重启的操作,远控软件不自启可不行,那么接下来我们一起来配置一下自启。编辑文本文档 rustdesk.service[Unit] Description=RustDesk Requires=network.target After=systemd-user-sessions.service [Service] Type=simple ExecStart=/usr/bin/rustdesk --service PIDFile=/var/run/rustdesk.pid KillMode=mixed TimeoutStopSec=30 User=root LimitNOFILE=100000 [Install] WantedBy=multi-user.target移动到 /usr/lib/systemd/system 文件夹下,执行:sudo systemctl enable rustdesk使用systemctl status rustdesk查看服务运行状态:参考【RustDesk】自建远程桌面服务替代TeamViewer/Todesk – Luminous' Home: https://luotianyi.vc/6542.html安装 :: RustDesk文档: https://rustdesk.com/docs/zh-cn/self-host/install/Working principle · Issue #594 · rustdesk/rustdesk: https://github.com/rustdesk/rustdesk/issues/594#issuecomment-1138342668Systemd 入门教程:命令篇 - 阮一峰的网络日志: https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.htmlSystemd 入门教程:实战篇 - 阮一峰的网络日志: https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-part-two.html
2022年11月03日
2,466 阅读
7 评论
0 点赞
2021-08-03
基于Django的内网互传服务器
https://github.com/fuhailong1998/djangoFileShareSite内网传输,千兆网速跑满。账号系统,安全保障。IP中间件屏蔽,进一步安全。 # !/usr/bin/env python3 # -*- coding:utf-8 -*- """ @file : middlewares.py @author : Leon(fxkxb.com) @date : 2021/8/3 03:21 @description : """ from django.shortcuts import render from django.utils.deprecation import MiddlewareMixin class IpMiddleware(MiddlewareMixin): def process_view(self, request, view_func, *view_args, **view_kwargs): EXCLUDE_IPS = ['*'] if 'HTTP_X_FORWARDED_FOR' in request.META: ip = request.META['HTTP_X_FORWARDED_FOR'] else: ip = request.META['REMOTE_ADDR'] if EXCLUDE_IPS[0] == '*': return if ip not in EXCLUDE_IPS: return render(request, 'sorry.html')
2021年08月03日
26 阅读
0 评论
0 点赞