|
@@ -17,13 +17,13 @@ s.addremove=false
|
|
|
---- enable
|
|
|
o = s:option(Flag, "enabled", translate("Enable"))
|
|
|
o.default = 0
|
|
|
-o.rmempty = false
|
|
|
+o.optional = false
|
|
|
---- httpport
|
|
|
o =s:option(Value,"httpport",translate("Browser management port"))
|
|
|
o.placeholder=3000
|
|
|
o.default=3000
|
|
|
o.datatype="port"
|
|
|
-o.rmempty=false
|
|
|
+o.optional = false
|
|
|
o.description = translate("<input type=\"button\" style=\"width:210px;border-color:Teal; text-align:center;font-weight:bold;color:Green;\" value=\"AdGuardHome Web:"..httpport.."\" onclick=\"window.open('http://'+window.location.hostname+':"..httpport.."/')\"/>")
|
|
|
---- update warning not safe
|
|
|
local version=uci:get("AdGuardHome","AdGuardHome","version") or "unknown"
|
|
@@ -52,10 +52,12 @@ o:value("dnsmasq-upstream", translate("Run as dnsmasq upstream server"))
|
|
|
o:value("redirect", translate("Redirect 53 port to AdGuardHome"))
|
|
|
o:value("exchange", translate("Use port 53 replace dnsmasq"))
|
|
|
o.default = "none"
|
|
|
+o.optional = true
|
|
|
---- bin path
|
|
|
o = s:option(Value, "binpath", translate("Bin Path"), translate("AdGuardHome Bin path if no bin will auto download"))
|
|
|
o.default = "/usr/bin/AdGuardHome/AdGuardHome"
|
|
|
o.datatype = "string"
|
|
|
+o.optional = false
|
|
|
o.validate=function(self, value)
|
|
|
if fs.stat(value,"type")=="dir" then
|
|
|
fs.rmdir(value)
|
|
@@ -80,11 +82,12 @@ o:value("--brute", translate("try all available compression methods & filters [s
|
|
|
o:value("--ultra-brute", translate("try even more compression variants [very slow]"))
|
|
|
o.default = ""
|
|
|
o.description=translate("bin use less space,but may have compatibility issues")
|
|
|
-o.rmempty = false
|
|
|
+o.optional = true
|
|
|
---- config path
|
|
|
o = s:option(Value, "configpath", translate("Config Path"), translate("AdGuardHome config path"))
|
|
|
o.default = "/etc/AdGuardHome.yaml"
|
|
|
o.datatype = "string"
|
|
|
+o.optional = false
|
|
|
o.validate=function(self, value)
|
|
|
if fs.stat(value,"type")=="dir" then
|
|
|
fs.rmdir(value)
|
|
@@ -103,6 +106,7 @@ end
|
|
|
o = s:option(Value, "workdir", translate("Work dir"), translate("AdGuardHome work dir include rules,audit log and database"))
|
|
|
o.default = "/usr/bin/AdGuardHome"
|
|
|
o.datatype = "string"
|
|
|
+o.optional = false
|
|
|
o.validate=function(self, value)
|
|
|
if fs.stat(value,"type")=="reg" then
|
|
|
if m.message then
|
|
@@ -122,6 +126,7 @@ end
|
|
|
o = s:option(Value, "logfile", translate("Runtime log file"), translate("AdGuardHome runtime Log file if 'syslog': write to system log;if empty no log"))
|
|
|
o.default = ""
|
|
|
o.datatype = "string"
|
|
|
+o.optional = true
|
|
|
o.validate=function(self, value)
|
|
|
if fs.stat(value,"type")=="dir" then
|
|
|
fs.rmdir(value)
|
|
@@ -139,6 +144,7 @@ end
|
|
|
---- debug
|
|
|
o = s:option(Flag, "verbose", translate("Verbose log"))
|
|
|
o.default = 0
|
|
|
+o.optional = true
|
|
|
---- gfwlist
|
|
|
local a=luci.sys.call("grep -m 1 -q programadd "..configpath)
|
|
|
if (a==0) then
|
|
@@ -147,6 +153,7 @@ else
|
|
|
a="Not added"
|
|
|
end
|
|
|
o=s:option(Button,"gfwadd",translate("Add gfwlist"),translate(a))
|
|
|
+o.optional = true
|
|
|
o.inputtitle=translate("Add")
|
|
|
o.write=function()
|
|
|
luci.sys.exec("sh /usr/share/AdGuardHome/gfw2adg.sh 2>&1")
|
|
@@ -155,25 +162,31 @@ end
|
|
|
o = s:option(Value, "gfwupstream", translate("Gfwlist upstream dns server"), translate("Gfwlist domain upstream dns service"))
|
|
|
o.default = "tcp://208.67.220.220:5353"
|
|
|
o.datatype = "string"
|
|
|
+o.optional = true
|
|
|
---- chpass
|
|
|
o = s:option(Value, "hashpass", translate("Change browser management password"), translate("Press load culculate model and culculate finally save/apply"))
|
|
|
o.default = ""
|
|
|
o.datatype = "string"
|
|
|
o.template = "AdGuardHome/AdGuardHome_chpass"
|
|
|
+o.optional = true
|
|
|
---- database protect
|
|
|
o = s:option(Flag, "keepdb", translate("Keep database when system upgrade"))
|
|
|
o.default = 0
|
|
|
+o.optional = true
|
|
|
---- wait net on boot
|
|
|
o = s:option(Flag, "waitonboot", translate("Boot delay until network ok"))
|
|
|
o.default = 1
|
|
|
+o.optional = true
|
|
|
---- backup workdir on shutdown
|
|
|
o = s:option(Flag, "backupwd", translate("Backup workdir when shutdown"))
|
|
|
o.default = 0
|
|
|
+o.optional = true
|
|
|
o.description=translate("Will be restore when workdir/data is empty")
|
|
|
----backup workdir path
|
|
|
o = s:option(Value, "backupwdpath", translate("Backup workdir path"))
|
|
|
o.default = "/usr/bin/AdGuardHome"
|
|
|
o.datatype = "string"
|
|
|
+o.optional = true
|
|
|
o.validate=function(self, value)
|
|
|
if fs.stat(value,"type")=="reg" then
|
|
|
if m.message then
|
|
@@ -192,11 +205,14 @@ end
|
|
|
----autoupdate
|
|
|
o = s:option(Flag, "autoupdate", translate("Auto update core with crontab"))
|
|
|
o.default = 0
|
|
|
+o.optional = true
|
|
|
----cutquerylog
|
|
|
o = s:option(Flag, "cutquerylog", translate("Auto tail querylog with crontab"))
|
|
|
o.default = 0
|
|
|
+o.optional = true
|
|
|
----downloadpath
|
|
|
-o = s:option(TextValue, "downloadlinks",translate("Update download links"))
|
|
|
+o = s:option(TextValue, "downloadlinks",translate("Download links for update"))
|
|
|
+o.optional = false
|
|
|
o.rows = 4
|
|
|
o.wrap = "on"
|
|
|
o.size=111
|