Skip to content

Commit 6ac9b23

Browse files
jaapmarcusmyrevery
andauthored
Improve upgrade script (hestiacp#3386)
* Improve upgrade script * Improve updating Cloudflare IP Ranges --------- Co-authored-by: myrevery <16082142+myrevery@users.noreply.github.com>
1 parent d048ce2 commit 6ac9b23

File tree

1 file changed

+22
-18
lines changed

1 file changed

+22
-18
lines changed

func/upgrade.sh

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -551,24 +551,28 @@ upgrade_b2_tool() {
551551
}
552552

553553
upgrade_cloudflare_ip() {
554-
echo "[ * ] Update Cloudflare IP..."
555-
# https://github.com/ergin/nginx-cloudflare-real-ip/
556-
CLOUDFLARE_FILE_PATH='/etc/nginx/conf.d/cloudflare.inc'
557-
echo "#Cloudflare" > $CLOUDFLARE_FILE_PATH
558-
echo "" >> $CLOUDFLARE_FILE_PATH
559-
560-
echo "# - IPv4" >> $CLOUDFLARE_FILE_PATH
561-
for i in $(curl -s -L https://www.cloudflare.com/ips-v4); do
562-
echo "set_real_ip_from $i;" >> $CLOUDFLARE_FILE_PATH
563-
done
564-
echo "" >> $CLOUDFLARE_FILE_PATH
565-
echo "# - IPv6" >> $CLOUDFLARE_FILE_PATH
566-
for i in $(curl -s -L https://www.cloudflare.com/ips-v6); do
567-
echo "set_real_ip_from $i;" >> $CLOUDFLARE_FILE_PATH
568-
done
569-
570-
echo "" >> $CLOUDFLARE_FILE_PATH
571-
echo "real_ip_header CF-Connecting-IP;" >> $CLOUDFLARE_FILE_PATH
554+
if [ "$WEB_SYSTEM" = "nginx" ] || [ "$PROXY_SYSTEM" = "nginx" ]; then
555+
cf_ips="$(curl -fsLm2 --retry 1 https://api.cloudflare.com/client/v4/ips)"
556+
557+
if [ -n "$cf_ips" ] && [ "$(echo "$cf_ips" | jq -r '.success//""')" = "true" ]; then
558+
cf_inc="/etc/nginx/conf.d/cloudflare.inc"
559+
560+
echo "[ * ] Updating Cloudflare IP Ranges for Nginx..."
561+
echo "# Cloudflare IP Ranges" > $cf_inc
562+
echo "" >> $cf_inc
563+
echo "# IPv4" >> $cf_inc
564+
for ipv4 in $(echo "$cf_ips" | jq -r '.result.ipv4_cidrs[]//""' | sort); do
565+
echo "set_real_ip_from $ipv4;" >> $cf_inc
566+
done
567+
echo "" >> $cf_inc
568+
echo "# IPv6" >> $cf_inc
569+
for ipv6 in $(echo "$cf_ips" | jq -r '.result.ipv6_cidrs[]//""' | sort); do
570+
echo "set_real_ip_from $ipv6;" >> $cf_inc
571+
done
572+
echo "" >> $cf_inc
573+
echo "real_ip_header CF-Connecting-IP;" >> $cf_inc
574+
fi
575+
fi
572576
}
573577

574578
upgrade_phppgadmin() {

0 commit comments

Comments
 (0)