local m, s, o m = Map("shadowsocksr", translate("IP black-and-white list")) s = m:section(TypedSection, "access_control") s.anonymous = true -- Part of WAN s:tab("wan_ac", translate("WAN IP AC")) o = s:taboption("wan_ac", DynamicList, "wan_bp_ips", translate("WAN White List IP")) o.datatype = "ip4addr" o = s:taboption("wan_ac", DynamicList, "wan_fw_ips", translate("WAN Force Proxy IP")) o.datatype = "ip4addr" -- Part of LAN s:tab("lan_ac", translate("LAN IP AC")) o = s:taboption("lan_ac", DynamicList, "lan_ac_ips", translate("LAN Bypassed Host List")) o.datatype = "ipaddr" luci.ip.neighbors({ family = 4 }, function(entry) if entry.reachable then o:value(entry.dest:string()) end end) o = s:taboption("lan_ac", DynamicList, "lan_fp_ips", translate("LAN Force Proxy Host List")) o.datatype = "ipaddr" luci.ip.neighbors({ family = 4 }, function(entry) if entry.reachable then o:value(entry.dest:string()) end end) o = s:taboption("lan_ac", DynamicList, "lan_gm_ips", translate("Game Mode Host List")) o.datatype = "ipaddr" luci.ip.neighbors({ family = 4 }, function(entry) if entry.reachable then o:value(entry.dest:string()) end end) -- Part of Self -- s:tab("self_ac", translate("Router Self AC")) -- o = s:taboption("self_ac",ListValue, "router_proxy", translate("Router Self Proxy")) -- o:value("1", translatef("Normal Proxy")) -- o:value("0", translatef("Bypassed Proxy")) -- o:value("2", translatef("Forwarded Proxy")) -- o.rmempty = false return m