华硕AC68U路由器比较强大,带有一个800MHz的小芯片,能够处理一些东西,当然,纯论性能的,还是稍微差点意思的。相关信息请自行寻找。
基于其较强的能力,可以在外接了硬盘的情况下,自定义一些脚本并且执行。比如我定制了自动更新阿里云DNS解析的脚本,实现了动态域名的效果。但是由于其本身体系的完备性,所以经过一系列摸索,实现了脚本的自动执行。
对了,我用的是标准官方ROM,并没有刷tomato、potato什么的。

配置脚本

第一个,写一个脚本,这个脚本需要具备几个基本的参数执行,比如start、firewall-start、stop,其中的第二个比较重要,经过观察log,start可能会启动的时候执行一次,firewall-start则会多次执行,典型的情况,路由器外网掉线重连,获取了新的外网IP,然后防火墙(iptables)清空,并执行一遍重建。所以涉及到防火墙、或者外网IP变动的,最好实现这个参数。

配置自动运行

上述的脚本,自动运行,路由器的配置是有一套标准的。找了一圈,最后发现在/opt/lib/ipkg/info下,有一个.control文件来控制。这个文件实际上是ipkg(路由器三方应用的安装模式)的附属品,标准控制程序会检测某个脚本的存在,并且来这里查询.control文件中是否有Enabled,然后调用脚本以及传入相应参数。

总结

比如我们新建了一个ABC应用。首先把脚本放在

/opt/etc/init.d/S50ABC.sh

然后在写一个控制文件放在

/opt/lib/ipkg/info/ABC.sh

应该有至少一条内容是

Enabled = 1

完成!