更新 03

This commit is contained in:
2026-01-25 01:11:31 +08:00
parent 0f84acf296
commit 028262d6ee

83
03
View File

@@ -1,46 +1,38 @@
#!/bin/bash
# ==========================================
# 脚本功能:安装 RustDesk Server (hbbs/hbbr) .deb 包
# 适用系统Debian 12 / 飞牛 NAS
# 数据目录:/vol1/1000/dock/rustdesk/data
# ==========================================
# 1. 基础环境修复
echo "正在修复基础环境..."
apt-get update
# 修正了之前的 -p 错误参数
apt-get install -y curl wget lsof psmisc
# 1. 基础配置
# 2. 准备目录
DATA_DIR="/vol1/1000/dock/rustdesk/data"
mkdir -p "$DATA_DIR"
# 获取外网 IP
HOST_IP=$(curl -s4 ifconfig.me)
if [ -z "$HOST_IP" ]; then
read -p "无法自动获取公网IP请输入服务器IP: " HOST_IP
fi
# 3. 下载安装包 (增加 502 检测和备份源)
echo "正在获取安装包..."
# 尝试使用你的链接,如果失败则尝试官方源
URL_HBBS="https://cloudreve.vps3344521.xyz/f/W9tx/rustdesk-server-hbbs_1.1.15_amd64.deb"
URL_HBBR="https://cloudreve.vps3344521.xyz/f/j3fJ/rustdesk-server-hbbr_1.1.15_amd64.deb"
# 2. 检查并安装基础软件
echo "正在检查基础软件..."
apt-get update && apt-get install -p -y curl wget lsof
wget -O hbbs.deb "$URL_HBBS" || wget -O hbbs.deb "https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-hbbs_1.1.11_amd64.deb"
wget -O hbbr.deb "$URL_HBBR" || wget -O hbbr.deb "https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-hbbr_1.1.11_amd64.deb"
# 3. 检查端口是否被占用 (21115-21119)
echo "正在检查端口占用情况..."
for port in 21115 21116 21117 21118 21119; do
if lsof -i :$port >/dev/null; then
echo "错误:端口 $port 已被占用,请先关闭相关程序后再试。"
# 检查文件大小,防止下载的是 502 错误页面
if [ ! -s hbbs.deb ]; then
echo "错误:未能下载有效的安装包,请检查网络或 Cloudreve 状态。"
exit 1
fi
done
# 4. 下载并安装 .deb 包
# 注意:这里直接使用你提供的 Cloudreve 链接
echo "正在下载安装包..."
wget -O hbbs.deb "https://cloudreve.vps3344521.xyz/f/W9tx/rustdesk-server-hbbs_1.1.15_amd64.deb"
wget -O hbbr.deb "https://cloudreve.vps3344521.xyz/f/j3fJ/rustdesk-server-hbbr_1.1.15_amd64.deb"
# 4. 安装
echo "正在安装软件包..."
dpkg -i hbbs.deb hbbr.deb
apt-get install -f -y # 修复可能存在的依赖问题
apt-get install -f -y
# 5. 配置 Systemd 服务 (确保路径指向你的数据目录)
HOST_IP=$(curl -s4 ifconfig.me)
# 5. 配置并启动服务 (使用 Systemd)
# 配置 hbbs
cat > /etc/systemd/system/rustdesk-hbbs.service <<EOF
[Unit]
Description=RustDesk ID Server
@@ -48,18 +40,14 @@ After=network.target
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/hbbs -r ${HOST_IP}:21117 -k _
WorkingDirectory=${DATA_DIR}
Restart=always
StandardOutput=append:${DATA_DIR}/hbbs.log
StandardError=append:${DATA_DIR}/hbbs.err
[Install]
WantedBy=multi-user.target
EOF
# 配置 hbbr
cat > /etc/systemd/system/rustdesk-hbbr.service <<EOF
[Unit]
Description=RustDesk Relay Server
@@ -67,31 +55,26 @@ After=network.target
[Service]
Type=simple
LimitNOFILE=1000000
ExecStart=/usr/bin/hbbr -k _
WorkingDirectory=${DATA_DIR}
Restart=always
StandardOutput=append:${DATA_DIR}/hbbr.log
StandardError=append:${DATA_DIR}/hbbr.err
[Install]
WantedBy=multi-user.target
EOF
# 6. 刷新并启动服务
echo "正在启动 RustDesk 服务..."
# 6. 启动并显示 Key
systemctl daemon-reload
systemctl enable rustdesk-hbbs rustdesk-hbbr
systemctl restart rustdesk-hbbs rustdesk-hbbr
# 7. 善后处理
rm hbbs.deb hbbr.deb
systemctl enable --now rustdesk-hbbs rustdesk-hbbr
echo "------------------------------------------------"
echo "安装完成"
echo "服务器 IP: ${HOST_IP}"
echo "数据目录: ${DATA_DIR}"
echo "Key 内容如下 (请填入客户端):"
sleep 2
cat ${DATA_DIR}/id_ed25519.pub
echo -e "\n------------------------------------------------"
echo "服务已重启"
echo "正在等待 Key 文件生成..."
sleep 3
if [ -f "${DATA_DIR}/id_ed25519.pub" ]; then
echo "你的 Key 为:"
cat "${DATA_DIR}/id_ed25519.pub"
else
echo "Key 文件尚未生成请检查服务状态systemctl status rustdesk-hbbs"
fi
echo "------------------------------------------------"