97 lines
2.6 KiB
Bash
97 lines
2.6 KiB
Bash
#!/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------------------------------------------------" |