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