分享一个在老毛子固件 Pandava 守护进程运行 frpc 的脚本 / 斐讯 K2P 路由器 作者: Shine 时间: 2025-10-17 分类: Linux 分享一个在老毛子固件 Pandava 守护进程运行 frpc 的脚本,比如我的斐讯 K2P 路由器,是没有富裕的闪存空间存放二进制文件,所以必须在路由器启动的时候放置在内存缓存空间中 ## 使用方法 1. 放置脚本,你可以放置在 `/etc/storage/frpc.sh` 这里 2. 修改脚本内容 3. 完善脚本里的环境变量 * `FRPC_URL` - frpc 的下载链接,我是建议你把这个文件放到你自己的服务器(或对象存储)上。 * `FRPC_CONFIG` - frpc 的配置文件路径,配置文件必须放在 `/etc/storage` 目录下 4. 基于执行权限 `chmod +x /etc/storage/frpc/sh` 5. 非常重要的一个步骤,必须执行 `/sbin/mtd_storage.sh save` 保存命令,否则重启后文件就会消失 🫠 6. 配置 `crontab`,可以设置如定时 5 分钟运行一次这个脚本(实现守护进程) 1. 执行 `crontab -e` 编辑计划任务 2. 按下 `i` 键进入编辑模式 3. 粘贴这个内容 `*/5 * * * * /etc/storage/frpc.sh` 4. 按下 `ESC` 键,然后输入 `:wq` 保存文件并退出 7. 配置自定义启动脚本,进入路由器管理后台 `高级设置 -> 自定义设置 -> 脚本 -> 在路由器启动后执行` 1. 在最后一行写入命令 `/etc/storage/frpc.sh > /dev/null 2>&1` 2. 然后保存即可 脚本内容如下: ```shell #!/bin/sh # 文件名:/etc/storage/frpc.sh # 功能: # 1. 检查 frpc 是否已运行,若已运行则退出 # 2. 若不存在 frpc 文件则下载 # 3. 使用 nohup 后台运行,不输出日志 APP_DIR="/opt/app" FRPC_FILE="$APP_DIR/frpc" FRPC_URL="https://example.com/请换成/真是的/下载地址链接/v0.65.0-frpc_linux_mipsle" FRPC_CONFIG="/etc/storage/frpc.toml" # 检查是否已经运行 if ps | grep -v grep | grep -q "$FRPC_FILE"; then echo "frpc already running." exit 0 fi # 创建目录 [ ! -d "$APP_DIR" ] && mkdir -p "$APP_DIR" # 检查文件是否存在,否则下载 if [ ! -f "$FRPC_FILE" ]; then echo "Downloading frpc..." wget -O "$FRPC_FILE" "$FRPC_URL" chmod +x "$FRPC_FILE" fi # 检查文件是否可执行 if [ ! -x "$FRPC_FILE" ]; then echo "frpc file is not executable. Exit." exit 1 fi # 测试是否能运行(防止架构不匹配) "$FRPC_FILE" --version >/dev/null 2>&1 if [ $? -ne 0 ]; then echo "frpc cannot run properly (maybe wrong architecture). Exit." exit 1 fi # 启动 frpc(后台运行,不输出日志) echo "Starting frpc..." nohup "$FRPC_FILE" -c "$FRPC_CONFIG" >/dev/null 2>&1 & ``` 该脚本的主要作用如下: 1. 使用 `ps` 命令检查是否有 frpc 进程运行,如果有则退出; 2. 判断是否存在程序运行目录,如果没有则创建; 3. 判断是否存在 `frpc` 文件,如果没有则下载(注意,建议将这个文件保存到你的服务器、对象存储上); 1. 然后赋予可执行权限 4. 检查下载的 `frpc` 文件是否可以运行,不可运行则退出; 5. 测试 `frpc` 是否真的能运行,不可运行则退出 6. 使用 `nohup` 后台运行 `frpc` 命令 标签: 路由器, Pandava, Frp