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
|
||||
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>
|
||||
<%
|
||||
|
|
|
@ -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
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue