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
2017-03-05 13:42:31 +00:00
e = s : option ( Flag , " enabled " , translate ( " Enable VPN Bypass " ) )
e.rmempty = false
function e . cfgvalue ( self , section )
return 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 " )
luci.sys . call ( " /etc/init.d/vpnbypass disable >/dev/null " )
end
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 "
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 "
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 "
r1.placeholder = luci.ip . new ( uci.cursor ( ) : get ( " network " , " lan " , " ipaddr " ) .. " / " .. uci.cursor ( ) : 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 "
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">]]
2017-02-15 01:19:11 +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