mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			2.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/bin/sh
 | 
						|
# Copyright (C) 2020 Ycarus (Yannick Chabanois) <ycarus@zugaina.org> for OpenMPTCProuter project
 | 
						|
 | 
						|
if [ "$(uci -q get openmptcprouter.latest_versions)" = "" ]; then
 | 
						|
	NBCPU=$(grep -c '^processor' /proc/cpuinfo | tr -d "\n")
 | 
						|
	if [ "$NBCPU" -gt 2 ]; then
 | 
						|
		if [ "$(uci -q get shadowsocks-libev.hi3)" = "" ]; then
 | 
						|
			for c in $(seq 3 $NBCPU); do
 | 
						|
				uci -q batch <<-EOF >/dev/null
 | 
						|
					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=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
 | 
						|
					set shadowsocks-libev.hi$c.reuse_port=1
 | 
						|
					set shadowsocks-libev.hi$c.syslog=1
 | 
						|
					set shadowsocks-libev.hi$c.mptcp=1
 | 
						|
					set shadowsocks-libev.hi$c.no_delay=1
 | 
						|
					set shadowsocks-libev.hi$c.verbose=0
 | 
						|
				EOF
 | 
						|
			done
 | 
						|
			uci -q set shadowsocks-libev.ss_rules.redir_tcp=all
 | 
						|
			uci -q commit shadowsocks-libev
 | 
						|
		fi
 | 
						|
	fi
 | 
						|
 | 
						|
	if [ "$(uci -q get shadowsocks-libev.hi.timeout)" != "1000" ]; then
 | 
						|
		uci -q batch <<-EOF > /dev/null
 | 
						|
			set shadowsocks-libev.hi.timeout=1000
 | 
						|
			commit shadowsocks-libev
 | 
						|
		EOF
 | 
						|
		for c in $(seq 2 $NBCPU); do
 | 
						|
			uci -q batch <<-EOF > /dev/null
 | 
						|
				set shadowsocks-libev.hi$c.timeout=1000
 | 
						|
				commit shadowsocks-libev
 | 
						|
			EOF
 | 
						|
		done
 | 
						|
	fi
 | 
						|
	if [ "$(uci -q get shadowsocks-libev.hi.mode)" != "tcp" ]; then
 | 
						|
		uci -q batch <<-EOF > /dev/null
 | 
						|
			set shadowsocks-libev.hi.mode=tcp_and_udp
 | 
						|
			commit shadowsocks-libev
 | 
						|
		EOF
 | 
						|
		for c in $(seq 2 $NBCPU); do
 | 
						|
			uci -q batch <<-EOF > /dev/null
 | 
						|
				set shadowsocks-libev.hi$c.mode=tcp_and_udp
 | 
						|
				commit shadowsocks-libev
 | 
						|
			EOF
 | 
						|
		done
 | 
						|
	fi
 | 
						|
fi
 | 
						|
if [ "$(uci -q get shadowsocks-libev.hi3)" != "" ]; then
 | 
						|
	port=1101
 | 
						|
	for c in $(seq 3 2 $NBCPU); do
 | 
						|
		uci -q batch <<-EOF >/dev/null
 | 
						|
			set shadowsocks-libev.hi$c.local_port=$port
 | 
						|
			set shadowsocks-libev.hi$((c+1)).local_port=$port
 | 
						|
			commit shadowsocks-libev
 | 
						|
		EOF
 | 
						|
		port=$((port+1))
 | 
						|
	done
 | 
						|
	uci -q batch <<-EOF > /dev/null
 | 
						|
		set shadowsocks-libev.ss_rules.redir_tcp=all
 | 
						|
		commit shadowsocks-libev
 | 
						|
	EOF
 | 
						|
fi
 | 
						|
 | 
						|
if [ "$(uci -q get shadowsocks-libev.hi.obfs)" = "1" ]; then
 | 
						|
	uci -q batch <<-EOF > /dev/null
 | 
						|
		set shadowsocks-libev.sss0.obfs=1
 | 
						|
		set shadowsocks-libev.sss0.obfs_plugin="$(uci -q get shadowsocks-libev.hi.obfs_plugin)"
 | 
						|
		set shadowsocks-libev.sss0.obfs_host="$(uci -q get shadowsocks-libev.hi.obfs_host)"
 | 
						|
		set shadowsocks-libev.sss0.obfs_type="$(uci -q get shadowsocks-libev.hi.obfs_type)"
 | 
						|
		commit shadowsocks-libev
 | 
						|
	EOF
 | 
						|
fi
 | 
						|
 | 
						|
if [ "$(uci -q get shadowsocks-libev.ss_rules.server)" = "" ]; then
 | 
						|
	uci -q batch <<-EOF > /dev/null
 | 
						|
		set shadowsocks-libev.ss_rules.server="sss0"
 | 
						|
		commit shadowsocks-libev
 | 
						|
	EOF
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
if [ "$(uci -q get ucitrack.@shadowsocks-libev[*1].affects | grep openmptcprouter-vps)" = "" ]; then
 | 
						|
	uci -q batch <<-EOF >/dev/null
 | 
						|
		add_list ucitrack.@shadowsocks-libev[-1].affects="openmptcprouter-vps"
 | 
						|
		commit ucitrack
 | 
						|
	EOF
 | 
						|
fi
 | 
						|
 | 
						|
rm -f /tmp/luci-indexcache
 | 
						|
exit 0
 |