1. 简介
基于 腾讯云上海节点,搭配 RFC 港日线路 进行真实测评,并演示 Po0 部署多啦A梦面板与 realm 转发安装流程。
在使用国内服务器(如腾讯云、阿里云等)部署
Flux-Panel(哆啦A梦转发面板) 的后端节点时,大家常会遇到一个棘手的问题:由于网络环境原因,服务器无法连接 GitHub,导致官方的一键安装脚本 (curl ... | bash) 直接卡死或报错。
即使手动下载了文件,也常因为启动参数错误(如
Exit Code 2或203/EXEC)导致节点无法启动。本文将分享一套100% 可用的手动安装方案,适用于所有网络受限的国内服务器。
2. 环境准备
apt update && apt install -y wget curl tar nano
3. 多啦A梦面板节点安装
- 面板信息:
- 主控端 IP 和端口(例如x.x.x.x:6365)
- 节点密钥 (Key:8da40b3eef194cde56d6xxxxxx)- SSH 工具:FinalShell、WinSCP 或其他支持文件上传的工具。
3.1:本地下载必要文件
由于服务器连不上 GitHub,我们需要在本地电脑(或能访问外网的机器)上先把文件下载好。
访问项目的 Releases 页面(例如 2.1.3-rc2 版本),下载以下文件:
- 节点核心程序:通常是
gost-amd64(如果是 ARM 机器下载gost-arm64)。
注意:较新版本的 Flux-Panel 直接使用
gost作为核心,不再单独打包flux-node文件。
3.2:上传文件到服务器
使用 SSH 工具将上述两个文件上传到服务器的 /root 目录下。
确保文件名为:
gost-amd64
3.3:一键创建安装脚本install.sh
我们不需要去修改官方脚本,直接在服务器终端执行以下命令。这会自动在当前目录创建一个名为 install.sh 的文件,并写入修正后的安装逻辑。
请直接复制下方所有代码(包含
cat和EOF),在服务器终端粘贴并回车:
cat > install.sh << 'EOF'
#!/bin/bash
# ==========================================
# Flux-Panel 节点离线修正版安装脚本
# 功能:优先使用本地文件,自动配置 Systemd
# ==========================================
INSTALL_DIR="/etc/flux_agent"
# 1. 获取配置参数
get_config_params() {
if [[ -z "$SERVER_ADDR" || -z "$SECRET" ]]; then
[[ -z "$SERVER_ADDR" ]] && read -p "请输入主控地址 (IP:端口): " SERVER_ADDR
[[ -z "$SECRET" ]] && read -p "请输入节点密钥 (Key): " SECRET
fi
if [[ -z "$SERVER_ADDR" || -z "$SECRET" ]]; then
echo "❌ 错误:必须提供服务器地址和密钥。"
exit 1
fi
}
# 解析命令行参数
while getopts "a:s:" opt; do
case $opt in
a) SERVER_ADDR="$OPTARG" ;;
s) SECRET="$OPTARG" ;;
*) ;;
esac
done
# 2. 主安装流程
install_flux_agent() {
echo "🚀 开始安装..."
get_config_params
# 清理旧服务
if systemctl is-active --quiet flux_agent; then
systemctl stop flux_agent
systemctl disable flux_agent
fi
rm -rf "$INSTALL_DIR"
mkdir -p "$INSTALL_DIR"
# --- 核心修改:检测本地文件 ---
echo "⬇️ 部署节点程序..."
LOCAL_FILE=""
# 自动识别你上传的文件名
if [[ -f "./gost-amd64" ]]; then LOCAL_FILE="./gost-amd64"
elif [[ -f "./flux-node" ]]; then LOCAL_FILE="./flux-node"
elif [[ -f "./flux_agent" ]]; then LOCAL_FILE="./flux_agent"
fi
if [[ -n "$LOCAL_FILE" ]]; then
echo "✅ 检测到本地文件: $LOCAL_FILE"
cp "$LOCAL_FILE" "$INSTALL_DIR/flux_agent"
else
echo "❌ 未找到本地节点文件!"
echo "请确保你已将 'gost-amd64' 上传到当前目录。"
exit 1
fi
chmod +x "$INSTALL_DIR/flux_agent"
# --- 核心修改:生成配置文件 ---
# 新版 gost 不支持命令行参数启动,必须依赖 config.json
echo "📄 生成配置文件 config.json..."
cat > "$INSTALL_DIR/config.json" <<INNEREOF
{
"addr": "$SERVER_ADDR",
"secret": "$SECRET"
}
INNEREOF
# 防止报错,生成空的 gost.json
echo "{}" > "$INSTALL_DIR/gost.json"
# --- 核心修改:配置 Systemd 服务 ---
echo "⚙️ 配置系统服务..."
cat > "/etc/systemd/system/flux_agent.service" <<INNEREOF
[Unit]
Description=Flux_agent Service
After=network.target
[Service]
# 必须指定工作目录,否则程序找不到配置文件
WorkingDirectory=$INSTALL_DIR
# 启动时不带参数,程序会自动读取 config.json
ExecStart=$INSTALL_DIR/flux_agent
Restart=always
RestartSec=5
User=root
[Install]
WantedBy=multi-user.target
INNEREOF
# 启动服务
systemctl daemon-reload
systemctl enable flux_agent
systemctl start flux_agent
sleep 2
echo "🔄 检查服务状态..."
systemctl status flux_agent --no-pager
}
# 执行安装
install_flux_agent
EOF
3.4:执行安装
赋予脚本执行权限,并带上你的参数运行:
chmod +x install.sh
# 替换为你自己的 IP 和 密钥
./install.sh -a xx.xx.xx.xx:6365 -s 8da40b3eef194cde56d6xxxxxx
预期结果
如果一切正常,你会看到如下输出,特别是最后一行状态为 Active: active (running):
✅ 检测到本地文件: ./gost-amd64
📄 生成配置文件 config.json...
⚙️ 配置系统服务...
🔄 检查服务状态...
● flux_agent.service - Flux_agent Service
Loaded: loaded ...
Active: active (running) ...
4. realm 转发安装流程
4.1 创建安装目录
mkdir -p /opt/realm
cd /opt/realm
4.2 手动下载安装包上传至服务器里
- 本地下载:在电脑浏览器访问 Realm Releases。
- 选择版本:下载
realm-x86_64-unknown-linux-gnu.tar.gz(AMD64 架构)。- 上传文件:使用宝塔面板、WinSCP 或 SCP 命令将压缩包上传至 VPS 的
/root目录。
# 解压文件 (假设文件在 /root 下)
tar -xvf /root/realm-x86_64-unknown-linux-gnu.tar.gz -C /opt/realm/
# 赋予执行权限
chmod +x /opt/realm/realm
4.3 配置文件 (TOML)
执行 nano /etc/realm/config.toml:
[[endpoints]]
listen = "0.0.0.0:8080"
remote = "落地机IP:端口"
[[endpoints]]
listen = "0.0.0.0:55751"
remote = "x.x.x.x:55751"
4.4 Systemd 守护进程
执行 nano /etc/systemd/system/realm.service:
[Unit]
Description=Realm Service
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/realm
ExecStart=/opt/realm/realm -c /etc/realm/config.toml
Restart=always
[Install]
WantedBy=multi-user.target
4.5 启动命令
systemctl daemon-reload
systemctl enable --now realm
systemctl status realm
评论区