Update ipregion.sh

This commit is contained in:
kurushmal
2025-12-12 04:45:43 -08:00
committed by GitHub
parent b08b3e4651
commit 6c93a4e0d4
+46
View File
@@ -86,6 +86,7 @@ declare -A PRIMARY_SERVICES=(
[IPQUERY_IO]="ipquery.io|api.ipquery.io|/{ip}" [IPQUERY_IO]="ipquery.io|api.ipquery.io|/{ip}"
[IPWHO_IS]="ipwho.is|ipwho.is|/{ip}" [IPWHO_IS]="ipwho.is|ipwho.is|/{ip}"
[IPAPI_COM]="ip-api.com|demo.ip-api.com|/json/{ip}?fields=countryCode" [IPAPI_COM]="ip-api.com|demo.ip-api.com|/json/{ip}?fields=countryCode"
[SCAMALYTICS]="scamalytics.com|api12.scamalytics.com|/v3/sashasafonov080/?key=b8e893e3b25169850525bee236c2d6d4d347cc110d8479b73ab91812f7106f44&ip={ip}"
) )
PRIMARY_SERVICES_ORDER=( PRIMARY_SERVICES_ORDER=(
@@ -105,10 +106,12 @@ PRIMARY_SERVICES_ORDER=(
"IPQUERY_IO" "IPQUERY_IO"
"IPWHO_IS" "IPWHO_IS"
"IPAPI_COM" "IPAPI_COM"
"SCAMALYTICS"
) )
declare -A PRIMARY_SERVICES_CUSTOM_HANDLERS=( declare -A PRIMARY_SERVICES_CUSTOM_HANDLERS=(
[IPLOCATION_COM]="lookup_iplocation_com" [IPLOCATION_COM]="lookup_iplocation_com"
[SCAMALYTICS]="lookup_scamalytics"
) )
declare -A SERVICE_HEADERS=( declare -A SERVICE_HEADERS=(
@@ -1258,6 +1261,9 @@ process_response() {
IPAPI_COM) IPAPI_COM)
jq_filter='.countryCode' jq_filter='.countryCode'
;; ;;
SCAMALYTICS)
jq_filter='.scamalytics.scamalytics_risk'
;;
*) *)
echo "$response" echo "$response"
;; ;;
@@ -1649,6 +1655,46 @@ lookup_iplocation_com() {
process_json "$response" ".country_code" process_json "$response" ".country_code"
} }
lookup_scamalytics() {
local ip_version="$1"
local ip response risk score bl dc vpn aws google icloud summary
if [[ -n "$EXTERNAL_IPV4" ]]; then
ip="$EXTERNAL_IPV4"
else
ip="$EXTERNAL_IPV6"
fi
response=$(make_request GET "https://api12.scamalytics.com/v3/sashasafonov080/?key=b8e893e3b25169850525bee236c2d6d4d347cc110d8479b73ab91812f7106f44&ip=$ip" \
--ip-version "$ip_version")
if is_status_string "$response"; then
echo "$response"
return
fi
if ! is_valid_json "$response"; then
echo "$STATUS_NA"
return
fi
risk=$(process_json "$response" ".scamalytics.scamalytics_risk")
score=$(process_json "$response" ".scamalytics.scamalytics_score")
bl=$(process_json "$response" ".scamalytics.is_blacklisted_external")
dc=$(process_json "$response" ".scamalytics.scamalytics_proxy.is_datacenter")
vpn=$(process_json "$response" ".scamalytics.scamalytics_proxy.is_vpn")
aws=$(process_json "$response" ".scamalytics.scamalytics_proxy.is_amazon_aws")
google=$(process_json "$response" ".scamalytics.scamalytics_proxy.is_google")
icloud=$(process_json "$response" ".scamalytics.scamalytics_proxy.is_apple_icloud_private_relay")
summary=$(printf "risk=%s score=%s bl=%s dc=%s vpn=%s aws=%s google=%s icloud=%s" \
"${risk:-$STATUS_NA}" "${score:-$STATUS_NA}" "${bl:-$STATUS_NA}" \
"${dc:-$STATUS_NA}" "${vpn:-$STATUS_NA}" "${aws:-$STATUS_NA}" \
"${google:-$STATUS_NA}" "${icloud:-$STATUS_NA}")
echo "$summary"
}
lookup_google() { lookup_google() {
local ip_version="$1" local ip_version="$1"
local response local response