naive openwrt配置
目录
在 OpenWrt (以及 ImmortalWrt) 上,配置服务自启动主要使用系统自带的 Procd 管理架构
安装naiveproxy 这些就不写了
第一步:创建并编辑脚本文件
在 /etc/init.d/ 目录下创建一个新文件。以 naive-sg 为例:
vi /etc/init.d/naive-sg
第二步:编写 Procd 脚本内容
可以自行制定配置文件位置和内容 /root/sg-conf.json
精简版
#!/bin/sh /etc/rc.common
# 执行顺序,通常网络代理类服务设为 99(最后启动)
START=99
# 停止顺序
STOP=10
# 声明使用 procd 进程管理工具
USE_PROCD=1
start_service() {
procd_open_instance
# 核心:你要执行的命令及参数
procd_set_param command /usr/bin/naive /root/sg-conf.json
# 开启日志输出,方便在 logread 中查看错误
procd_set_param stdout 1
procd_set_param stderr 1
# 守护进程:崩溃后自动重启(10秒内重启超过5次则放弃,每次尝试间隔5秒)
procd_set_param respawn 3600 5 5
procd_close_instance
}
我常用的
#!/bin/sh /etc/rc.common
USE_PROCD=1
START=99
STOP=10
SERVICE_DAEMONIZE=0
SERVICE_WRITE_PID=1
start_service() {
procd_open_instance
procd_set_param command /usr/bin/naive /root/tx-conf.json
procd_set_param stdout 1
procd_set_param stderr 1
procd_set_param user root
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5}
procd_close_instance
}
stop_service() {
# 可选:清理操作
echo "Stopping naiveproxy..."
}
第三步:赋予执行权限
新创建的脚本默认是没有执行权限的,必须要赋予 755 权限:
chmod +x /etc/init.d/naive-sg
第四步:启用自启动与管理
脚本准备好后,通过以下命令进行管理:
1. 开启【开机自启动】
/etc/init.d/naive-sg enable
原理:这会在 /etc/rc.d/ 目录下创建一个软链接(如 S99naive-sgbv),系统开机时会自动按顺序扫描并运行。
2. 立即启动服务
/etc/init.d/naive-sg start
3. 查看服务是否成功运行
# 查看进程是否存在
ps | grep naive
# 查看系统日志,确认有没有报错
logread | grep naive
4. 其他常用管理命令
/etc/init.d/naive-sg stop # 停止服务
/etc/init.d/naive-sg restart # 重启服务
/etc/init.d/naive-sg disable # 取消开机自启动