Total Pageviews

Tuesday, 6 March 2018

OpenWrt 增加 initscripts 脚本

OpenWrt 是开源免费的嵌入式Linux。国内大部分路由器厂商的系统基于此修改的。OpenWrt本身未带任何UI,需要通过LuCI,webif等各种延伸界面,LuCI界面是使用率最高的Web管理界面。本文主要是增加一个脚本,用于通过 Web 界面管理进程开启与关闭,方便使用。
本次我们以启动 frpc 为例,用于实现路由器的内网穿透功能
需要以下环境:
  • 在 /root/ 目录下放置 open_wrt_frpc 程序
  • 在 /root/ 目录下放置 config.ini 配置文件

脚本编写

1
vim /etc/init.id/frpc
  • start 表示开始需要执行的命令,一般用于服务开启;
  • stop 表示关闭需要执行的命令,一般用于服务关闭;
  • boot 表示开机时需要执行的命令;
  • START=97 表示启动顺序,数字越大,启动越靠后;
  • 如果需要调试,打印控制台信息,可以在命令加入 >/root/frpc.log。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/bin/sh /etc/rc.common
START=97
start() {
/root/open_wrt_frpc -c /root/config.ini
#/root/open_wrt_frpc -c /root/config.ini > /root/frpc.log
}
stop() {
kill `pgrep frpc`
}
boot() {
start
}

设置开机启动

1
ln -s /etc/init.d/frpc /etc/rc.d/S97frpc

GUI 控制

之后打开路由器进入管理界面,进入【system】—【startup】可以看到刚刚添加的服务。Restart 默认会先执行脚本中 stop 再执行 start。

No comments:

Post a Comment