luci-app-shadowsocks-libev: move plugin options to server sections

In this change, plugin options are moved from component settings to
only server settings.  This should make the configuration easier.  And
it will be less error-prone as it's impossible now for users to
inconsisitent plugin settings for instances referring to the same remote
server

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
This commit is contained in:
Yousong Zhou 2019-05-09 06:00:52 +00:00
parent 6b7afabcdd
commit 62d8a4fdd7
3 changed files with 20 additions and 11 deletions

View file

@ -27,7 +27,7 @@ ss.option_install_package(s, "general")
ss.options_common(s, "advanced") ss.options_common(s, "advanced")
if stype == "ss_server" then if stype == "ss_server" then
ss.options_server(s, "general") ss.options_server(s, {tab="general"})
o = s:taboption("general", Value, "bind_address", o = s:taboption("general", Value, "bind_address",
translate("Bind address"), translate("Bind address"),
translate("The address ss-server will initiate connection from")) translate("The address ss-server will initiate connection from"))

View file

@ -19,13 +19,18 @@ if sname then
end end
s = m:section(NamedSection, sname, "server") s = m:section(NamedSection, sname, "server")
m.title = m.title .. ' - ' .. sname m.title = m.title .. ' - ' .. sname
opts = {}
else else
s = m:section(TypedSection, "server") s = m:section(TypedSection, "server")
s.template = 'cbi/tblsection' s.template = 'cbi/tblsection'
s.addremove = true s.addremove = true
s.extedit = function(self, section)
return 'servers/' .. section
end
opts = {row=true}
end end
s:option(Flag, "disabled", translate("Disable")) s:option(Flag, "disabled", translate("Disable"))
ss.options_server(s) ss.options_server(s, opts)
return m return m

View file

@ -76,9 +76,11 @@ function options_client(s, tab)
o.datatype = "port" o.datatype = "port"
end end
function options_server(s, tab) function options_server(s, opts)
local o local o
local optfunc local optfunc
local tab = opts and opts.tab or nil
local row = opts and opts.row or false
if tab == nil then if tab == nil then
optfunc = function(...) return s:option(...) end optfunc = function(...) return s:option(...) end
@ -96,13 +98,17 @@ function options_server(s, tab)
for _, m in ipairs(methods) do for _, m in ipairs(methods) do
o:value(m) o:value(m)
end end
o = optfunc(Value, "key", translate("Key (base64)"))
o.datatype = "base64"
o.password = true
o.size = 12
o = optfunc(Value, "password", translate("Password")) o = optfunc(Value, "password", translate("Password"))
o.password = true o.password = true
o.size = 12 o.size = 12
if not row then
o = optfunc(Value, "key", translate("Key (base64)"))
o.datatype = "base64"
o.password = true
o.size = 12
optfunc(Value, "plugin", translate("Plugin"))
optfunc(Value, "plugin_opts", translate("Plugin Options"))
end
end end
function options_common(s, tab) function options_common(s, tab)
@ -117,8 +123,6 @@ function options_common(s, tab)
o.datatype = "uinteger" o.datatype = "uinteger"
o = s:taboption(tab, Value, "timeout", translate("Timeout (sec)")) o = s:taboption(tab, Value, "timeout", translate("Timeout (sec)"))
o.datatype = "uinteger" o.datatype = "uinteger"
s:taboption(tab, Value, "plugin", translate("Plugin"))
s:taboption(tab, Value, "plugin_opts", translate("Plugin Options"))
s:taboption(tab, Value, "user", translate("Run as")) s:taboption(tab, Value, "user", translate("Run as"))
s:taboption(tab, Flag, "verbose", translate("Verbose")) s:taboption(tab, Flag, "verbose", translate("Verbose"))
@ -213,6 +217,8 @@ names_options_server = {
"method", "method",
"key", "key",
"password", "password",
"plugin",
"plugin_opts",
} }
names_options_client = { names_options_client = {
@ -230,8 +236,6 @@ names_options_common = {
"mode", "mode",
"mtu", "mtu",
"timeout", "timeout",
"plugin",
"plugin_opts",
"user", "user",
} }