Инструменты пользователя

Инструменты сайта


сингапур_gemini

Это старая версия документа!


Subject: IP xxx.xx.xx.xx geolocated as China by Google

Hello,
Google services (Gemini, YouTube) geolocate my VPS IP 192.67.63.55
as China (CN), while all other databases show Singapore.
Could you please assign me a different IPv4 that Google geolocates
as Singapore, and/or submit a geolocation correction / geofeed
update to Google for this range?
Thank you.
#!/usr/bin/env bash
# geocheck.sh — как разные сервисы видят геолокацию IP вашего VPS
# Запуск:  bash geocheck.sh        (IPv4)
#          bash geocheck.sh -6     (IPv6)
#          bash geocheck.sh 1.2.3.4  (проверить конкретный IP, без тестов Google)

set -u
FAM="-4"; TARGET=""
case "${1:-}" in
  -6) FAM="-6" ;;
  -4|"") ;;
  *) TARGET="$1" ;;
esac

UA="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0 Safari/537.36"
C="curl $FAM -s --max-time 10 -A \"$UA\""

need() { command -v "$1" >/dev/null 2>&1; }
if ! need jq || ! need whois; then
  echo "Ставлю jq и whois..."
  if need apt-get; then apt-get update -qq && apt-get install -y -qq jq whois >/dev/null
  elif need dnf; then dnf install -y -q jq whois >/dev/null
  elif need yum; then yum install -y -q jq whois >/dev/null
  elif need apk; then apk add -q jq whois >/dev/null
  fi
fi

g() { eval "$C \"$1\""; }
row() { printf "%-22s %-6s %-22s %s\n" "$1" "${2:-?}" "${3:-}" "${4:-}"; }

IP="${TARGET:-$(g https://api.ipify.org)}"
[ -z "$IP" ] && { echo "Не удалось определить внешний IP"; exit 1; }

echo "============================================================"
echo " IP: $IP"
echo "============================================================"
printf "%-22s %-6s %-22s %s\n" "Источник" "Страна" "Город" "ASN / Организация"
echo "------------------------------------------------------------"

# ipinfo.io (собственная база)
j=$(g "https://ipinfo.io/$IP/json")
row "ipinfo.io" "$(jq -r .country <<<"$j" 2>/dev/null)" "$(jq -r .city <<<"$j" 2>/dev/null)" "$(jq -r .org <<<"$j" 2>/dev/null)"

# ip-api.com (бесплатно только http)
j=$(g "http://ip-api.com/json/$IP?fields=countryCode,city,as,isp")
row "ip-api.com" "$(jq -r .countryCode <<<"$j" 2>/dev/null)" "$(jq -r .city <<<"$j" 2>/dev/null)" "$(jq -r .as <<<"$j" 2>/dev/null)"

# ifconfig.co — использует базу MaxMind GeoLite2
j=$(g "https://ifconfig.co/json?ip=$IP")
row "MaxMind (ifconfig.co)" "$(jq -r .country_iso <<<"$j" 2>/dev/null)" "$(jq -r .city <<<"$j" 2>/dev/null)" "$(jq -r '"AS\(.asn // "") \(.asn_org // "")"' <<<"$j" 2>/dev/null)"

# ipapi.co
j=$(g "https://ipapi.co/$IP/json/")
row "ipapi.co" "$(jq -r .country_code <<<"$j" 2>/dev/null)" "$(jq -r .city <<<"$j" 2>/dev/null)" "$(jq -r '"\(.asn // "") \(.org // "")"' <<<"$j" 2>/dev/null)"

# ipwho.is
j=$(g "https://ipwho.is/$IP")
row "ipwho.is" "$(jq -r .country_code <<<"$j" 2>/dev/null)" "$(jq -r .city <<<"$j" 2>/dev/null)" "$(jq -r '"AS\(.connection.asn // "") \(.connection.org // "")"' <<<"$j" 2>/dev/null)"

# ip.sb
j=$(g "https://api.ip.sb/geoip/$IP")
row "ip.sb" "$(jq -r .country_code <<<"$j" 2>/dev/null)" "$(jq -r .city <<<"$j" 2>/dev/null)" "$(jq -r '"AS\(.asn // "") \(.organization // "")"' <<<"$j" 2>/dev/null)"

# WHOIS — страна, на которую зарегистрирован блок
W=$(whois "$IP" 2>/dev/null)
row "WHOIS (регистрация)" "$(grep -im1 '^country:' <<<"$W" | awk '{print toupper($2)}')" "" "$(grep -im1 -E '^(netname|descr):' <<<"$W" | cut -d: -f2- | xargs)"

if [ -z "$TARGET" ]; then
  echo "------------------------------------------------------------"
  echo " Как видят реальные сервисы (с этого VPS):"

  # Cloudflare
  loc=$(g https://www.cloudflare.com/cdn-cgi/trace | awk -F= '/^loc=/{print $2}')
  row "Cloudflare" "$loc"

  # YouTube — регион Google по этому IP
  yt=$(g "https://www.youtube.com/premium" | grep -o '"countryCode":"[A-Z]\{2\}"' | head -1 | cut -d'"' -f4)
  row "YouTube (Google)" "${yt:-нет данных}"

  # Gemini — эвристика, Google может поменять разметку
  gm=$(g "https://gemini.google.com")
  if grep -q '45631641,null,true' <<<"$gm"; then gs="доступен"
  elif [ -z "$gm" ]; then gs="нет ответа"
  else gs="ВЕРОЯТНО НЕДОСТУПЕН"; fi
  gc=$(grep -o ',2,1,200,"[A-Z]\{3\}"' <<<"$gm" | head -1 | grep -o '[A-Z]\{3\}')
  row "Gemini" "${gc:-?}" "$gs" "(эвристика)"
fi

echo "============================================================"
echo "Если базы показывают SG, а YouTube/Gemini — CN: виновата"
echo "геолокация Google -> просите провайдера сменить IP или подать"
echo "исправление (geofeed / форма Google)."
echo "Если WHOIS = CN: блок зарегистрирован в Китае, надёжнее сменить IP."
сингапур_gemini.1792650207.txt.gz · Последнее изменение: — bonterkoz

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC Attribution 4.0 International
CC Attribution 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki