openwrt-packages/luci-app-aliddns/files/luci/model/cbi/aliddns.lua
2024-04-22 02:00:41 +08:00

85 lines
2.2 KiB
Lua

local a = require("luci.sys")
local e = luci.model.uci.cursor()
local e = require("nixio.fs")
require("luci.sys")
local t, e, o
t = Map("aliddns", translate("AliDDNS"))
e = t:section(TypedSection, "base", translate("Base"))
e.anonymous = true
enable = e:option(Flag, "enable", translate("enable"))
enable.rmempty = false
enable = e:option(Flag, "clean", translate("Clean Before Update"))
enable.rmempty = false
ipv4 = e:option(Flag, "ipv4", translate("Enabled IPv4"))
ipv4.rmempty = false
ipv6 = e:option(Flag, "ipv6", translate("Enabled IPv6"))
ipv6.rmempty = false
token = e:option(Value, "app_key", translate("Access Key ID"))
email = e:option(Value, "app_secret", translate("Access Key Secret"))
iface = e:option(
ListValue,
"interface",
translate("WAN-IP Source"),
translate("Select the WAN-IP Source for AliDDNS, like wan/internet")
)
iface:value("", translate("Select WAN-IP Source"))
iface:value("internet", translate("Internet"))
iface:value("wan")
iface.rmempty = false
iface6 = e:option(
ListValue,
"interface6",
translate("WAN6-IP Source"),
translate("Select the WAN6-IP Source for AliDDNS, like wan6/internet")
)
iface6:value("", translate("Select WAN6-IP Source"))
iface6:value("internet", translate("Internet"))
iface6:value("wan")
iface6:value("wan6")
iface6:value("wan_6")
iface6.rmempty = true
main = e:option(Value, "main_domain", translate("Main Domain"), translate("For example: test.github.com -> github.com"))
main.rmempty = false
sub = e:option(Value, "sub_domain", translate("Sub Domain"), translate("For example: test.github.com -> test"))
sub.rmempty = false
time = e:option(Value, "time", translate("Inspection Time"), translate("Unit: Minute, Range: 1-59"))
time.rmempty = false
e = t:section(TypedSection, "base", translate("Update Log"))
e.anonymous = true
local a = "/var/log/aliddns.log"
tvlog = e:option(TextValue, "sylogtext")
tvlog.rows = 16
tvlog.readonly = "readonly"
tvlog.wrap = "off"
function tvlog.cfgvalue(e, e)
sylogtext = ""
if a and nixio.fs.access(a) then
sylogtext = luci.sys.exec("tail -n 100 %s" % a)
end
return sylogtext
end
tvlog.write = function(e, e, e) end
local e = luci.http.formvalue("cbi.apply")
if e then
io.popen("/etc/init.d/aliddns restart")
end
return t