1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

New interface for Glorytun TCP VPN

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-12-03 11:23:34 +01:00
parent 4a825c5650
commit 9ceaa526a5
23 changed files with 125 additions and 1071 deletions

View file

@ -0,0 +1,28 @@
#!/bin/sh
#
# Load the glorytun config
#
# Author: Ycarus (Yannick Chabanois) <ycarus@zugaina.org>
# Released under GPL 3 or later
[ "$ACTION" = ifup -o "$ACTION" = ifupdate ] || exit 0
. /lib/functions.sh
. /lib/functions/network.sh
set_default() {
local localip
local remoteip
local config="$1"
local iface
config_get enable "$config" enable
config_get iface "$config" dev
[ "$iface" = "$DEVICE" ] && [ "$enable" = "1" ] && {
config_get localip "$config" localip
config_get remoteip "$config" remoteip
[ "$remoteip" != "" ] && [ "$localip" != "" ] && ifconfig $DEVICE $localip pointopoint $remoteip up
}
}
config_load glorytun
config_foreach set_default glorytun

View file

@ -0,0 +1,55 @@
#!/bin/sh
uci -q batch <<-EOF >/dev/null
delete ucitrack.@glorytun[-1]
add ucitrack glorytun
set ucitrack.@glorytun[-1].init=glorytun
set ucitrack.@glorytun[-1].affects=glorytun-udp
delete ucitrack.@glorytun-udp[-1]
add ucitrack glorytun-udp
set ucitrack.@glorytun-udp[-1].init=glorytun-udp
commit ucitrack
EOF
if [ "$(uci -q get network.glorytun)" = "" ] && [ "$(uci -q get network.omrvpn)" = "" ]; then
uci -q batch <<-EOF >/dev/null
delete network.glorytun
set network.glorytun=interface
set network.glorytun.ifname=tun0
set network.glorytun.proto=dhcp
set network.glorytun.ip4table=vpn
set network.glorytun.multipath=off
set network.glorytun.leasetime=12h
commit network
EOF
# set network.glorytun.proto=static
# set network.glorytun.ipaddr=10.0.0.2
# set network.glorytun.netmask=255.255.255.0
# set network.glorytun.gateway=10.0.0.1
fi
if [ "$(uci -q show firewall | grep glorytun)" = "" ] && [ "$(uci -q get network.omrvpn)" = "" ]; then
uci -q batch <<-EOF >/dev/null
set firewall.zone_vpn=zone
set firewall.zone_vpn.name=vpn
set firewall.zone_vpn.network=glorytun
set firewall.zone_vpn.masq=1
set firewall.zone_vpn.input=REJECT
set firewall.zone_vpn.forward=ACCEPT
set firewall.zone_vpn.output=ACCEPT
commit firewall
EOF
fi
if [ "$(uci -q show firewall | grep Allow-All-LAN-to-VPN)" = "" ]; then
uci -q batch <<-EOF >/dev/null
add firewall rule
set firewall.@rule[-1].enabled='1'
set firewall.@rule[-1].target='ACCEPT'
set firewall.@rule[-1].name='Allow-All-LAN-to-VPN'
set firewall.@rule[-1].dest='vpn'
set firewall.@rule[-1].src='lan'
commit firewall
EOF
fi
rm -f /tmp/luci-indexcache
exit 0

View file

@ -0,0 +1,13 @@
{
"admin/vpn/glorytun-tcp": {
"title": "Glorytun TCP",
"order": 60,
"action": {
"type": "view",
"path": "services/glorytun-tcp"
},
"depends": {
"acl": [ "luci-app-glorytun-tcp" ]
}
}
}

View file

@ -0,0 +1,11 @@
{
"luci-app-glorytun-tcp": {
"description": "Grant access to glorytun TCP",
"read": {
"uci": [ "glorytun" ]
},
"write": {
"uci": [ "glorytun" ]
}
}
}