X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fluci.git;a=blobdiff_plain;f=applications%2Fluci-app-shadowsocks-libev%2Fluasrc%2Fmodel%2Fshadowsocks-libev.lua;h=7ba6b40c5309b7a236880e6aefed31f75f81a2fa;hp=b11890f89d8b89dca99ec227f8c2bb0ced65f0ad;hb=4b042bcbd9104c128dd2255b02f8dbc2dd59b653;hpb=317cfd0b4be78a68c0fb6695803feb32c2768d5d diff --git a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua index b11890f89..7ba6b40c5 100644 --- a/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua +++ b/applications/luci-app-shadowsocks-libev/luasrc/model/shadowsocks-libev.lua @@ -3,6 +3,7 @@ local _up = getfenv(3) local ut = require("luci.util") +local sys = require("luci.sys") local ds = require("luci.dispatcher") local nw = require("luci.model.network") nw.init() @@ -14,20 +15,25 @@ module("luci.model.shadowsocks-libev", function(m) end) function values_actions(o) - for _, a in ipairs(actions) do - o:value(a) + o:value("bypass") + o:value("forward") + if o.option ~= "dst_default" then + o:value("checkdst") end end function values_redir(o, xmode) o.map.uci.foreach("shadowsocks-libev", "ss_redir", function(sdata) + local disabled = ucival_to_bool(sdata["disabled"]) local sname = sdata[".name"] - local mode = sdata["mode"] - if mode and mode:find(xmode) then + local mode = sdata["mode"] or "tcp_only" + if not disabled and mode:find(xmode) then local desc = "%s - %s" % {sname, mode} o:value(sname, desc) end end) + o:value("", "") + o.default = "" end function values_serverlist(o) @@ -43,7 +49,6 @@ function values_serverlist(o) end function values_ipaddr(o) - local keys, vals = {}, {} for _, v in ipairs(nw:get_interfaces()) do for _, a in ipairs(v:ipaddrs()) do o:value(a:host():string(), '%s (%s)' %{ a:host(), v:shortname() }) @@ -51,6 +56,12 @@ function values_ipaddr(o) end end +function values_ifnames(o) + for _, v in ipairs(sys.net.devices()) do + o:value(v) + end +end + function options_client(s, tab) local o @@ -132,6 +143,8 @@ function cfgvalue_overview(sdata) cfgvalue_overview_(sdata, lines, names_options_client) if stype == "ss_tunnel" then cfgvalue_overview_(sdata, lines, {"tunnel_address"}) + elseif stype == "ss_redir" then + cfgvalue_overview_(sdata, lines, {"disable_sni"}) end cfgvalue_overview_(sdata, lines, names_options_common) else @@ -154,6 +167,9 @@ function cfgvalue_overview_(sdata, lines, names) for _, n in ipairs(names) do local v = sdata[n] if v ~= nil then + if n == "key" or n == "password" then + v = translate("") + end local fv = "%s" % ut.pcdata(v) if sdata[".type"] ~= "ss_server" and n == "server" then fv = '%s' % { @@ -221,17 +237,13 @@ modes = { "udp_only", } -actions = { - "bypass", - "forward", - "checkdst", -} - methods = { -- aead "aes-128-gcm", "aes-192-gcm", "aes-256-gcm", + "chacha20-ietf-poly1305", + "xchacha20-ietf-poly1305", -- stream "table", "rc4",