From ce7eb4316d90bbc727b956fd7732ace558654305 Mon Sep 17 00:00:00 2001 From: Evgeny Zinoviev Date: Tue, 11 Jan 2022 21:09:38 +0300 Subject: initial --- cf-nginx-wl.sh | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100755 cf-nginx-wl.sh diff --git a/cf-nginx-wl.sh b/cf-nginx-wl.sh new file mode 100755 index 0000000..d7f67bb --- /dev/null +++ b/cf-nginx-wl.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +TEMP=$(mktemp) +OUTPUT="$1" + +die() { + echo "error: $@" + [ -f "$TEMP" ] && rm "$TEMP" + exit 1 +} + +[ -z "$OUTPUT" ] && { + echo "usage: $0 OUTPUT" + exit +} + +curl -s "https://www.cloudflare.com/ips-v4" --output "$TEMP" || die "downloading failed" +[ -s "$TEMP" ] || die "temp file is empty" + +cat "$TEMP" | sed 's/^/allow /g' | sed 's/$/;/g' | tee "$TEMP" > /dev/null +echo -e "satisfy all;\n$(cat "$TEMP")" > "$TEMP" +echo "deny all;" >> "$TEMP" + +[ -f "$OUTPUT" ] && { + rm "$OUTPUT" || die "failed to remove old file $OUTPUT" +} +mv "$TEMP" "$OUTPUT" -- cgit v1.2.3