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:
		
							parent
							
								
									c7445fe7f9
								
							
						
					
					
						commit
						ddde4bb6f8
					
				
					 1 changed files with 48 additions and 49 deletions
				
			
		|  | @ -378,56 +378,55 @@ _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')" | ||||
| 			uci -q batch <<-EOF >/dev/null | ||||
| 				set network.omrip${i}=interface | ||||
| 				set network.omrip${i}.label="Tunnel for $publicaddr" | ||||
| 				set network.omrip${i}.proto=gre | ||||
| 				set network.omrip${i}.nohostroute='1' | ||||
| 				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}.peeraddr="$peeraddr" | ||||
| 				set network.omrip${i}.ipaddr="$ipaddr" | ||||
| 				commit network | ||||
| 				add_list firewall.zone_vpn.network="omrip${i}" | ||||
| 				commit firewall | ||||
| 			EOF | ||||
| 			if [ "$(uci -q get network.omrip${i}.peeraddr)" != "$peeraddr" ] || [ "$(uci -q get network.omrip${i}.ipaddr)" != "$ipaddr" ]; then | ||||
| 				uci -q batch <<-EOF >/dev/null | ||||
| 					set network.omrip${i}=interface | ||||
| 					set network.omrip${i}.label="Tunnel for $publicaddr" | ||||
| 					set network.omrip${i}.proto=gre | ||||
| 					set network.omrip${i}.nohostroute='1' | ||||
| 					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}.peeraddr="$peeraddr" | ||||
| 					set network.omrip${i}.ipaddr="$ipaddr" | ||||
| 					commit network | ||||
| 					add_list firewall.zone_vpn.network="omrip${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.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}.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.omrip${i}.timeout)" | ||||
| 				set shadowsocks-libev.omrip${i}.fast_open="$(uci -q get shadowsocks-libev.omrip${i}.fast_open)" | ||||
| 				set shadowsocks-libev.omrip${i}.no_delay="$(uci -q get shadowsocks-libev.omrip${i}.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='forward' | ||||
| 				set shadowsocks-libev.omrip${i}_rule.dst_default='forward' | ||||
| 				set shadowsocks-libev.omrip${i}_rule.local_default='forward' | ||||
| 				set shadowsocks-libev.omrip${i}_rule.redir_tcp="omrip${i}" | ||||
| 				commit shadowsocks-libev | ||||
| 			EOF | ||||
| 			if [ "$(uci -q get shadowsocks-libev.omrip${i}server.disabled)" = "" ]; then | ||||
| 				uci -q set shadowsocks-libev.omrip${i}server.disabled='1' | ||||
| 			fi | ||||
| 			if [ "$(uci -q get shadowsocks-libev.omrip${i}.local_address)" = "" ]; then | ||||
| 				uci -q set shadowsocks-libev.omrip${i}.local_address='::' | ||||
| 				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}" | ||||
| 					commit shadowsocks-libev | ||||
| 				EOF | ||||
| 			fi | ||||
| 			i=$((i+1)) | ||||
| 		done | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue