1
0
Fork 0
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:
suyuan 2021-03-10 10:54:21 +08:00 committed by GitHub
commit b1646c0512
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 62 additions and 58 deletions

View file

@ -945,7 +945,7 @@
end
end
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>
<%

View file

@ -25,7 +25,7 @@ _ping_tunnel() {
config_get gateway $1 gateway
config_get ifname $1 ifname
config_get disabled $1 disabled
[ "$(echo $ifname | grep omrip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
[ "$(echo $ifname | grep oip)" != "" ] && [ -n "$gateway" ] && [ "$disabled" != "1" ] && {
_ping_server $gateway
}
}

View file

@ -489,34 +489,34 @@ _get_gre_tunnel() {
peeraddr="$(echo $tunnel | jsonfilter -q -e '@.remote_ip')"
ipaddr="$(echo $tunnel | jsonfilter -q -e '@.local_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
set network.omrip${i}gre=interface
set network.omrip${i}gre.label="GRE tunnel for $publicaddr"
set network.omrip${i}gre.proto=gre
set network.omrip${i}gre.nohostroute='1'
set network.omrip${i}gre.ipv6='0'
set network.omrip${i}gre.defaultroute='0'
set network.omrip${i}gre.multipath='off'
set network.omrip${i}gre.peerdns='0'
set network.omrip${i}gre.ttl='255'
set network.omrip${i}gre.ip4table='vpn'
set network.omrip${i}gre.peeraddr="$publicaddr"
set network.omrip${i}gre.ipaddr="$vpnip_local"
set network.omrip${i}=interface
set network.omrip${i}.label="Tunnel for $publicaddr"
set network.omrip${i}.proto=static
set network.omrip${i}.nohostroute='1'
set network.omrip${i}.ifname="@omrip${i}gre"
set network.omrip${i}.ipv6='0'
set network.omrip${i}.defaultroute='0'
set network.omrip${i}.multipath='off'
set network.omrip${i}.peerdns='0'
set network.omrip${i}.ip4table='vpn'
set network.omrip${i}.gateway="$ipaddr"
set network.omrip${i}.ipaddr="$peeraddr"
set network.omrip${i}.netmask="255.255.255.252"
set network.omrip${i}.lookup="667${i}"
set network.oip${i}gre=interface
set network.oip${i}gre.label="GRE tunnel for $publicaddr"
set network.oip${i}gre.proto=gre
set network.oip${i}gre.nohostroute='1'
set network.oip${i}gre.ipv6='0'
set network.oip${i}gre.defaultroute='0'
set network.oip${i}gre.multipath='off'
set network.oip${i}gre.peerdns='0'
set network.oip${i}gre.ttl='255'
set network.oip${i}gre.ip4table='vpn'
set network.oip${i}gre.peeraddr="$publicaddr"
set network.oip${i}gre.ipaddr="$vpnip_local"
set network.oip${i}=interface
set network.oip${i}.label="Tunnel for $publicaddr"
set network.oip${i}.proto=static
set network.oip${i}.nohostroute='1'
set network.oip${i}.ifname="@oip${i}gre"
set network.oip${i}.ipv6='0'
set network.oip${i}.defaultroute='0'
set network.oip${i}.multipath='off'
set network.oip${i}.peerdns='0'
set network.oip${i}.ip4table='vpn'
set network.oip${i}.gateway="$ipaddr"
set network.oip${i}.ipaddr="$peeraddr"
set network.oip${i}.netmask="255.255.255.252"
set network.oip${i}.lookup="667${i}"
commit network
EOF
allintf=$(uci -q get firewall.zone_vpn.network)
@ -525,39 +525,39 @@ _get_gre_tunnel() {
uci -q add_list firewall.zone_vpn.network=$intf
done
uci -q batch <<-EOF >/dev/null
add_list firewall.zone_vpn.network="omrip${i}gre"
add_list firewall.zone_vpn.network="omrip${i}"
add_list firewall.zone_vpn.network="oip${i}gre"
add_list firewall.zone_vpn.network="oip${i}"
commit firewall
EOF
ssport="$(echo $tunnel | jsonfilter -q -e '@.shadowsocks_port')"
uci -q batch <<-EOF >/dev/null
set shadowsocks-libev.omrip${i}server=server
set shadowsocks-libev.omrip${i}server.label="Server with public IP $publicaddr"
set shadowsocks-libev.omrip${i}server.server_port="$ssport"
set shadowsocks-libev.omrip${i}server.disabled="1"
set shadowsocks-libev.omrip${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.omrip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.omrip${i}=ss_redir
set shadowsocks-libev.omrip${i}.label="ss-redir for public IP $publicaddr"
set shadowsocks-libev.omrip${i}.server="omrip${i}server"
set shadowsocks-libev.omrip${i}.local_port="230$i"
set shadowsocks-libev.omrip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
set shadowsocks-libev.omrip${i}.mode='tcp_and_udp'
set shadowsocks-libev.omrip${i}.reuse_port='1'
set shadowsocks-libev.omrip${i}.mptcp='1'
set shadowsocks-libev.omrip${i}.ipv6_first='1'
set shadowsocks-libev.omrip${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.omrip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
set shadowsocks-libev.omrip${i}_rule=ss_rules
set shadowsocks-libev.omrip${i}_rule.label="Rules for public IP $publicaddr"
set shadowsocks-libev.omrip${i}_rule.server="omrip${i}server"
set shadowsocks-libev.omrip${i}_rule.disabled='1'
set shadowsocks-libev.omrip${i}_rule.src_default='bypass'
set shadowsocks-libev.omrip${i}_rule.dst_default='bypass'
set shadowsocks-libev.omrip${i}_rule.local_default='bypass'
set shadowsocks-libev.omrip${i}_rule.redir_tcp="omrip${i}"
set shadowsocks-libev.oip${i}server=server
set shadowsocks-libev.oip${i}server.label="Server with public IP $publicaddr"
set shadowsocks-libev.oip${i}server.server_port="$ssport"
set shadowsocks-libev.oip${i}server.disabled="1"
set shadowsocks-libev.oip${i}server.server="$(uci -q get shadowsocks-libev.sss0.server)"
set shadowsocks-libev.oip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)"
set shadowsocks-libev.oip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.oip${i}=ss_redir
set shadowsocks-libev.oip${i}.label="ss-redir for public IP $publicaddr"
set shadowsocks-libev.oip${i}.server="oip${i}server"
set shadowsocks-libev.oip${i}.local_port="230$i"
set shadowsocks-libev.oip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
set shadowsocks-libev.oip${i}.mode='tcp_and_udp'
set shadowsocks-libev.oip${i}.reuse_port='1'
set shadowsocks-libev.oip${i}.mptcp='1'
set shadowsocks-libev.oip${i}.ipv6_first='1'
set shadowsocks-libev.oip${i}.timeout="$(uci -q get shadowsocks-libev.hi.timeout)"
set shadowsocks-libev.oip${i}.fast_open="$(uci -q get shadowsocks-libev.hi.fast_open)"
set shadowsocks-libev.oip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
set shadowsocks-libev.oip${i}_rule=ss_rules
set shadowsocks-libev.oip${i}_rule.label="Rules for public IP $publicaddr"
set shadowsocks-libev.oip${i}_rule.server="oip${i}server"
set shadowsocks-libev.oip${i}_rule.disabled='1'
set shadowsocks-libev.oip${i}_rule.src_default='bypass'
set shadowsocks-libev.oip${i}_rule.dst_default='bypass'
set shadowsocks-libev.oip${i}_rule.local_default='bypass'
set shadowsocks-libev.oip${i}_rule.redir_tcp="oip${i}"
commit shadowsocks-libev
EOF
fi

View file

@ -291,6 +291,10 @@ if [ "$(uci -q show network.wan1 | grep multipath)" = "" ] && [ -z "$(uci -q get
#set network.@route6[-1].target='::/0'
#EOF
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 network
rm -f /tmp/luci-indexcache