Files
dock/03
2026-01-25 01:07:27 +08:00

97 lines
2.6 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# ==========================================
# 脚本功能:安装 RustDesk Server (hbbs/hbbr) .deb 包
# 适用系统Debian 12 / 飞牛 NAS
# 数据目录:/vol1/1000/dock/rustdesk/data
# ==========================================
# 1. 基础配置
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
# 2. 检查并安装基础软件
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 "正在安装软件包..."
dpkg -i hbbs.deb hbbr.deb
apt-get install -f -y # 修复可能存在的依赖问题
# 5. 配置并启动服务 (使用 Systemd)
# 配置 hbbs
cat > /etc/systemd/system/rustdesk-hbbs.service <<EOF
[Unit]
Description=RustDesk ID Server
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
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 服务..."
systemctl daemon-reload
systemctl enable rustdesk-hbbs rustdesk-hbbr
systemctl restart rustdesk-hbbs rustdesk-hbbr
# 7. 善后处理
rm hbbs.deb hbbr.deb
echo "------------------------------------------------"
echo "安装完成!"
echo "服务器 IP: ${HOST_IP}"
echo "数据目录: ${DATA_DIR}"
echo "Key 内容如下 (请填入客户端):"
sleep 2
cat ${DATA_DIR}/id_ed25519.pub
echo -e "\n------------------------------------------------"