28 lines
1.1 KiB
Bash
Executable File
28 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Temporary file to store results
|
|
temp_file=$(mktemp)
|
|
|
|
# Loop through each IP from stdin, fetch geolocation, and append data
|
|
while read -r ip; do
|
|
# Check if the IP is not empty
|
|
if [[ -n "$ip" ]]; then
|
|
# Fetch geolocation data
|
|
response=$(curl -s "https://ipinfo.io/$ip/json")
|
|
|
|
# Extract country code, city, and hoster (if available)
|
|
country=$(echo "$response" | jq -r '.country // "Unknown"')
|
|
city=$(echo "$response" | jq -r '.city // "Unknown"')
|
|
hoster=$(echo "$response" | jq -r '.org // "Unknown"')
|
|
|
|
# Write the IP and its details to the temp file
|
|
echo "$ip - $city, $country, $hoster" >> "$temp_file"
|
|
fi
|
|
done
|
|
|
|
# Output the results
|
|
cat "$temp_file"
|
|
|
|
# Clean up
|
|
rm -f "$temp_file"
|