|
楼主 |
发表于 2019-10-13 09:12
|
显示全部楼层
不是,这只是一个例子而已,不是应用后需要重启,比如下面的例子:
填写域名后,第一次点击应用,在启动项里面显示idns是已禁止的
第二次点击应用后,才会显示已启用
###/etc/init.d/idns
START=50
start(){
lan_ipaddr=$(uci get network.lan.ipaddr)
IDNS=$(uci get idns.@idns[0].domain )
if [ -n "$IDNS" ]; then
/etc/init.d/idns enable
sed -i '/#added by IDNS/d' /etc/hosts
echo "$lan_ipaddr $IDNS #added by IDNS " >> /etc/hosts
/etc/init.d/dnsmasq restart
else
/etc/init.d/idns disable
sed -i '/#added by IDNS/d' /etc/hosts
/etc/init.d/dnsmasq restart
return
fi
}
/model/cbi/idns.lua文件
-- Copyright (C) 2019 Twinzo1 <1282055288@qq.com>
local m, s
local fs = require "nixio.fs"
local sys = require "luci.sys"
m = Map("idns", translate("内网域名服务"), translate("定制路由域名,在内网可以通过域名来访问你的路由器"))
s = m:section(TypedSection, "idns")
-- 这里的dogcom对应config里面的option
s.addremove = false
s.anonymous = true
domain = sption(Value,"domain",translate("域名"),
translate("如普联的tplink.cn"))
local apply = luci.http.formvalue("cbi.apply")
if apply then
io.popen("/etc/init.d/idns restart")
end
return m
|
|