mirror of
				https://github.com/Ysurac/openmptcprouter-feeds.git
				synced 2025-03-09 15:40:03 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
 | 
						|
if [ -f "/etc/nginx/luci_nginx_ssl.conf" ] && [ -f "/etc/nginx/nginx.conf" ]; then
 | 
						|
	if [ ! "$(cat '/etc/nginx/nginx.conf' | grep 'return 301 https://$host$request_uri;')" ]; then
 | 
						|
		if [ -f "/etc/nginx/nginx.conf_old" ]; then
 | 
						|
			rm /etc/nginx/nginx.conf
 | 
						|
		else
 | 
						|
			mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf_old
 | 
						|
		fi
 | 
						|
		mv /etc/nginx/luci_nginx_ssl.conf /etc/nginx/nginx.conf
 | 
						|
		core_number=$(grep -c ^processor /proc/cpuinfo)
 | 
						|
		sed -i "3s/.*/worker_processes  "$core_number";/" /etc/nginx/nginx.conf
 | 
						|
		if [ -n "$(pgrep nginx)" ]; then
 | 
						|
			/etc/init.d/nginx restart
 | 
						|
		else
 | 
						|
			/etc/init.d/nginx start
 | 
						|
		fi
 | 
						|
	else
 | 
						|
		rm /etc/nginx/luci_nginx_ssl.conf
 | 
						|
	fi
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
if [ ! -f "/etc/nginx/nginx.key" ]; then
 | 
						|
	
 | 
						|
	NGINX_KEY=/etc/nginx/nginx.key
 | 
						|
	NGINX_CER=/etc/nginx/nginx.cer
 | 
						|
	OPENSSL_BIN=/usr/bin/openssl
 | 
						|
	PX5G_BIN=/usr/sbin/px5g
 | 
						|
	
 | 
						|
	# Prefer px5g for certificate generation (existence evaluated last)
 | 
						|
	GENKEY_CMD=""
 | 
						|
	UNIQUEID=$(dd if=/dev/urandom bs=1 count=4 | hexdump -e '1/1 "%02x"')
 | 
						|
	[ -x "$OPENSSL_BIN" ] && GENKEY_CMD="$OPENSSL_BIN req -x509 -nodes"
 | 
						|
	[ -x "$PX5G_BIN" ] && GENKEY_CMD="$PX5G_BIN selfsigned"
 | 
						|
	[ -n "$GENKEY_CMD" ] && {
 | 
						|
		$GENKEY_CMD \
 | 
						|
			-days 730 -newkey rsa:2048 -keyout "${NGINX_KEY}.new" -out "${NGINX_CER}.new" \
 | 
						|
			-subj /C="ZZ"/ST="Somewhere"/L="Unknown"/O="OpenWrt""$UNIQUEID"/CN="OpenWrt"
 | 
						|
		sync
 | 
						|
		mv "${NGINX_KEY}.new" "${NGINX_KEY}"
 | 
						|
		mv "${NGINX_CER}.new" "${NGINX_CER}"
 | 
						|
	}
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
exit 0
 |