mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Fix IPv6 support
This commit is contained in:
		
							parent
							
								
									3b9519a542
								
							
						
					
					
						commit
						52b9ed37cf
					
				
					 2 changed files with 22 additions and 13 deletions
				
			
		| 
						 | 
				
			
			@ -22,7 +22,7 @@ while true; do
 | 
			
		|||
		[ -z "$peer" ] && peer=$(ip -4 r list dev $iface | grep via | grep -v default | grep -v metric | grep -v / | awk '{print $1; exit}' | tr -d "\n")
 | 
			
		||||
		[ -z "$peer" ] && peer=$(ip -4 r list dev $iface | grep kernel | awk '/proto kernel/ {print $1}' | grep -v / | tr -d "\n")
 | 
			
		||||
		[ -n "$addr" ] && [ -n "$peer" ] && {
 | 
			
		||||
			if [ "$addr" != "$(uci -q get network.omr6in4.ipaddr)" ] || [ "$peer" != "$(uci -q get network.omr6in4.peeraddr)" ] || [ "$(ip -6 route show default)" = "" ]; then
 | 
			
		||||
			if [ "$addr" != "$(uci -q get network.omr6in4.ipaddr)" ] || [ "$peer" != "$(uci -q get network.omr6in4.peeraddr)" ] || [ "$(ip -6 route show default | grep via)" = "" ]; then
 | 
			
		||||
				logger -t "omr6in4" "Set network for OMR 6in4 to local $addr peer $peer"
 | 
			
		||||
				uci -q batch <<-EOF
 | 
			
		||||
					set network.omr6in4.ipaddr=$addr
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -44,6 +44,11 @@ set_ipv6_state() {
 | 
			
		|||
		EOF
 | 
			
		||||
		config_load shadowsocks-libev
 | 
			
		||||
		config_foreach set_shadowsocks_address ss_redir "0.0.0.0"
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
			commit network
 | 
			
		||||
			commit dhcp
 | 
			
		||||
			commit shadowsocks-libev
 | 
			
		||||
		EOF
 | 
			
		||||
	else
 | 
			
		||||
		logger -t "omr-6in4" "Enable IPv6"
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
| 
						 | 
				
			
			@ -57,14 +62,9 @@ set_ipv6_state() {
 | 
			
		|||
			add_list dhcp.lan.ra_flags='other-config'
 | 
			
		||||
			set network.lan.ipv6="1"
 | 
			
		||||
			set network.lan.delegate="0"
 | 
			
		||||
			set network.omr6in4.force_link=1
 | 
			
		||||
			delete network.omr6in4.auto
 | 
			
		||||
		EOF
 | 
			
		||||
		if [ "$(uci -q get v2ray.main.inbounds | grep omr6)" = "" ]; then
 | 
			
		||||
			uci -q batch <<-EOF >/dev/null
 | 
			
		||||
				add_list v2ray.main.inbounds="omr6"
 | 
			
		||||
				commit v2ray
 | 
			
		||||
			EOF
 | 
			
		||||
		fi
 | 
			
		||||
		
 | 
			
		||||
		if [ "$(network.lan.ip6assign)" = "" ]; then
 | 
			
		||||
			uci -q set network.lan.ip6assign='60'
 | 
			
		||||
		fi
 | 
			
		||||
| 
						 | 
				
			
			@ -77,12 +77,20 @@ set_ipv6_state() {
 | 
			
		|||
		
 | 
			
		||||
		config_load shadowsocks-libev
 | 
			
		||||
		config_foreach set_shadowsocks_address ss_redir "::"
 | 
			
		||||
		uci -q batch <<-EOF >/dev/null
 | 
			
		||||
			commit network
 | 
			
		||||
			commit dhcp
 | 
			
		||||
			commit shadowsocks-libev
 | 
			
		||||
		EOF
 | 
			
		||||
		/etc/init.d/shadowsocks-libev restart
 | 
			
		||||
		if [ "$(uci -q get v2ray.main.inbounds | grep omr6)" = "" ]; then
 | 
			
		||||
			uci -q batch <<-EOF >/dev/null
 | 
			
		||||
				add_list v2ray.main.inbounds="omr6"
 | 
			
		||||
				commit v2ray
 | 
			
		||||
			EOF
 | 
			
		||||
			/etc/init.d/v2ray restart
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
	uci -q batch <<-EOF >/dev/null
 | 
			
		||||
		commit network
 | 
			
		||||
		commit dhcp
 | 
			
		||||
		commit shadowsocks-libev
 | 
			
		||||
	EOF
 | 
			
		||||
	/etc/init.d/odhcpd restart
 | 
			
		||||
	if [ "$previous" != "1" ]; then
 | 
			
		||||
		env -i /bin/ubus call network reload
 | 
			
		||||
| 
						 | 
				
			
			@ -98,6 +106,7 @@ start_service() {
 | 
			
		|||
	}
 | 
			
		||||
	[ "$(ifstatus omr6in4 | jsonfilter -e '@.up' | tr -d '\n')" != "true" ] && ifup omr6in4
 | 
			
		||||
	multipath 6in4-omr6in4 off 2>&1 >/dev/null
 | 
			
		||||
 | 
			
		||||
	procd_open_instance
 | 
			
		||||
	# shellcheck disable=SC2086
 | 
			
		||||
	procd_set_param command /bin/omr-6in4
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue