更新 ru2
This commit is contained in:
156
ru2
156
ru2
@@ -1,4 +1,4 @@
|
||||
cat > install_native_fix.sh << 'EOF'
|
||||
cat > install_deb.sh << 'EOF'
|
||||
#!/bin/bash
|
||||
# 颜色定义
|
||||
GREEN='\033[32m'
|
||||
@@ -6,134 +6,78 @@ RED='\033[31m'
|
||||
YELLOW='\033[33m'
|
||||
PLAIN='\033[0m'
|
||||
|
||||
# 1. 基础环境准备
|
||||
# 1. 检查 Root 权限
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo -e "${RED}错误:请使用 root 用户运行此脚本!${PLAIN}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${GREEN}正在安装必要工具...${PLAIN}"
|
||||
apt-get update -y && apt-get install -y wget unzip tar systemd
|
||||
echo -e "${GREEN}>>> 开始安装 RustDesk Server 1.1.15 (原生 DEB 版) <<<${PLAIN}"
|
||||
|
||||
# 2. 设置目录
|
||||
INSTALL_DIR="/opt/rustdesk"
|
||||
# 数据存放目录 (你的习惯路径)
|
||||
DATA_DIR="/vol1/1000/dock/rustdesk_native"
|
||||
# 2. 清理旧环境 & 安装依赖
|
||||
echo -e "${YELLOW}正在清理旧版本并安装必要工具...${PLAIN}"
|
||||
systemctl stop rustdesk-hbbs rustdesk-hbbr 2>/dev/null
|
||||
apt-get update -y
|
||||
apt-get install -y wget curl
|
||||
|
||||
mkdir -p "$INSTALL_DIR"
|
||||
mkdir -p "$DATA_DIR"
|
||||
# 3. 下载软件包
|
||||
WORK_DIR="/tmp/rustdesk_install"
|
||||
mkdir -p $WORK_DIR
|
||||
cd $WORK_DIR
|
||||
|
||||
# 3. 获取公网IP
|
||||
read -p "请输入服务器公网 IP (必填): " HOST_IP
|
||||
if [[ -z "$HOST_IP" ]]; then
|
||||
echo -e "${RED}错误:IP 不能为空!${PLAIN}"
|
||||
exit 1
|
||||
fi
|
||||
# 你的下载链接
|
||||
HBBS_URL="https://github.com/rustdesk/rustdesk-server/releases/download/1.1.15/rustdesk-server-hbbs_1.1.15_amd64.deb"
|
||||
HBBR_URL="https://github.com/rustdesk/rustdesk-server/releases/download/1.1.15/rustdesk-server-hbbr_1.1.15_amd64.deb"
|
||||
|
||||
# 4. 下载并解压程序
|
||||
echo -e "${YELLOW}正在下载 RustDesk 服务端程序...${PLAIN}"
|
||||
cd "$INSTALL_DIR"
|
||||
# 清理旧文件
|
||||
rm -rf rustdesk-server.zip hbbs hbbr amd64
|
||||
echo -e "${YELLOW}正在下载 HBBS (ID服务器)...${PLAIN}"
|
||||
wget -O hbbs.deb $HBBS_URL
|
||||
echo -e "${YELLOW}正在下载 HBBR (中继服务器)...${PLAIN}"
|
||||
wget -O hbbr.deb $HBBR_URL
|
||||
|
||||
wget -O rustdesk-server.zip https://github.com/rustdesk/rustdesk-server/releases/download/1.1.11-1/rustdesk-server-linux-amd64.zip
|
||||
# 4. 执行安装
|
||||
echo -e "${YELLOW}正在执行安装...${PLAIN}"
|
||||
apt-get install -y ./hbbs.deb ./hbbr.deb
|
||||
|
||||
if [ ! -f "rustdesk-server.zip" ]; then
|
||||
echo -e "${RED}下载失败,请检查网络连接。${PLAIN}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo -e "${YELLOW}正在解压并整理文件...${PLAIN}"
|
||||
unzip -o rustdesk-server.zip
|
||||
|
||||
# === 关键修正:把文件从 amd64 文件夹里移动出来 ===
|
||||
if [ -d "amd64" ]; then
|
||||
mv amd64/hbbs .
|
||||
mv amd64/hbbr .
|
||||
rm -rf amd64
|
||||
fi
|
||||
# ============================================
|
||||
|
||||
chmod +x hbbs hbbr
|
||||
|
||||
if [ ! -f "hbbs" ]; then
|
||||
echo -e "${RED}错误:解压后未找到 hbbs 文件,安装终止。${PLAIN}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 5. 创建系统服务 (hbbs - ID服务器)
|
||||
echo -e "${YELLOW}正在注册系统服务...${PLAIN}"
|
||||
|
||||
cat > /etc/systemd/system/rustdesk-hbbs.service <<SERVICE
|
||||
[Unit]
|
||||
Description=RustDesk ID Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
LimitNOFILE=1000000
|
||||
ExecStart=${INSTALL_DIR}/hbbs -r ${HOST_IP} -k _
|
||||
WorkingDirectory=${DATA_DIR}
|
||||
User=root
|
||||
Group=root
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
SERVICE
|
||||
|
||||
# 6. 创建系统服务 (hbbr - 中继服务器)
|
||||
cat > /etc/systemd/system/rustdesk-hbbr.service <<SERVICE
|
||||
[Unit]
|
||||
Description=RustDesk Relay Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
LimitNOFILE=1000000
|
||||
ExecStart=${INSTALL_DIR}/hbbr -k _
|
||||
WorkingDirectory=${DATA_DIR}
|
||||
User=root
|
||||
Group=root
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
SERVICE
|
||||
|
||||
# 7. 启动服务
|
||||
systemctl daemon-reload
|
||||
# 5. 启动服务
|
||||
echo -e "${YELLOW}正在启动服务...${PLAIN}"
|
||||
systemctl enable rustdesk-hbbs rustdesk-hbbr
|
||||
systemctl restart rustdesk-hbbs rustdesk-hbbr
|
||||
systemctl start rustdesk-hbbs rustdesk-hbbr
|
||||
|
||||
# 8. 检查状态并输出信息
|
||||
# 6. 获取信息
|
||||
# 获取公网IP
|
||||
HOST_IP=$(curl -s4 ifconfig.me)
|
||||
if [[ -z "$HOST_IP" ]]; then
|
||||
HOST_IP=$(curl -s4 ip.sb)
|
||||
fi
|
||||
|
||||
# 等待密钥生成
|
||||
sleep 3
|
||||
if systemctl is-active --quiet rustdesk-hbbs; then
|
||||
# 等待公钥生成
|
||||
sleep 2
|
||||
if [ -f "${DATA_DIR}/id_ed25519.pub" ]; then
|
||||
PUB_KEY=$(cat "${DATA_DIR}/id_ed25519.pub")
|
||||
else
|
||||
PUB_KEY="密钥生成中,请稍后查看 ${DATA_DIR}/id_ed25519.pub"
|
||||
fi
|
||||
# DEB版本默认Key路径: /var/lib/rustdesk-server/
|
||||
KEY_FILE="/var/lib/rustdesk-server/id_ed25519.pub"
|
||||
|
||||
if [ -f "$KEY_FILE" ]; then
|
||||
PUB_KEY=$(cat "$KEY_FILE")
|
||||
|
||||
echo -e "${GREEN}=============================================${PLAIN}"
|
||||
echo -e " RustDesk Server (原生版) 安装成功!"
|
||||
echo -e " RustDesk Server 1.1.15 安装成功!"
|
||||
echo -e "${GREEN}=============================================${PLAIN}"
|
||||
echo -e "ID 服务器: ${GREEN}${HOST_IP}${PLAIN}"
|
||||
echo -e "中继服务器: ${GREEN}${HOST_IP}${PLAIN}"
|
||||
echo -e "API 服务器: ${YELLOW}原生版不含Web API,直接使用即可${PLAIN}"
|
||||
echo -e "中继服务器: ${GREEN}${HOST_IP}:21117${PLAIN}"
|
||||
echo -e "API 服务器: ${YELLOW}(无/留空)${PLAIN}"
|
||||
echo -e "Key (公钥):"
|
||||
echo -e "${YELLOW}${PUB_KEY}${PLAIN}"
|
||||
echo -e "${GREEN}=============================================${PLAIN}"
|
||||
echo -e "数据目录: ${DATA_DIR}"
|
||||
echo -e "数据默认目录: /var/lib/rustdesk-server/"
|
||||
echo -e "如果不通,请务必检查防火墙是否放行 21115-21119 (TCP) 和 21116 (UDP)"
|
||||
else
|
||||
echo -e "${RED}服务启动失败,请运行 systemctl status rustdesk-hbbs 查看日志${PLAIN}"
|
||||
echo -e "${RED}安装似乎完成了,但未能读取到 Key。${PLAIN}"
|
||||
echo -e "请手动检查目录: /var/lib/rustdesk-server/"
|
||||
fi
|
||||
|
||||
# 清理安装包
|
||||
rm -rf $WORK_DIR
|
||||
EOF
|
||||
|
||||
# 运行脚本
|
||||
chmod +x install_native_fix.sh
|
||||
./install_native_fix.sh
|
||||
chmod +x install_deb.sh
|
||||
./install_deb.sh
|
||||
Reference in New Issue
Block a user