mirror of
https://github.com/Ysurac/openmptcprouter-feeds.git
synced 2025-02-15 03:51:51 +00:00
Merge pull request #83 from Ysurac/develop
Fix to allow many IPs on VPS
This commit is contained in:
commit
b1646c0512
4 changed files with 62 additions and 58 deletions
|
@ -945,7 +945,7 @@
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
for _, ifacea in ipairs(net:get_networks()) do
|
for _, ifacea in ipairs(net:get_networks()) do
|
||||||
if not (ifacea:name() == "loopback" or ifacea:name() == "lan" or ifacea:name() == "omr6in4" or ifacea:name() == "omrvpn" or ifacea:name():match("^omrip.*")) then
|
if not (ifacea:name() == "loopback" or ifacea:name() == "lan" or ifacea:name() == "omr6in4" or ifacea:name() == "omrvpn" or ifacea:name():match("^oip.*")) then
|
||||||
%>
|
%>
|
||||||
<option value="<%='@' .. ifacea:name()%>"><%='@' .. ifacea:name() .. ' (alias)'%></option>
|
<option value="<%='@' .. ifacea:name()%>"><%='@' .. ifacea:name() .. ' (alias)'%></option>
|
||||||
<%
|
<%
|
||||||
|
|
|
@ -25,7 +25,7 @@ _ping_tunnel() {
|
||||||
config_get gateway $1 gateway
|
config_get gateway $1 gateway
|
||||||
config_get ifname $1 ifname
|
config_get ifname $1 ifname
|
||||||
config_get disabled $1 disabled
|
config_get disabled $1 disabled
|
||||||
[ "$(echo $ifname | grep omrip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
|
[ "$(echo $ifname | grep oip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
|
||||||
_ping_server $gateway
|
_ping_server $gateway
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -489,34 +489,34 @@ _get_gre_tunnel() {
|
||||||
peeraddr="$(echo $tunnel | jsonfilter -q -e '@.remote_ip')"
|
peeraddr="$(echo $tunnel | jsonfilter -q -e '@.remote_ip')"
|
||||||
ipaddr="$(echo $tunnel | jsonfilter -q -e '@.local_ip')"
|
ipaddr="$(echo $tunnel | jsonfilter -q -e '@.local_ip')"
|
||||||
publicaddr="$(echo $tunnel | jsonfilter -q -e '@.public_ip')"
|
publicaddr="$(echo $tunnel | jsonfilter -q -e '@.public_ip')"
|
||||||
if [ "$peeraddr" != "" ] && [ "$ipaddr" != "" ] && [ "$publicaddr" != "" ] && ([ "$(uci -q get network.omrip${i}.ipaddr)" != "$peeraddr" ] || [ "$(uci -q get network.omrip${i}.ipaddr)" != "$ipaddr" ] || [ "$(uci -q get network.omrip${i}gre.ipaddr)" != "$vpnip_local" ]); then
|
if [ "$peeraddr" != "" ] && [ "$ipaddr" != "" ] && [ "$publicaddr" != "" ] && ([ "$(uci -q get network.oip${i}.ipaddr)" != "$peeraddr" ] || [ "$(uci -q get network.oip${i}.ipaddr)" != "$ipaddr" ] || [ "$(uci -q get network.oip${i}gre.ipaddr)" != "$vpnip_local" ]); then
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
set network.omrip${i}gre=interface
|
set network.oip${i}gre=interface
|
||||||
set network.omrip${i}gre.label="GRE tunnel for $publicaddr"
|
set network.oip${i}gre.label="GRE tunnel for $publicaddr"
|
||||||
set network.omrip${i}gre.proto=gre
|
set network.oip${i}gre.proto=gre
|
||||||
set network.omrip${i}gre.nohostroute='1'
|
set network.oip${i}gre.nohostroute='1'
|
||||||
set network.omrip${i}gre.ipv6='0'
|
set network.oip${i}gre.ipv6='0'
|
||||||
set network.omrip${i}gre.defaultroute='0'
|
set network.oip${i}gre.defaultroute='0'
|
||||||
set network.omrip${i}gre.multipath='off'
|
set network.oip${i}gre.multipath='off'
|
||||||
set network.omrip${i}gre.peerdns='0'
|
set network.oip${i}gre.peerdns='0'
|
||||||
set network.omrip${i}gre.ttl='255'
|
set network.oip${i}gre.ttl='255'
|
||||||
set network.omrip${i}gre.ip4table='vpn'
|
set network.oip${i}gre.ip4table='vpn'
|
||||||
set network.omrip${i}gre.peeraddr="$publicaddr"
|
set network.oip${i}gre.peeraddr="$publicaddr"
|
||||||
set network.omrip${i}gre.ipaddr="$vpnip_local"
|
set network.oip${i}gre.ipaddr="$vpnip_local"
|
||||||
set network.omrip${i}=interface
|
set network.oip${i}=interface
|
||||||
set network.omrip${i}.label="Tunnel for $publicaddr"
|
set network.oip${i}.label="Tunnel for $publicaddr"
|
||||||
set network.omrip${i}.proto=static
|
set network.oip${i}.proto=static
|
||||||
set network.omrip${i}.nohostroute='1'
|
set network.oip${i}.nohostroute='1'
|
||||||
set network.omrip${i}.ifname="@omrip${i}gre"
|
set network.oip${i}.ifname="@oip${i}gre"
|
||||||
set network.omrip${i}.ipv6='0'
|
set network.oip${i}.ipv6='0'
|
||||||
set network.omrip${i}.defaultroute='0'
|
set network.oip${i}.defaultroute='0'
|
||||||
set network.omrip${i}.multipath='off'
|
set network.oip${i}.multipath='off'
|
||||||
set network.omrip${i}.peerdns='0'
|
set network.oip${i}.peerdns='0'
|
||||||
set network.omrip${i}.ip4table='vpn'
|
set network.oip${i}.ip4table='vpn'
|
||||||
set network.omrip${i}.gateway="$ipaddr"
|
set network.oip${i}.gateway="$ipaddr"
|
||||||
set network.omrip${i}.ipaddr="$peeraddr"
|
set network.oip${i}.ipaddr="$peeraddr"
|
||||||
set network.omrip${i}.netmask="255.255.255.252"
|
set network.oip${i}.netmask="255.255.255.252"
|
||||||
set network.omrip${i}.lookup="667${i}"
|
set network.oip${i}.lookup="667${i}"
|
||||||
commit network
|
commit network
|
||||||
EOF
|
EOF
|
||||||
allintf=$(uci -q get firewall.zone_vpn.network)
|
allintf=$(uci -q get firewall.zone_vpn.network)
|
||||||
|
@ -525,39 +525,39 @@ _get_gre_tunnel() {
|
||||||
uci -q add_list firewall.zone_vpn.network=$intf
|
uci -q add_list firewall.zone_vpn.network=$intf
|
||||||
done
|
done
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
add_list firewall.zone_vpn.network="omrip${i}gre"
|
add_list firewall.zone_vpn.network="oip${i}gre"
|
||||||
add_list firewall.zone_vpn.network="omrip${i}"
|
add_list firewall.zone_vpn.network="oip${i}"
|
||||||
commit firewall
|
commit firewall
|
||||||
EOF
|
EOF
|
||||||
ssport="$(echo $tunnel | jsonfilter -q -e '@.shadowsocks_port')"
|
ssport="$(echo $tunnel | jsonfilter -q -e '@.shadowsocks_port')"
|
||||||
uci -q batch <<-EOF >/dev/null
|
uci -q batch <<-EOF >/dev/null
|
||||||
set shadowsocks-libev.omrip${i}server=server
|
set shadowsocks-libev.oip${i}server=server
|
||||||
set shadowsocks-libev.omrip${i}server.label="Server with public IP $publicaddr"
|
set shadowsocks-libev.oip${i}server.label="Server with public IP $publicaddr"
|
||||||
set shadowsocks-libev.omrip${i}server.server_port="$ssport"
|
set shadowsocks-libev.oip${i}server.server_port="$ssport"
|
||||||
set shadowsocks-libev.omrip${i}server.disabled="1"
|
set shadowsocks-libev.oip${i}server.disabled="1"
|
||||||
set shadowsocks-libev.omrip${i}server.server="$(uci -q get shadowsocks-libev.sss0.server)"
|
set shadowsocks-libev.oip${i}server.server="$(uci -q get shadowsocks-libev.sss0.server)"
|
||||||
set shadowsocks-libev.omrip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)"
|
set shadowsocks-libev.oip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)"
|
||||||
set shadowsocks-libev.omrip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
|
set shadowsocks-libev.oip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
|
||||||
set shadowsocks-libev.omrip${i}=ss_redir
|
set shadowsocks-libev.oip${i}=ss_redir
|
||||||
set shadowsocks-libev.omrip${i}.label="ss-redir for public IP $publicaddr"
|
set shadowsocks-libev.oip${i}.label="ss-redir for public IP $publicaddr"
|
||||||
set shadowsocks-libev.omrip${i}.server="omrip${i}server"
|
set shadowsocks-libev.oip${i}.server="oip${i}server"
|
||||||
set shadowsocks-libev.omrip${i}.local_port="230$i"
|
set shadowsocks-libev.oip${i}.local_port="230$i"
|
||||||
set shadowsocks-libev.omrip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
|
set shadowsocks-libev.oip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
|
||||||
set shadowsocks-libev.omrip${i}.mode='tcp_and_udp'
|
set shadowsocks-libev.oip${i}.mode='tcp_and_udp'
|
||||||
set shadowsocks-libev.omrip${i}.reuse_port='1'
|
set shadowsocks-libev.oip${i}.reuse_port='1'
|
||||||
set shadowsocks-libev.omrip${i}.mptcp='1'
|
set shadowsocks-libev.oip${i}.mptcp='1'
|
||||||
set shadowsocks-libev.omrip${i}.ipv6_first='1'
|
set shadowsocks-libev.oip${i}.ipv6_first='1'
|
||||||
set shadowsocks-libev.omrip${i}.timeout="$(uci -q get shadowsocks-libev.hi.timeout)"
|
set shadowsocks-libev.oip${i}.timeout="$(uci -q get shadowsocks-libev.hi.timeout)"
|
||||||
set shadowsocks-libev.omrip${i}.fast_open="$(uci -q get shadowsocks-libev.hi.fast_open)"
|
set shadowsocks-libev.oip${i}.fast_open="$(uci -q get shadowsocks-libev.hi.fast_open)"
|
||||||
set shadowsocks-libev.omrip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
|
set shadowsocks-libev.oip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
|
||||||
set shadowsocks-libev.omrip${i}_rule=ss_rules
|
set shadowsocks-libev.oip${i}_rule=ss_rules
|
||||||
set shadowsocks-libev.omrip${i}_rule.label="Rules for public IP $publicaddr"
|
set shadowsocks-libev.oip${i}_rule.label="Rules for public IP $publicaddr"
|
||||||
set shadowsocks-libev.omrip${i}_rule.server="omrip${i}server"
|
set shadowsocks-libev.oip${i}_rule.server="oip${i}server"
|
||||||
set shadowsocks-libev.omrip${i}_rule.disabled='1'
|
set shadowsocks-libev.oip${i}_rule.disabled='1'
|
||||||
set shadowsocks-libev.omrip${i}_rule.src_default='bypass'
|
set shadowsocks-libev.oip${i}_rule.src_default='bypass'
|
||||||
set shadowsocks-libev.omrip${i}_rule.dst_default='bypass'
|
set shadowsocks-libev.oip${i}_rule.dst_default='bypass'
|
||||||
set shadowsocks-libev.omrip${i}_rule.local_default='bypass'
|
set shadowsocks-libev.oip${i}_rule.local_default='bypass'
|
||||||
set shadowsocks-libev.omrip${i}_rule.redir_tcp="omrip${i}"
|
set shadowsocks-libev.oip${i}_rule.redir_tcp="oip${i}"
|
||||||
commit shadowsocks-libev
|
commit shadowsocks-libev
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -291,6 +291,10 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get
|
||||||
#set network.@route6[-1].target='::/0'
|
#set network.@route6[-1].target='::/0'
|
||||||
#EOF
|
#EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Replace omrip to oip in config for old config
|
||||||
|
sed -i 's/omrip/oip/g' /etc/config/*
|
||||||
|
|
||||||
uci -q commit macvlan
|
uci -q commit macvlan
|
||||||
uci -q commit network
|
uci -q commit network
|
||||||
rm -f /tmp/luci-indexcache
|
rm -f /tmp/luci-indexcache
|
||||||
|
|
Loading…
Reference in a new issue