Update ipregion.sh
This commit is contained in:
+46
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user