mirror of
https://github.com/benbusby/farside.git
synced 2025-03-24 15:56:31 -04:00

If dig returns exit code 9 (no reply from server) when checking an instance for cloudflare records, it shouldn't fail the CI build but rather just skip adding the instance to the non-cloudflare services list. This should be re-evaluated soon to see if the CI build routinely has issues with getting a server reply. If so, a different approach needs to be taken to check if an instance is using cloudflare.
28 lines
840 B
Bash
Executable File
28 lines
840 B
Bash
Executable File
#!/bin/bash
|
|
# Remove cloudflare instances from services-full.json
|
|
|
|
rm -f out.json
|
|
file="services-full.json"
|
|
|
|
while read -r line; do
|
|
if [[ "$line" == "\"https://"* ]]; then
|
|
domain=$(echo "$line" | sed -e "s/^\"https:\/\///" -e "s/\",//" -e "s/\"//")
|
|
ns=$(dig ns "$domain" || true)
|
|
if [[ "$ns" == *"cloudflare"* ]]; then
|
|
echo "\"$domain\" using cloudflare, skipping..."
|
|
elif [ ${#ns} -eq 0 ]; then
|
|
echo "Unable to verify records for \"$domain\", skipping..."
|
|
else
|
|
echo "$line" >> out.json
|
|
fi
|
|
else
|
|
echo "$line" >> out.json
|
|
fi
|
|
done <$file
|
|
|
|
# Remove any trailing commas from new instance lists
|
|
sed -i '' -e ':begin' -e '$!N' -e 's/,\n]/\n]/g' -e 'tbegin' -e 'P' -e 'D' out.json
|
|
|
|
cat out.json | jq --indent 2 . > services.json
|
|
rm -f out.json
|