Show city names instead of airport codes in Cloudflare detector

This commit is contained in:
cschantz
2026-01-27 18:05:52 -05:00
parent c962fe56e7
commit 05f9b35bcf
+57 -1
View File
@@ -178,6 +178,60 @@ check_http_headers() {
return 1 return 1
} }
get_location_name() {
local code="$1"
# Map IATA codes to city names
case "$code" in
# North America
ORD) echo "Chicago" ;;
LAX) echo "Los Angeles" ;;
IAD) echo "Ashburn, VA" ;;
DFW) echo "Dallas" ;;
ATL) echo "Atlanta" ;;
SEA) echo "Seattle" ;;
SJC) echo "San Jose, CA" ;;
MIA) echo "Miami" ;;
YYZ) echo "Toronto" ;;
BNA) echo "Nashville" ;;
DEN) echo "Denver" ;;
PHX) echo "Phoenix" ;;
EWR) echo "Newark, NJ" ;;
BOS) echo "Boston" ;;
# Europe
LHR) echo "London" ;;
FRA) echo "Frankfurt" ;;
AMS) echo "Amsterdam" ;;
CDG) echo "Paris" ;;
MAD) echo "Madrid" ;;
MAN) echo "Manchester" ;;
ARN) echo "Stockholm" ;;
WAW) echo "Warsaw" ;;
VIE) echo "Vienna" ;;
# Asia Pacific
SIN) echo "Singapore" ;;
NRT) echo "Tokyo" ;;
HKG) echo "Hong Kong" ;;
SYD) echo "Sydney" ;;
ICN) echo "Seoul" ;;
BOM) echo "Mumbai" ;;
DEL) echo "New Delhi" ;;
# Middle East
DXB) echo "Dubai" ;;
TLV) echo "Tel Aviv" ;;
# South America
GRU) echo "São Paulo" ;;
EZE) echo "Buenos Aires" ;;
# If unknown, show the code
*) echo "$code" ;;
esac
}
get_cloudflare_location() { get_cloudflare_location() {
local domain="$1" local domain="$1"
@@ -193,7 +247,9 @@ get_cloudflare_location() {
local colo=$(echo "$cf_ray" | awk -F'-' '{print $NF}') local colo=$(echo "$cf_ray" | awk -F'-' '{print $NF}')
if [ -n "$colo" ]; then if [ -n "$colo" ]; then
echo "$colo" # Return city name instead of code
local city=$(get_location_name "$colo")
echo "$city"
return 0 return 0
fi fi