mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	Make ss-redir able to listen on multiples ports
This commit is contained in:
		
							parent
							
								
									cf7508a58d
								
							
						
					
					
						commit
						a64bba3705
					
				
					 3 changed files with 32 additions and 8 deletions
				
			
		| 
						 | 
				
			
			@ -87,6 +87,7 @@ return L.Class.extend({
 | 
			
		|||
			}
 | 
			
		||||
		});
 | 
			
		||||
		o.value('', '<unset>');
 | 
			
		||||
		o.value('', 'all');
 | 
			
		||||
		o.default = '';
 | 
			
		||||
	},
 | 
			
		||||
	values_serverlist: function(o) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -9,7 +9,7 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
 | 
			
		|||
					set shadowsocks-libev.hi$c=ss_redir
 | 
			
		||||
					set shadowsocks-libev.hi$c.server=sss0
 | 
			
		||||
					set shadowsocks-libev.hi$c.local_address="0.0.0.0"
 | 
			
		||||
					set shadowsocks-libev.hi$c.local_port=1100
 | 
			
		||||
					set shadowsocks-libev.hi$c.local_port=1101
 | 
			
		||||
					set shadowsocks-libev.hi$c.mode=tcp_and_udp
 | 
			
		||||
					set shadowsocks-libev.hi$c.timeout=1000
 | 
			
		||||
					set shadowsocks-libev.hi$c.fast_open=1
 | 
			
		||||
| 
						 | 
				
			
			@ -18,9 +18,10 @@ if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
 | 
			
		|||
					set shadowsocks-libev.hi$c.mptcp=1
 | 
			
		||||
					set shadowsocks-libev.hi$c.no_delay=1
 | 
			
		||||
					set shadowsocks-libev.hi$c.verbose=0
 | 
			
		||||
					commit shadowsocks-libev
 | 
			
		||||
				EOF
 | 
			
		||||
			done
 | 
			
		||||
			uci -q set shadowsocks-libev.ss_rules.redir_tcp=all
 | 
			
		||||
			uci -q commit shadowsocks-libev
 | 
			
		||||
		fi
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -143,6 +143,16 @@ ss_rules_cb() {
 | 
			
		|||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ss_redir_ports() {
 | 
			
		||||
	port=$(uci -q get shadowsocks-libev.$1.local_port)
 | 
			
		||||
	if [ "$port" -lt "$min_ss_redir_ports" ]; then
 | 
			
		||||
		min_ss_redir_ports=$port
 | 
			
		||||
	fi
 | 
			
		||||
	if [ "$port" -gt "$max_ss_redir_ports" ]; then
 | 
			
		||||
		max_ss_redir_ports=$port
 | 
			
		||||
	fi
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
ss_rules() {
 | 
			
		||||
	local cfg="ss_rules"
 | 
			
		||||
	local bin="$ss_bindir/ss-rules"
 | 
			
		||||
| 
						 | 
				
			
			@ -164,10 +174,22 @@ ss_rules() {
 | 
			
		|||
	validate_ss_rules_section "$cfg" || return 1
 | 
			
		||||
	[ "$disabled" = 0 ] || return 0
 | 
			
		||||
 | 
			
		||||
	eval local_port_tcp="\$ss_rules_redir_tcp_$redir_tcp"
 | 
			
		||||
	eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
 | 
			
		||||
	eval local_port_tcp6="\$ss_rules6_redir_tcp_$redir_tcp"
 | 
			
		||||
	eval local_port_udp6="\$ss_rules6_redir_udp_$redir_udp"
 | 
			
		||||
	if [ "$ss_rules_redir_tcp_$redir_tcp" = "all" ]; then
 | 
			
		||||
		min_ss_redir_ports="65535"
 | 
			
		||||
		max_ss_redir_ports="0"
 | 
			
		||||
		config_load shadowsocks-libev
 | 
			
		||||
		config_foreach ss_redir_ports ss_redir
 | 
			
		||||
		all_ss_redir_ports=$min_ss_redir_ports-$max_ss_redir_ports
 | 
			
		||||
		local_port_tcp="$all_ss_redir_ports"
 | 
			
		||||
		eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
 | 
			
		||||
		local_port_tcp6="$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"
 | 
			
		||||
		eval local_port_udp="\$ss_rules_redir_udp_$redir_udp"
 | 
			
		||||
		eval local_port_tcp6="\$ss_rules6_redir_tcp_$redir_tcp"
 | 
			
		||||
		eval local_port_udp6="\$ss_rules6_redir_udp_$redir_udp"
 | 
			
		||||
	fi
 | 
			
		||||
	[ -n "$local_port_tcp" -o -n "$local_port_udp" ] || return 1
 | 
			
		||||
	ss_redir_servers4="$(echo "$ss_redir_servers" | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort -u)"
 | 
			
		||||
	ss_redir_servers6="$(echo "$ss_redir_servers" | grep -o '\([0-9a-fA-F]\{0,4\}:\)\{1,7\}[0-9a-fA-F]\{0,4\}' | sort -u)"
 | 
			
		||||
| 
						 | 
				
			
			@ -378,8 +400,8 @@ validate_ss_redir_section() {
 | 
			
		|||
validate_ss_rules_section() {
 | 
			
		||||
	"${2:-ss_validate}" ss_rules "$1" \
 | 
			
		||||
		'disabled:bool:0' \
 | 
			
		||||
		'redir_tcp:uci("shadowsocks-libev", "@ss_redir")' \
 | 
			
		||||
		'redir_udp:uci("shadowsocks-libev", "@ss_redir")' \
 | 
			
		||||
		'redir_tcp:or(uci("shadowsocks-libev", "@ss_redir"),"all")' \
 | 
			
		||||
		'redir_udp:or(uci("shadowsocks-libev", "@ss_redir"),"all")' \
 | 
			
		||||
		'src_ips_bypass:or(ipaddr,cidr)' \
 | 
			
		||||
		'src_ips_forward:or(ipaddr,cidr)' \
 | 
			
		||||
		'src_ips_checkdst:or(ipaddr,cidr)' \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue