X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;ds=sidebyside;f=applications%2Fluci-app-vpnbypass%2Fluasrc%2Fmodel%2Fcbi%2Fvpnbypass.lua;h=b35a8e4e0291fc462ecd64de9858a3e37315c440;hb=d40a939d65397580ceb7209d9c1ba01a396c6220;hp=1957948382e5072f8b8d17f77b5985cec04092b1;hpb=5180a5bb8bcab18e06d25dbe94ba3f5e37e66248;p=project%2Fluci.git diff --git a/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua b/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua index 195794838..b35a8e4e0 100644 --- a/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua +++ b/applications/luci-app-vpnbypass/luasrc/model/cbi/vpnbypass.lua @@ -1,35 +1,61 @@ -m = Map("vpnbypass", translate("VPN Bypass Settings"), translate("Configuration of VPN Bypass Settings")) +readmeURL = "https://github.com/openwrt/packages/blob/master/net/vpnbypass/files/README.md" + +m = Map("vpnbypass", translate("VPN Bypass Settings")) s = m:section(NamedSection, "config", "vpnbypass") -- General options -o1 = s:option(Flag, "enabled", translate("Enable VPN Bypass")) -o1.rmempty = false -o1.default = 0 +e = s:option(Flag, "enabled", translate("Enable/start service")) +e.rmempty = false + +function e.cfgvalue(self, section) + return self.map:get(section, "enabled") == "1" and luci.sys.init.enabled("vpnbypass") and self.enabled or self.disabled +end + +function e.write(self, section, value) + if value == "1" then + luci.sys.call("/etc/init.d/vpnbypass enable >/dev/null") + luci.sys.call("/etc/init.d/vpnbypass start >/dev/null") + else + luci.sys.call("/etc/init.d/vpnbypass stop >/dev/null") + end + return Flag.write(self, section, value) +end -- Local Ports p1 = s:option(DynamicList, "localport", translate("Local Ports to Bypass"), translate("Local ports to trigger VPN Bypass")) -p1.addremove = true -p1.optional = true +p1.datatype = "portrange" +-- p1.placeholder = "0-65535" +p1.addremove = false +p1.optional = false -- Remote Ports p2 = s:option(DynamicList, "remoteport", translate("Remote Ports to Bypass"), translate("Remote ports to trigger VPN Bypass")) -p2.addremove = true -p2.optional = true +p2.datatype = "portrange" +-- p2.placeholder = "0-65535" +p2.addremove = false +p2.optional = false -- Local Subnets -r1 = s:option(DynamicList, "localsubnet", translate("Local IP Subnets to Bypass"), translate("Local IP ranges with direct internet access (outside of the VPN tunnel)")) -r1.addremove = true -r1.optional = true +r1 = s:option(DynamicList, "localsubnet", translate("Local IP Addresses to Bypass"), translate("Local IP addresses or subnets with direct internet access (outside of the VPN tunnel)")) +r1.datatype = "ip4addr" +-- r1.placeholder = luci.ip.new(uci.cursor():get("network", "lan", "ipaddr") .. "/" .. uci.cursor():get("network", "lan", "netmask")) +r1.addremove = false +r1.optional = false -- Remote Subnets -r2 = s:option(DynamicList, "remotesubnet", translate("Remote IP Subnets to Bypass"), translate("Remote IP ranges which will be accessed directly (outside of the VPN tunnel)")) -r2.addremove = true -r2.optional = true +r2 = s:option(DynamicList, "remotesubnet", translate("Remote IP Addresses to Bypass"), translate("Remote IP addresses or subnets which will be accessed directly (outside of the VPN tunnel)")) +r2.datatype = "ip4addr" +-- r2.placeholder = "0.0.0.0/0" +r2.addremove = false +r2.optional = false -- Domains -d1 = s:option(DynamicList, "domain", translate("Domains to Bypass"), translate("Domains which will be accessed directly (outside of the VPN tunnel)")) -d1.addremove = true -d1.optional = true - -return m - +d = Map("dhcp") +s4 = d:section(TypedSection, "dnsmasq") +s4.anonymous = true +di = s4:option(DynamicList, "ipset", translate("Domains to Bypass"), + translate("Domains to be accessed directly (outside of the VPN tunnel), see ") + .. [[]] + .. translate("README") .. [[]] .. translate(" for syntax")) + +return m, d