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

Fix shadowsocks multi ip config

This commit is contained in:
Ycarus (Yannick Chabanois) 2020-07-21 21:05:27 +02:00
parent c7445fe7f9
commit ddde4bb6f8

View file

@ -378,56 +378,55 @@ _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')"
uci -q batch <<-EOF >/dev/null if [ "$(uci -q get network.omrip${i}.peeraddr)" != "$peeraddr" ] || [ "$(uci -q get network.omrip${i}.ipaddr)" != "$ipaddr" ]; then
set network.omrip${i}=interface uci -q batch <<-EOF >/dev/null
set network.omrip${i}.label="Tunnel for $publicaddr" set network.omrip${i}=interface
set network.omrip${i}.proto=gre set network.omrip${i}.label="Tunnel for $publicaddr"
set network.omrip${i}.nohostroute='1' set network.omrip${i}.proto=gre
set network.omrip${i}.ipv6='0' set network.omrip${i}.nohostroute='1'
set network.omrip${i}.defaultroute='0' set network.omrip${i}.ipv6='0'
set network.omrip${i}.multipath='off' set network.omrip${i}.defaultroute='0'
set network.omrip${i}.peerdns='0' set network.omrip${i}.multipath='off'
set network.omrip${i}.ip4table='vpn' set network.omrip${i}.peerdns='0'
set network.omrip${i}.peeraddr="$peeraddr" set network.omrip${i}.ip4table='vpn'
set network.omrip${i}.ipaddr="$ipaddr" set network.omrip${i}.peeraddr="$peeraddr"
commit network set network.omrip${i}.ipaddr="$ipaddr"
add_list firewall.zone_vpn.network="omrip${i}" commit network
commit firewall add_list firewall.zone_vpn.network="omrip${i}"
EOF commit firewall
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.omrip${i}server=server
set shadowsocks-libev.omrip${i}server.label="Server with public IP $publicaddr" 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.server_port="$ssport"
set shadowsocks-libev.omrip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)" set shadowsocks-libev.omrip${i}server.disabled="1"
set shadowsocks-libev.omrip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)" set shadowsocks-libev.omrip${i}server.server="$(uci -q get shadowsocks-libev.sss0.server)"
set shadowsocks-libev.omrip${i}=ss_redir set shadowsocks-libev.omrip${i}server.method="$(uci -q get shadowsocks-libev.sss0.method)"
set shadowsocks-libev.omrip${i}.label="ss-redir for public IP $publicaddr" set shadowsocks-libev.omrip${i}server.key="$(uci -q get shadowsocks-libev.sss0.key)"
set shadowsocks-libev.omrip${i}.server="omrip${i}server" set shadowsocks-libev.omrip${i}=ss_redir
set shadowsocks-libev.omrip${i}.local_port="230$i" set shadowsocks-libev.omrip${i}.label="ss-redir for public IP $publicaddr"
set shadowsocks-libev.omrip${i}.mode='tcp_and_udp' set shadowsocks-libev.omrip${i}.server="omrip${i}server"
set shadowsocks-libev.omrip${i}.reuse_port='1' set shadowsocks-libev.omrip${i}.local_port="230$i"
set shadowsocks-libev.omrip${i}.mptcp='1' set shadowsocks-libev.omrip${i}.local_address="$(uci -q get shadowsocks-libev.hi.local_address)"
set shadowsocks-libev.omrip${i}.ipv6_first='1' set shadowsocks-libev.omrip${i}.mode='tcp_and_udp'
set shadowsocks-libev.omrip${i}.timeout="$(uci -q get shadowsocks-libev.omrip${i}.timeout)" set shadowsocks-libev.omrip${i}.reuse_port='1'
set shadowsocks-libev.omrip${i}.fast_open="$(uci -q get shadowsocks-libev.omrip${i}.fast_open)" set shadowsocks-libev.omrip${i}.mptcp='1'
set shadowsocks-libev.omrip${i}.no_delay="$(uci -q get shadowsocks-libev.omrip${i}.no_delay)" set shadowsocks-libev.omrip${i}.ipv6_first='1'
set shadowsocks-libev.omrip${i}_rule=ss_rules set shadowsocks-libev.omrip${i}.timeout="$(uci -q get shadowsocks-libev.hi.timeout)"
set shadowsocks-libev.omrip${i}_rule.label="Rules for public IP $publicaddr" set shadowsocks-libev.omrip${i}.fast_open="$(uci -q get shadowsocks-libev.hi.fast_open)"
set shadowsocks-libev.omrip${i}_rule.server="omrip${i}server" set shadowsocks-libev.omrip${i}.no_delay="$(uci -q get shadowsocks-libev.hi.no_delay)"
set shadowsocks-libev.omrip${i}_rule.disabled='1' set shadowsocks-libev.omrip${i}_rule=ss_rules
set shadowsocks-libev.omrip${i}_rule.src_default='forward' set shadowsocks-libev.omrip${i}_rule.label="Rules for public IP $publicaddr"
set shadowsocks-libev.omrip${i}_rule.dst_default='forward' set shadowsocks-libev.omrip${i}_rule.server="omrip${i}server"
set shadowsocks-libev.omrip${i}_rule.local_default='forward' set shadowsocks-libev.omrip${i}_rule.disabled='1'
set shadowsocks-libev.omrip${i}_rule.redir_tcp="omrip${i}" set shadowsocks-libev.omrip${i}_rule.src_default='bypass'
commit shadowsocks-libev set shadowsocks-libev.omrip${i}_rule.dst_default='bypass'
EOF set shadowsocks-libev.omrip${i}_rule.local_default='bypass'
if [ "$(uci -q get shadowsocks-libev.omrip${i}server.disabled)" = "" ]; then set shadowsocks-libev.omrip${i}_rule.redir_tcp="omrip${i}"
uci -q set shadowsocks-libev.omrip${i}server.disabled='1' commit shadowsocks-libev
fi EOF
if [ "$(uci -q get shadowsocks-libev.omrip${i}.local_address)" = "" ]; then
uci -q set shadowsocks-libev.omrip${i}.local_address='::'
fi fi
i=$((i+1)) i=$((i+1))
done done