python3 虚拟环境

python3 -m venv myenv

source myenv/bin/activate
deactivate

system-view

ar1220es 开启web页面

🔹 步骤1:配置管理接口

  • [Huawei] interface GigabitEthernet 0/0/0
  • [Huawei-GigabitEthernet0/0/0] ip address 192.168.1.1 24
  • [Huawei-GigabitEthernet0/0/0] undo shutdown
  • [Huawei-GigabitEthernet0/0/0] quit

🔹 步骤2:开启 HTTPS 服务

  • [Huawei] http secure-server enable
  • [Huawei] undo http server enable # 关闭不安全的 HTTP(推荐)

🔹 步骤3:创建 Web 登录用户

  • [Huawei] aaa
  • [Huawei-aaa] local-user admin password cipher Admin@123456
  • [Huawei-aaa] local-user admin service-type web
  • [Huawei-aaa] local-user admin state active
  • 根据 VRP 版本选择授权命令:
  • 老版本:[Huawei-aaa] local-user admin privilege level 15
  • 新版本(V200R019+):
  • [Huawei-aaa] local-user admin authorization-attribute user-role level-15
  • [Huawei-aaa] quit

🔹 步骤4:保存配置

  • [Huawei] quit
  • save

📤 将 Docker 镜像上传到仓库(完整指南)

方式 B:仅构建 App 镜像 docker build -t hik-shentong-bridge:latest .

方式 A:使用 Docker Compose(推荐)

构建并启动docker compose up -d –build

查看日志docker compose logs -f app

停止并清理docker compose down

你的镜像 hik-shentong-bridge:latest 已构建成功,现在可以上传到 Docker Hub私有仓库,方便在其他设备部署。

清理 Docker 无用资源

  • 停止所有容器(避免清理时冲突)
  • docker compose down
  • 清理悬空镜像、构建缓存、未使用卷
  • docker system prune -af –volumes
  • 查看剩余空间
  • df -h /



🔐 第一步:登录 Docker 仓库
✅ Docker Hub(官方公共仓库)

  • 登录(输入用户名和密码/访问令牌)
  • docker login或者docker login -u 用户名
  • 或指定服务器(默认就是 hub.docker.com)
  • docker login https://index.docker.io/v1/

私有仓库(如 Harbor、自建 Registry)

  • docker login your-registry.com:5000
  • 输入用户名密码

🏷️ 第二步:给镜像打标签(Tag)

  • Docker 要求镜像名格式:<仓库用户名>/<镜像名>:<标签>
    假设你的 Docker Hub 用户名是:myuser
  • docker tag hik-shentong-bridge:latest myuser/hik-shentong-bridge:latest
  • 可选:添加版本标签
  • docker tag hik-shentong-bridge:latest myuser/hik-shentong-bridge:v2.4.0

📌 示例:上传到私有仓库

  • 假设私有仓库地址:registry.example.com:5000
  • docker tag hik-shentong-bridge:latest registry.example.com:5000/hik-shentong-bridge:latest
  • ✅ 验证标签是否成功:
    docker images | grep hik-shentong-bridge

🚀 第三步:推送镜像到仓库

# 推送到 Docker Hub
docker push myuser/hik-shentong-bridge:latest
# 如果同时打了版本标签,也推送
docker push myuser/hik-shentong-bridge:v2.4.0

🔄 第四步:在其他机器拉取并运行
1️⃣ 拉取镜像

  • 新机器先登录(如果需要)
  • docker login
  • 拉取镜像
  • docker pull myuser/hik-shentong-bridge:latest

2️⃣ 运行容器(示例)

docker run -d --name st-bridge \
-p 7200:7200 \
-e SQLALCHEMY_DATABASE_URL="mysql+pymysql://user:pass@db:3306/shentong" \
-e REDIS_HOST="redis" \
-e REDIS_PORT="6379" \
--restart unless-stopped \
myuser/hik-shentong-bridge:latest

3️⃣ 推荐:使用 docker-compose 一键部署
在新机器创建 docker-compose.yml

yaml

version: ‘3.8’
services:
app:
image: myuser/hik-shentong-bridge:latest
container_name: st-bridge
ports:
– “7200:7200”
environment:
– SQLALCHEMY_DATABASE_URL=mysql+pymysql://user:pass@db:3306/shentong
– REDIS_HOST=redis
– REDIS_PORT=6379
depends_on:
– db
– redis
restart: unless-stopped

redis:
image: redis:7-alpine
container_name: st-redis

db:
image: mysql:8.0
container_name: st-db
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: shentong
volumes:
– db_/var/lib/mysql

volumes:
db_

opencalw

  • 局域网配置
  • “gateway”: {
    “port”: 18789,
    “mode”: “local”,
    “bind”: “lan”,
    “controlUi”: {
    “allowedOrigins”: [“*”],
    “allowInsecureAuth”: true,
    “dangerouslyDisableDeviceAuth”: true
    },
    “auth”: {
    “mode”: “token”,
    “token”: “************************”
    },
    “tailscale”: {
    “mode”: “off”,
    “resetOnExit”: false
    }
    },

安装技能 openclaw skills install <skill_name>

docker 部署ntfy 设置权限

在 docker-compose.yml 中添加以下参数: 

services:
  ntfy:
    image: binwiederhier/ntfy
    container_name: ntfy
    volumes:
      - ./cache:/var/cache/ntfy  # 确保持久化,auth.db 会存放在这里
    environment:
      - NTFY_AUTH_FILE=/var/cache/ntfy/auth.db
      - NTFY_AUTH_DEFAULT_ACCESS=deny-all # 默认拒绝匿名访问,也可设为 read-only
    command: serve
    ports:
      - 8080:80

进入容器终端:docker exec -it ntfy sh

创建管理员 (Admin):ntfy user add –role=admin <你的用户名>

创建普通用户并分配权限(例如只允许 bob 往 alerts 发消息):

ntfy user add bob
ntfy access bob alerts write-only

查看当前权限列表:ntfy access

基础权限分配指令 你需要进入容器执行命令。权限级别分为:read-write (rw), read-only (ro), write-only (wo), deny (none)。

通配符权限:如果你有多个以 home- 开头的 Topic,可以批量授权:ntfy access bob “home-*” read-write

完全禁止:覆盖默认权限,禁止某用户访问特定 Topic:ntfy access bob private_topic deny

1. 生成 Token

进入容器内部,为指定用户创建一个永久或有有效期的令牌:

bash

# 进入容器
docker exec -it ntfy sh

# 为用户 bob 创建一个 Token(默认永久有效)
ntfy token add bob

# 或者创建一个有效期为 30 天的 Token
ntfy token add bob --expires 30d

移除特定用户的 Topic 权限如果你想删除之前为用户设置的特定权限,使其恢复到系统的默认状态(auth-default-access),请在 access 命令中不指定权限参数: # 语法:ntfy access <用户名> <Topic名称>
docker exec -it ntfy ntfy access alice my_topic

彻底禁止访问 (Deny)如果你不是想删除规则,而是想显式地封杀某个用户对特定 Topic 的访问(即便默认权限是允许的),请将其设为 none 或 deny:docker exec -it ntfy ntfy access bob private_alerts none

清理匿名用户权限如果你之前允许了所有人(匿名)查看某个 Topic,现在想撤销:docker exec -it ntfy ntfy access everyone public_topic

验证移除结果每次操作后,建议运行以下命令确认权限表已更新:docker exec -it ntfy ntfy access


在 ntfy 中,权限级别(Permission Levels)决定了用户对特定 Topic(主题)的交互能力。以下是各级别的详细用途和典型场景:

1. read-write (rw) – 读写权限

  • 用途:允许用户既能发布(Publish)消息,也能订阅(Subscribe)并查看历史记录。
  • 场景
    • 管理员/主用户:需要完全控制某个 Topic 的交互。
    • 协作频道:团队成员之间互发通知,大家都能发也能收。 

2. read-only (ro) – 只读权限

  • 用途:仅允许接收和查看消息,无法向该 Topic 发送任何内容。
  • 场景
    • 终端接收设备:例如你的手机 App 只需要接收告警,不需要通过该 Topic 反馈数据。
    • 公告板:只允许服务器发送系统通知,普通用户仅负责“听”。 

3. write-only (wo) – 只写权限

  • 用途:仅允许发布消息,无法看到该 Topic 的任何已有内容或实时订阅。
  • 场景
    • 外部服务/脚本推送到自建服务器:例如 Uptime Kuma 或 IoT 传感器只需要在出故障时“喊一嗓子”,它们不应该(也没必要)看到其他历史消息。
    • 安全性增强:防止泄露 Token 的脚本被恶意利用来窥探频道历史。 

4. deny (none) – 拒绝访问

  • 用途:禁止任何形式的发布或订阅。
  • 场景
    • 精准屏蔽:如果你设置了全局 read-only,但想禁止某个特定用户访问敏感的 admin-alerts 频道,可以显式设为 deny
    • 临时封禁:无需删除用户,通过权限覆盖快速切断其访问。

Linux如何禁用ping

1.通过修改配置参数

执行以下命令来关闭ping请求的应答。

[root@localhost etc]# echo “1” > /proc/sys/net/ipv4/icmp_echo_ignore_all

执行以下命令来开启ping请求的应答。

[root@localhost etc]# echo “0” > /proc/sys/net/ipv4/icmp_echo_ignore_all

通过上图可以看出执行完命令之后,确实不能够ping通了,接着改为0之后又可以ping通了。但是上图配置的这种方式只是临时的,只对当前会话有用,当重启之后,就恢复了,所以有没有啥办法是重启之后对任何会话都适用的呢?还确实有这种能够使修改的配置长期生效,在以后的重启后都能够使服务器的ping不能够应答。配置方式如下,在/etc/sysctl.conf文件中增加以下命令行:

net.ipv4.icmp_echo_ignore_all = 1

保存文件,接着执行以下命令使其生效。

sysctl -p

2,通过iptables

iptables是Linux命令行防火墙,也可以配置规则禁用ping流量。在Linux服务器上通过iptables来禁用ping请求,请运行以下命令。首先来检测一下iptables的版本。

[root@localhost ~]# iptables -V

iptables是Linux命令行防火墙,它允许我们根据一组规则管理传入和传出流量。新增了两条规则丢掉ping请求和ping应答。以下规则用于正常禁用与服务器之间的 ping 操作。

[root@localhost ~]# sudo iptables -A INPUT -p icmp –icmp-type echo-request -j DROP
[root@localhost ~]## sudo iptables -A OUTPUT -p icmp –icmp-type echo-reply -j DROP

上面是关闭ping请求和应答的iptables。那么如何恢复ping请求和ping应答呢?其实很简单,把刚才那两条规则删除掉即可,删除通过-D来删除,新增是通过-A来新增。

[root@localhost ~]# iptables -D OUTPUT -p icmp –icmp-type echo-reply -j DROP
[root@localhost ~]# iptables -D INPUT -p icmp –icmp-type echo-request -j DROP

tc命令使用总结

查看queue状态

查看所有网卡 ​​tc qdisc ls

查看指定网卡 tc qdisc show dev enp0s3​

delay延迟 tc qdisc add dev enp0s3 root netem delay 1000ms​

命令详解
qdisc: 类型为 queuing discipline,不懂的请先查询一下基本概念
add: add a new rule
dev eth0: rules will be applied on device eth0
root: modify the outbound traffic scheduler (aka known as the egress qdisc)
netem: use the network emulator to emulate a WAN property
delay: the network property that is modified
1000ms: introduce delay of 1000 ms

执行前

执行后

delay最后还是有两个参数

命令1.增加振幅

delay不是一个固定的值,而是在后面这个参数的增加减少幅度内变动

tc qdisc add dev enp0s3 root netem delay 1000ms 500ms​

可以看到delay的幅度在500(1000-500)和1500(1000+500)之间了。

命令2. uniform variation with correlation value

tc qdisc add dev enp0s3 root netem delay 1000ms 500ms 20%​

使振幅根据uniform variation with correlation value发生变化。

命令3. distribution normal正态分布变化

tc qdisc add dev enp0s3 root netem delay 1000ms 500ms distribution normal​

Packet Loss丢包 tc qdisc add dev enp0s3 root netem loss 50%​

Packet Corruption 包损 tc qdisc add dev enp0s3 root netem corrupt 50%​

通过PING看不出corruption,包的传送都没有问题的

Packet Duplicates 重复包 tc qdisc add dev enp0s3 root netem duplicate 50%​

通过PING看不出Duplicates,包的传送都没有问题的

Bandwidth limit限制带宽 tc qdisc add dev enp0s3 root tbf rate 1mbit burst 32kbit latency 400ms

参数说明:
tbf: use the token buffer filter to manipulate traffic rates
rate: sustained maximum rate
burst: maximum allowed burst
latency: packets with higher latency get dropped

其他操作

删除 tc qdisc del dev enp0s3 root​

修改 tc qdisc change dev enp0s3 root netem delay 1000ms​

通常,要对网卡进行流量控制的配置,需要进行如下的步骤:

1、为网卡配置一个队列

2、在该队列上建立分类

3、根据需要建立子队列和子分类

4、为每个分类建立过滤器

下面,将以HTB队列为主,结合需求来讲述TC的使用。假设eth0出口有100Mbit/s的带宽,分配给WWW 、E-mail和Telnet三种数据流量,其中分配给WWW的带宽为40Mbit/s,分配给Email的带宽为40Mbit/s,分配给Telnet的带宽为20Mbit/s。

需要注意的是, 在TC 中使用下列的缩写表示相应的带宽:

  • Kbps:kiIobytes per second,即 “千字节每秒”
  • Mbps:megabytes per second,即 “兆字节每秒 ”
  • Kbit:kilobits per second,即 “千比特每秒”
  • Mbit:megabits per second,即 “兆比特每秒”

有关队列的TC命令的一般形式:

# tc qdisc [add|change|replace|link] dev DEV [parent qdisk-id|root][handle qdisc-id] qdisc[qdisc specific parameters]

 1、创建HTB队列

为网卡etho配置一个HTB队列的tc命令:

# tc qdisc add dev eth0 root handle 1: htb default 11

  • add 表示要添加
  • dev eth0 表示要操作的网卡为eth0
  • root 表示为网卡eth0添加的是一个根队列
  • handle 1: 表示队列的句柄为1:
  • htb 表示要添加的队列为HTB队列
  • default 11 是htb特有的队列参数,意思是所有未分类的流量都将分配给类别1:11

2、为根队列创建相应的类别

有关类别的TC一般命令形式:

# tc class [add|change|replace] dev DEV parent qdisc-id [classid class-id] qdisc [qdisc specific parameters]

可以使用以下3个命令为根队列1创建三个类别,分别是1:11、1:12、1:13

tc class add dev eth0 parent 1: classid 1:11 htb rate 40mbit ceil 40mbit

tc class add dev eth0 parent 1: classid 1:12 htb rate 40mbit ceil 40mbit

tc class add dev eth0 parent 1: classid 1:13 htb rate 40mbit ceil 20mbit

各项的含义:

  • parent 1: 表示类别的父亲为根队列1:
  • classid 1:11 表示创建一个标识为1:11的类别
  • rate 40mbit 表示系统将为该类别确保带宽40mbit
  • ceil 40mbit 表示该类别的最高可占用带宽为40mbi

3、为各个类别设置过滤器

有关过滤器的tc一般命令:

# tc filter [add|change|replace] dev DEV [parent qdisc-id|root] protocol protocol prio priority filtertype [filtertype specific parameters] flowid flow-id

由于需要将WWW、E-mail、Telnet三种流量分配到三个类别,即上述1:11、1:12和1:13,因此,需要创建三个过滤器,如下面的三个命令:

# tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:11
# tc filter add dev eth0 prtocol ip parent 1:0 prio 1 u32 match ip dport 25 0xffff flowid 1:12
# tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 23 oxffff flowid 1:13

各项的含义:

  • protocol ip 表示该过滤器应该检查报文分组的协议字段
  • prio 1 表示它们对报文处理的优先级是相同的,对于不同优先级的过滤器,系统将按照从小到大的优先级顺序来执行过滤器,对于相同的优先级,系统将按照命令的先后顺序执行
  • 这几个过滤器还用到了u32选择器(命令中u32后面的部分)来匹配不同的数据流。以第一个命令为例,判断的是dport字段,如果该字段与Oxffff进行与操作的结果是80,则 flowid 1:11 表示将把该数据流分配给类别1:11

Linux系统中有多个命令可用于控制带宽,下面将介绍常用的几个命令。

Linux系统中有多个命令可用于控制带宽,下面将介绍常用的几个命令。

1. tc命令:tc命令是Linux系统中最常用的带宽控制工具之一,它可以用于控制网络流量的速率、延迟、丢包等。下面是tc命令的一些常用选项和用法:

– tc qdisc add:添加一个队列规则
– tc class add:添加一个分类规则
– tc filter add:添加一个过滤规则
– tc qdisc del:删除一个队列规则
– tc class del:删除一个分类规则
– tc filter del:删除一个过滤规则
– tc qdisc show:显示当前的队列规则
– tc class show:显示当前的分类规则
– tc filter show:显示当前的过滤规则

2. wondershaper命令:wondershaper是一个小型的脚本工具,可以方便地控制网络带宽。通过wondershaper命令,可以设置网络的最大传输速率、最大接收速率,以及设置延迟和丢包。

– wondershaper eth0 1024 256:限制eth0接口的最大传输速率为1024kbps,最大接收速率为256kbps
– wondershaper clear eth0:清除eth0接口上的带宽限制

3. trickle命令:trickle命令可以控制进程的带宽使用,通过限制进程的上传和下载速度,来达到控制带宽的目的。

– trickle -d 1024 -u 256 :限制命令的下载速度为1024kbps,上传速度为256kbps

4. htb工具:htb是Linux系统中一个非常强大的带宽控制工具,它可以用于创建复杂的带宽控制策略。

– htb init:初始化htb工具
– htb rate 1Gbit:设置根类别的速率为1Gbps
– htb class add dev eth0 parent 1: classid 1:1 htb rate 100Mbit:为eth0接口添加一个类别,限制带宽为100Mbps
– htb class change dev eth0 parent 1: classid 1:1 htb rate 200Mbit:修改eth0接口的类别,将带宽限制改为200Mbps
– htb delete:删除所有的htb规则

5. iptables命令:iptables是Linux系统中用于配置网络防火墙的工具,它也可以用于限制网络带宽。

– iptables -A INPUT -m limit –limit 10/s -j ACCEPT:设置输入流量的带宽限制为每秒10个包
– iptables -A OUTPUT -m limit –limit 10/s -j ACCEPT:设置输出流量的带宽限制为每秒10个包
– iptables -A INPUT -m limit –limit 10/s -j DROP:设置输入流量的带宽限制为每秒10个包,超过限制则丢弃
– iptables -A OUTPUT -m limit –limit 10/s -j DROP:设置输出流量的带宽限制为每秒10个包,超过限制则丢弃

以上是常用的几个Linux带宽控制命令。通过使用这些命令,可以灵活地控制网络的带宽使用,满足不同的需求。

WonderShaper 安装与使用指南

WonderShaper 安装与使用指南

项目地址:https://gitcode.com/gh_mirrors/wo/wondershaper

1. 项目介绍

WonderShaper 是一个脚本工具,由 Bert Hubert 等人开发,用于限制网络适配器的带宽。它允许用户自定义下载和上传速率,适用于家庭网络中的流量管理或者测试不同网络条件对应用程序性能的影响。WonderShaper 遵循 GPL-2.0 许可协议。

2. 项目快速启动

步骤一:克隆仓库

首先,打开终端并克隆 WonderShaper 的 Git 仓库:

git clone https://github.com/magnific0/wondershaper.gitcd wondershaper

步骤二:安装

在终端中运行以下命令以安装 WonderShaper:

sudo make install

步骤三:设置开机启动

要让 WonderShaper 在系统启动时自动运行,执行:

sudo systemctl enable wondershaper.servicesudo systemctl start wondershaper.service

步骤四:使用 WonderShaper

查看帮助信息:

/wondershaper -h

设置网络接口的带宽限制,例如限制 eth0 接口的下载速率为 1Mbit/s,上传速率为 512Kbit/s:

sudo /wondershaper -a eth0 -d 1024 -u 512

要清除已设置的限制:

sudo /wondershaper -c -a eth0

3. 应用案例和最佳实践

  • 优化家庭网络:通过分配不同设备的网络带宽,确保关键任务如视频会议、在线学习或游戏的稳定性。
  • 模拟低速网络环境:测试你的应用在慢速连接上的表现,以优化用户体验。
  • 故障排查:临时限速某个接口,以确定是否与带宽相关的问题有关。

最佳实践建议在调整带宽限制前记录原始配置,并定期检查 WonderShaper 的设置,以保持其有效性。

4. 典型生态项目

虽然 WonderShaper 是一个独立工具,但它常与其他网络管理和监控工具一起使用,比如:

  • iftop:实时显示网络流量信息。
  • nethogs:按进程显示网络带宽使用情况。
  • collectdPrometheus:收集系统性能数据,包括网络利用率,用于长期监控和分析。

结合这些工具,你可以更全面地管理和监控网络资源。


以上即为 WonderShaper 的安装与使用指南,希望对你有所帮助。在实践中如有疑问或发现任何问题,请查阅官方仓库的 Issue 或者向社区寻求支持。

rustdesk自建服务器

1. 安装pm2

sudo apt update && sudo apt upgrade;
sudo apt install npm;
sudo npm install -g pm2;

2.安装rustdesk server

sudo apt install wget
wget --no-check-certificate https://github.com/rustdesk/rustdesk-server/releases/download/1.1.6/rustdesk-server-linux-x64.zip
unzip rustdesk-server-linux-x64.zip

3. 启动

pm2 start hbbs
pm2 start hbbr
pm2 startup
pm2 save

开放防火墙 TCP(21115, 21116, 21117, 21118, 21119)
UDP(21116)

ID服务器: curl ip.sb
Key: cat id_*.pub

PM2常用命令:

  1. pm2 start <script_file|config_file> [options] 启动指定应用,如pm2 start index.js –name httpServer;
  2. pm2 stop <appName> [options] 停止指定应用,如pm2 stop httpServer;
  3. pm2 list  把所有pm2启动实例列举出来,注意:pm2 stop 某个项目后,该项目还会存在pm2 list 的列表里面, 只是状态是 stop, 要想去掉该项目,用pm2 delete
  4. pm2 reload|restart <appName> [options]  重启指定应用,如pm2 restart httpServer;
  5. pm2 show <appName> [options] 显示指定应用详情,如pm2 show httpServer;
  6. pm2 delete <appName> [options] 删除指定应用,如pm2 delete httpServer,如果修改应用配置行为,最好先删除应用后,重新启动方才生效,如修改脚本入口文件;
  7. pm2 kill 杀掉pm2管理的所有进程;
  8. pm2 logs <appName>  查看指定应用的日志,即标准输出和标准错误;
  9. pm2 monit 监控各个应用进程cpu和memory使用情况;
  10. pm2 startOrReload <appName> 如果项目没有启动就执行 start  如果项目正在运行 就执行relaod

方法二

2.防火墙设置

系统重装好了,我们需要在服务器的防火墙中开放RustDesk需要的端口。放行以下端口

TCP:21115-21119
UDP:21116
温馨提示:
有些服务器Linux系统预装了防火墙,你需要给以上端口放行,或者关闭防火墙!

安装 RustDesk服务器

1.使用FinalShell服务器管理软件

2.更新系统源和软件

apt update      //更新源
apt upgrade     //更新软件 

运行一键安装Rustdesk脚本

1.系统重启好后,粘贴RustDesk Server一键安装脚本,回车开始安装。

一键安装脚本:

wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
chmod +x install.sh
./install.sh

一键更新脚本:

wget https://raw.githubusercontent.com/smianao/rustdeskinstall/master/update.sh && chmod +x update.sh && ./update.sh

查看并复制密钥Key备用

客户端配置

1.主控端电脑,安装rustdesk客户端

2. 手动配置

主界面依次点击设置-网络-解锁网络设置,ID/中继服务器设置如下:

ID服务器:为你云服务器IP地址
中继服务器:为你云服务器IP地址
API服务器:空
Key:上一步获取的key

3. 通过导入导出配置

ID/中继服务器界面,可导入导出配置

4.将配置写入rustdesk.exe 文件名中

将Windows客户端名称修改为如下格式,发给被控电脑使用即可。

rustdesk-host=<你的服务器IP/域名>,key=<你的key>.exe

利用GitHub Actions编译客户端(更加隐私安全)

如果担心中继服务器信息泄露,或者有更严苛的分发需求,可以使用GitHub Actions,将中继服务器以及key等信息,直接编译到客户端里。被控端直接运行你编译的客户端,无需再填入中继服务器等信息,就可以正常实现被控。但是使用GitHub Actions编译的时间会比较长一些,一般是1小时多些。也是本人比较推荐的方式,可以做到比较安全的连接。

1.准备工作

编译客户端的前提,你需要一个Github账号,没有的可以注册一个,非常简单,这里就不演示了!
https://github.com/

2.创建分支

访问Github的RustDesk项目
登录Github账号
点击 “Fork”创建分支项目,简单说,就是把该项目克隆到你的github仓库
参数保持默认,点击这里创建,等待创建完成。
到这里就创建完成了

3.设置环境变量

将服务器等信息,填入变量,以便接下来的编译。
回到刚刚创建的分支项目,转到 “Settings → Secrets and variables → Actions”
单击“New repository secret”,变量名:RENDEZVOUS_SERVER,对应值填写服务器IP/域名
点击 “Add secret”
单击“New repository secret”,变量名: RS_PUB_KEY,对应值填写key
点击 “Add secret”
单击“New repository secret”,变量名: API_SERVER,对应值填写API地址
点击 “Add secret”

4.启用工作流权限

在您刚刚创建的 fork上,转到“Settings → Actions → General”
右侧,上方勾选“Allow all actions and reusable workflows”
点击”Save”
滑动到底部,在 Workflow permissions 下启用 “Read and write permissions”
点击“Save”

5.启动工作流

点击上方“Actions”(项目横向主菜单)
在左侧,选择 “Flutter Nightly Build” 然后在右侧,单击 “Enable workflow”
最后,您可以单击 “Run workflow” 为所有支持的平台构建 RustDesk 客户端

6.客户端下载

Github编译的时间可能会久一点,过一个小时左右,你可以在你创建的分支项目下,看是否有编译好的客户端,如果刚好有编译好的,你便可以下载对应平台的客户端使用。

7.客户端使用演示

以Windows平台为例,双击运行或安装编译好的客户端,进入网络查看,没有对应的服务器信息,因为我们直接将该信息编译到程序里,操作使用下,可以正常远控。这样,我们便可直接将客户端,发给被控端使用,而无需再手动编辑服务器等信息,可谓非常便捷!

Oracle Cloud甲骨文云初始配置

用Putty登陆入,用户名是opc或ubuntu

切换到root角色

sudo -i
  1. 安装相关依赖

CentOS如下

yum -y install wget
yum update -y && yum install curl -y

Ubuntu如下

apt-get install wget
apt-get update -y && apt-get install curl -y
  1. 删除、关闭、打开各自系统的无用附件、防火墙、端口及规则

CentOS系统

删除多余附件

systemctl stop oracle-cloud-agent
systemctl disable oracle-cloud-agent
systemctl stop oracle-cloud-agent-updater
systemctl disable oracle-cloud-agent-updater

停止firewall

systemctl stop firewalld.service

禁止firewall开机启动

systemctl disable firewalld.service


Ubuntu系统

开放所有端口

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F

Ubuntu镜像默认设置了Iptable规则,关闭它

apt-get purge netfilter-persistent
reboot

或者强制删除

rm -rf /etc/iptables &amp;&amp; reboot