2017-03-05 13:42:31 +00:00
readmeURL = " https://github.com/openwrt/packages/blob/master/net/vpnbypass/files/README.md "
2017-01-26 22:54:48 +00:00
m = Map ( " vpnbypass " , translate ( " VPN Bypass Settings " ) )
2017-01-26 22:54:48 +00:00
s = m : section ( NamedSection , " config " , " vpnbypass " )
-- General options
2018-01-26 02:30:20 +00:00
e = s : option ( Flag , " enabled " , translate ( " Start VPNBypass service " ) )
2017-03-05 13:42:31 +00:00
e.rmempty = false
function e . write ( self , section , value )
2018-01-26 02:30:20 +00:00
if value ~= " 1 " then
luci.sys . init.stop ( " vpnbypass " )
2017-03-05 13:42:31 +00:00
end
2017-03-05 18:25:00 +00:00
return Flag.write ( self , section , value )
2017-03-05 13:42:31 +00:00
end
2017-01-26 22:54:48 +00:00
-- Local Ports
p1 = s : option ( DynamicList , " localport " , translate ( " Local Ports to Bypass " ) , translate ( " Local ports to trigger VPN Bypass " ) )
2017-02-17 04:16:56 +00:00
p1.datatype = " portrange "
2017-03-05 18:25:00 +00:00
-- p1.placeholder = "0-65535"
2017-03-05 13:42:31 +00:00
p1.addremove = false
p1.optional = false
2017-01-26 22:54:48 +00:00
-- Remote Ports
p2 = s : option ( DynamicList , " remoteport " , translate ( " Remote Ports to Bypass " ) , translate ( " Remote ports to trigger VPN Bypass " ) )
2017-02-17 04:16:56 +00:00
p2.datatype = " portrange "
2017-03-05 18:25:00 +00:00
-- p2.placeholder = "0-65535"
2017-03-05 13:42:31 +00:00
p2.addremove = false
p2.optional = false
2017-01-26 22:54:48 +00:00
-- Local Subnets
2017-02-17 04:16:56 +00:00
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 "
2018-04-07 12:40:44 +00:00
-- r1.placeholder = luci.ip.new(m.uci:get("network", "lan", "ipaddr"), m.uci:get("network", "lan", "netmask"))
2017-03-05 13:42:31 +00:00
r1.addremove = false
r1.optional = false
2017-01-26 22:54:48 +00:00
-- Remote Subnets
2017-02-17 04:16:56 +00:00
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 "
2017-03-05 18:25:00 +00:00
-- r2.placeholder = "0.0.0.0/0"
2017-03-05 13:42:31 +00:00
r2.addremove = false
r2.optional = false
2017-01-26 22:54:48 +00:00
-- Domains
2017-01-26 22:54:48 +00:00
d = Map ( " dhcp " )
s4 = d : section ( TypedSection , " dnsmasq " )
s4.anonymous = true
2017-02-15 01:19:11 +00:00
di = s4 : option ( DynamicList , " ipset " , translate ( " Domains to Bypass " ) ,
translate ( " Domains to be accessed directly (outside of the VPN tunnel), see " )
2017-03-05 13:42:31 +00:00
.. [[<a href="]] .. readmeURL .. [[#bypass-domains-formatsyntax" target="_blank">]]
2018-01-15 13:28:15 +00:00
.. translate ( " README " ) .. [[</a> ]] .. translate ( " for syntax " ) )
2017-01-26 22:54:48 +00:00
2017-01-26 22:54:48 +00:00
return m , d