luci-app-shadowsocks-libev: remove deprecated option disable_sni
[project/luci.git] / applications / luci-app-shadowsocks-libev / luasrc / model / shadowsocks-libev.lua
index 650ff63..af1a75b 100644 (file)
@@ -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()
@@ -23,13 +24,16 @@ 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"] or "tcp_only"
-               if mode and mode:find(xmode) then
+               if not disabled and mode:find(xmode) then
                        local desc = "%s - %s" % {sname, mode}
                        o:value(sname, desc)
                end
        end)
+       o:value("", "<unset>")
+       o.default = ""
 end
 
 function values_serverlist(o)
@@ -38,7 +42,8 @@ function values_serverlist(o)
                local server = sdata["server"]
                local server_port = sdata["server_port"]
                if server and server_port then
-                       local desc = "%s - %s:%s" % {sname, sdata["server"], sdata["server_port"]}
+                       local disabled = ucival_to_bool(sdata[".disabled"]) and " - disabled" or ""
+                       local desc = "%s - %s:%s%s" % {sname, server, server_port, disabled}
                        o:value(sname, desc)
                end
        end)
@@ -53,10 +58,8 @@ function values_ipaddr(o)
 end
 
 function values_ifnames(o)
-       for _, v in ipairs(nw:get_interfaces()) do
-               if v.dev then
-                       o:value(v.dev.name)
-               end
+       for _, v in ipairs(sys.net.devices()) do
+               o:value(v)
        end
 end
 
@@ -119,6 +122,7 @@ function options_common(s, tab)
        s:taboption(tab, Flag, "verbose", translate("Verbose"))
        s:taboption(tab, Flag, "ipv6_first", translate("IPv6 First"), translate("Prefer IPv6 addresses when resolving names"))
        s:taboption(tab, Flag, "fast_open", translate("Enable TCP Fast Open"))
+       s:taboption(tab, Flag, "no_delay", translate("Enable TCP_NODELAY"))
        s:taboption(tab, Flag, "reuse_port", translate("Enable SO_REUSEPORT"))
 end
 
@@ -135,14 +139,11 @@ function cfgvalue_overview(sdata)
                cfgvalue_overview_(sdata, lines, names_options_common)
                cfgvalue_overview_(sdata, lines, {
                        "bind_address",
-                       "manager_address",
                })
        elseif stype == "ss_local" or stype == "ss_redir" or stype == "ss_tunnel" then
                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
@@ -222,6 +223,7 @@ names_options_common = {
        "verbose",
        "ipv6_first",
        "fast_open",
+       "no_delay",
        "reuse_port",
        "mode",
        "mtu",