Merge pull request #977 from stangri/luci-app-vpnbypass

luci-app-vpnbypass: initial commit of companion app to vpnbypass package
This commit is contained in:
Hannu Nyman 2017-01-27 15:31:48 +02:00 committed by GitHub
commit 4e6010cd73
4 changed files with 98 additions and 0 deletions

View file

@ -0,0 +1,44 @@
# Copyright (c) 2017 Stan Grishin (stangri@melmac.net)
# This is free software, licensed under the GNU General Public License v3.
include $(TOPDIR)/rules.mk
PKG_NAME:=luci-app-vpnbypass
PKG_VERSION:=1.0.0
PKG_RELEASE:=3
PKG_LICENSE:=GPL-3.0+
PKG_MAINTAINER:=Stan Grishin <stangri@melmac.net>
PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
include $(INCLUDE_DIR)/package.mk
define Package/luci-app-vpnbypass
SECTION:=luci
CATEGORY:=LuCI
SUBMENU:=3. Applications
TITLE:=VPN Bypass Web UI
DEPENDS:=+luci-mod-admin-full +vpnbypass
PKGARCH:=all
endef
define Package/luci-app-vpnbypass/description
This package will install VPN Bypass Web UI.
endef
define Build/Prepare
endef
define Build/Configure
endef
define Build/Compile
endef
define Package/luci-app-vpnbypass/install
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/controller/
$(INSTALL_BIN) ./luasrc/controller/vpnbypass.lua $(1)/usr/lib/lua/luci/controller/vpnbypass.lua
$(INSTALL_DIR) $(1)/usr/lib/lua/luci/model/cbi/
$(INSTALL_BIN) ./luasrc/model/cbi/vpnbypass.lua $(1)/usr/lib/lua/luci/model/cbi/vpnbypass.lua
endef
$(eval $(call BuildPackage,luci-app-vpnbypass))

View file

@ -0,0 +1,8 @@
module("luci.controller.vpnbypass", package.seeall)
function index()
if not nixio.fs.access("/etc/config/vpnbypass") then
return
end
entry({"admin", "services", "vpnbypass"}, cbi("vpnbypass"), translate("VPN Bypass"), 1)
end

View file

@ -0,0 +1,35 @@
m = Map("vpnbypass", translate("VPN Bypass Settings"), translate("Configuration of 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
-- 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
-- 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
-- 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
-- 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
-- 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

View file

@ -0,0 +1,11 @@
#!/bin/sh
uci -q batch <<-EOF >/dev/null
delete ucitrack.@vpnbypass[-1]
add ucitrack vpnbypass
set ucitrack.@vpnbypass[-1].init=vpnbypass
commit ucitrack
EOF
rm -f /tmp/luci-indexcache
exit 0