mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Fixes for shadowsocks rules
This commit is contained in:
		
							parent
							
								
									8fb774d517
								
							
						
					
					
						commit
						d2b2adfefc
					
				
					 3 changed files with 31 additions and 30 deletions
				
			
		| 
						 | 
				
			
			@ -185,8 +185,10 @@ ss_rules() {
 | 
			
		|||
			all_ss_redir_ports=$min_ss_redir_ports
 | 
			
		||||
		fi
 | 
			
		||||
		local_port_tcp="$all_ss_redir_ports"
 | 
			
		||||
		#local_port_udp="$all_ss_redir_ports"
 | 
			
		||||
		eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
 | 
			
		||||
		local_port_tcp6="$all_ss_redir_ports"
 | 
			
		||||
		#local_port_udp6="$all_ss_redir_ports"
 | 
			
		||||
		eval local_port_udp6="\$ss_rules6_redir_udp_$redir_udp"
 | 
			
		||||
	else
 | 
			
		||||
		eval local_port_tcp="\$ss_rules_redir_tcp_$redir_tcp"
 | 
			
		||||
| 
						 | 
				
			
			@ -217,20 +219,20 @@ ss_rules() {
 | 
			
		|||
ss_rules_call() {
 | 
			
		||||
	"$bin" "$@" \
 | 
			
		||||
			-s "$ss_redir_servers4" \
 | 
			
		||||
			-l "$local_port_tcp" \
 | 
			
		||||
			-L "$local_port_udp" \
 | 
			
		||||
			--src-default "$src_default" \
 | 
			
		||||
			--dst-default "$dst_default" \
 | 
			
		||||
			--local-default "$local_default" \
 | 
			
		||||
			--dst-bypass-file "$dst_ips_bypass_file" \
 | 
			
		||||
			--dst-forward-file "$dst_ips_forward_file" \
 | 
			
		||||
			--dst-bypass "$dst_ips_bypass4" \
 | 
			
		||||
			--dst-forward "$dst_ips_forward4" \
 | 
			
		||||
			--src-bypass "$src_ips_bypass4" \
 | 
			
		||||
			--src-forward "$src_ips_forward4" \
 | 
			
		||||
			--src-checkdst "$src_ips_checkdst4" \
 | 
			
		||||
			--ifnames "$ifnames" \
 | 
			
		||||
			--ipt-extra "$ipt_args" \
 | 
			
		||||
			${local_port_tcp:+-l "$local_port_tcp"} \
 | 
			
		||||
			${local_port_udp:+-L "$local_port_udp"} \
 | 
			
		||||
			${src_default:+--src-default "$src_default"} \
 | 
			
		||||
			${dst_default:+--dst-default "$dst_default"} \
 | 
			
		||||
			${local_default:+--local-default "$local_default"} \
 | 
			
		||||
			${dst_ips_bypass_file:+--dst-bypass-file "$dst_ips_bypass_file"} \
 | 
			
		||||
			${dst_ips_forward_file:+--dst-forward-file "$dst_ips_forward_file"} \
 | 
			
		||||
			${dst_ips_bypass4:+--dst-bypass "$dst_ips_bypass4"} \
 | 
			
		||||
			${dst_ips_forward4:+--dst-forward "$dst_ips_forward4"} \
 | 
			
		||||
			${src_ips_bypass4:+--src-bypass "$src_ips_bypass4"} \
 | 
			
		||||
			${src_ips_forward4:+--src-forward "$src_ips_forward4"} \
 | 
			
		||||
			${src_ips_checkdst4:+--src-checkdst "$src_ips_checkdst4"} \
 | 
			
		||||
			${ifnames:+--ifnames "$ifnames"} \
 | 
			
		||||
			${ipt_args:+--ipt-extra "$ipt_args"} \
 | 
			
		||||
			$args \
 | 
			
		||||
		|| "$bin" "$@" -f
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -238,20 +240,19 @@ ss_rules_call() {
 | 
			
		|||
ss_rules_call6() {
 | 
			
		||||
	"$bin6" "$@" \
 | 
			
		||||
			-s "$ss_redir_servers6" \
 | 
			
		||||
			-l "$local_port_tcp6" \
 | 
			
		||||
			-L "$local_port_udp6" \
 | 
			
		||||
			--src-default "$src_default" \
 | 
			
		||||
			--dst-default "$dst_default" \
 | 
			
		||||
			--local-default "$local_default" \
 | 
			
		||||
			--dst-bypass-file "$dst_ips_bypass_file" \
 | 
			
		||||
			--dst-forward-file "$dst_ips_forward_file" \
 | 
			
		||||
			--dst-bypass "$dst_ips_bypass6" \
 | 
			
		||||
			--dst-forward "$dst_ips_forward6" \
 | 
			
		||||
			--src-bypass "$src_ips_bypass6" \
 | 
			
		||||
			--src-forward "$src_ips_forward6" \
 | 
			
		||||
			--src-checkdst "$src_ips_checkdst6" \
 | 
			
		||||
			--ifnames "$ifnames" \
 | 
			
		||||
			--ipt-extra "$ipt_args" \
 | 
			
		||||
			${local_port_tcp:+-l "$local_port_tcp6"} \
 | 
			
		||||
			${local_port_udp:+-L "$local_port_udp6"} \
 | 
			
		||||
			${src_default:+--src-default "$src_default" \
 | 
			
		||||
			${dst_default:+--dst-default "$dst_default" \
 | 
			
		||||
			${dst_ips_bypass_file:+--dst-bypass-file "$dst_ips_bypass_file"} \
 | 
			
		||||
			${dst_ips_forward_file:+--dst-forward-file "$dst_ips_forward_file"} \
 | 
			
		||||
			${dst_ips_bypass6:+--dst-bypass "$dst_ips_bypass6"} \
 | 
			
		||||
			${dst_ips_forward6:+--dst-forward "$dst_ips_forward6"} \
 | 
			
		||||
			${src_ips_bypass6:+--src-bypass "$src_ips_bypass6"} \
 | 
			
		||||
			${src_ips_forward6:+--src-forward "$src_ips_forward6"} \
 | 
			
		||||
			${src_ips_checkdst6:+--src-checkdst "$src_ips_checkdst6"} \
 | 
			
		||||
			${ifnames:+--ifnames "$ifnames"} \
 | 
			
		||||
			${ipt_args:+--ipt-extra "$ipt_args"} \
 | 
			
		||||
			$args \
 | 
			
		||||
		|| "$bin6" "$@" -f
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -123,7 +123,7 @@ ss_rules_flush() {
 | 
			
		|||
 | 
			
		||||
	iptables-save --counters | grep -v ss_rules_ | iptables-restore -w --counters
 | 
			
		||||
	while ip rule del fwmark 1 lookup 100 2>/dev/null; do true; done
 | 
			
		||||
	ip route flush table 100
 | 
			
		||||
	ip route flush table 100 || true
 | 
			
		||||
	for setname in $(ipset -n list | grep "ss_rules_"); do
 | 
			
		||||
		ipset destroy "$setname" 2>/dev/null || true
 | 
			
		||||
	done
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -105,7 +105,7 @@ ss_rules6_flush() {
 | 
			
		|||
 | 
			
		||||
	ip6tables-save --counters | grep -v ss_rules6_ | ip6tables-restore -w --counters
 | 
			
		||||
	while ip -f inet6 rule del fwmark 1 lookup 100 2>/dev/null; do true; done
 | 
			
		||||
	ip -f inet6 route flush table 100
 | 
			
		||||
	ip -f inet6 route flush table 100 || true
 | 
			
		||||
	for setname in $(ipset -n list | grep "ss_rules6_"); do
 | 
			
		||||
		ipset destroy "$setname" 2>/dev/null || true
 | 
			
		||||
	done
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue