{"id":1652,"date":"2023-04-10T07:10:08","date_gmt":"2023-04-10T07:10:08","guid":{"rendered":"https:\/\/alterego.cc\/wp\/?page_id=1652"},"modified":"2026-05-27T23:41:18","modified_gmt":"2026-05-27T23:41:18","slug":"ip-address-tool","status":"publish","type":"page","link":"https:\/\/alterego.cc\/wp\/ip-address-tool\/","title":{"rendered":"IP Address Tool"},"content":{"rendered":"<style>\n.aeipa-box {\n  max-width: 900px;\n  margin: 40px auto;\n  padding: 28px;\n  background: #050505;\n  color: #f5f5f5;\n  border-radius: 22px;\n  font-family: Arial, Helvetica, sans-serif;\n  box-shadow: 0 20px 60px rgba(0,0,0,0.45);\n}\n\n.aeipa-header {\n  text-align: center;\n  margin-bottom: 28px;\n}\n\n.aeipa-flag {\n  margin-bottom: 16px;\n  min-height: 42px;\n  font-size: 34px;\n  line-height: 1.2;\n}\n\n.aeipa-title {\n  font-size: 32px;\n  font-weight: 800;\n  margin: 0 0 10px;\n  color: #ffffff;\n}\n\n.aeipa-subtitle {\n  font-size: 16px;\n  line-height: 1.6;\n  color: #cfcfcf;\n  max-width: 700px;\n  margin: 0 auto;\n}\n\n.aeipa-warning {\n  margin: 24px 0;\n  padding: 18px 20px;\n  background: #151515;\n  border-left: 5px solid #ffcc00;\n  border-radius: 12px;\n  color: #eeeeee;\n  line-height: 1.6;\n}\n\n.aeipa-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 14px;\n  margin-top: 24px;\n}\n\n.aeipa-item {\n  background: #111111;\n  border: 1px solid #242424;\n  border-radius: 14px;\n  padding: 16px;\n}\n\n.aeipa-label {\n  display: block;\n  font-size: 12px;\n  text-transform: uppercase;\n  letter-spacing: 0.08em;\n  color: #999999;\n  margin-bottom: 8px;\n}\n\n.aeipa-value {\n  font-size: 17px;\n  font-weight: 700;\n  color: #ffffff;\n  word-break: break-word;\n}\n\n.aeipa-value.is-unavailable,\n.aeipa-flag.is-unavailable {\n  color: #b8b8b8;\n  font-style: italic;\n  font-weight: 600;\n  font-size: 17px;\n}\n\n.aeipa-section-title {\n  margin-top: 34px;\n  font-size: 22px;\n  color: #ffffff;\n}\n\n.aeipa-extra {\n  margin-top: 18px;\n  background: #0d0d0d;\n  border: 1px solid #242424;\n  border-radius: 16px;\n  padding: 18px;\n  line-height: 1.6;\n  color: #d6d6d6;\n}\n\n.aeipa-footer {\n  margin-top: 28px;\n  padding-top: 20px;\n  border-top: 1px solid #242424;\n  font-size: 14px;\n  color: #aaaaaa;\n  line-height: 1.6;\n}\n\n@media (max-width: 700px) {\n  .aeipa-box {\n    padding: 22px;\n    margin: 24px 12px;\n  }\n\n  .aeipa-title {\n    font-size: 26px;\n  }\n\n  .aeipa-grid {\n    grid-template-columns: 1fr;\n  }\n}\n<\/style>\n\n<div class=\"aeipa-box\" data-aeipa-box>\n\n  <div class=\"aeipa-header\">\n    <div class=\"aeipa-flag\" data-aeipa-flag>Loading...<\/div>\n\n    <h2 class=\"aeipa-title\">What the internet can see about you<\/h2>\n\n    <p class=\"aeipa-subtitle\">\n      Every time you visit a website, some basic information can be visible automatically.\n      This page shows what can often be detected from your IP address and browser.\n    <\/p>\n  <\/div>\n\n  <div class=\"aeipa-warning\">\n    <strong>Your IP address is not just a number.<\/strong>\n    It can reveal your approximate location, internet provider, country, timezone and other useful clues.\n    VPNs, proxies, mobile networks and corporate networks can change or hide some of this information.\n  <\/div>\n\n  <div class=\"aeipa-grid\">\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">IP Address<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"ip\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Continent<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"continent\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Country<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"country\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Country Code<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"countryCode\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Region<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"region\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Region Name<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"regionName\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">City<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"city\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Latitude<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"lat\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Longitude<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"lon\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Timezone<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"timezone\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Currency<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"currency\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Internet Provider<\/span>\n      <span class=\"aeipa-value\" data-aeipa-field=\"isp\">Loading...<\/span>\n    <\/div>\n\n  <\/div>\n\n  <h3 class=\"aeipa-section-title\">Your browser also gives away clues<\/h3>\n\n  <div class=\"aeipa-grid\">\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Browser \/ Device Info<\/span>\n      <span class=\"aeipa-value\" data-aeipa-browser=\"browserInfo\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Browser Language<\/span>\n      <span class=\"aeipa-value\" data-aeipa-browser=\"browserLanguage\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Screen Size<\/span>\n      <span class=\"aeipa-value\" data-aeipa-browser=\"screenSize\">Loading...<\/span>\n    <\/div>\n\n    <div class=\"aeipa-item\">\n      <span class=\"aeipa-label\">Local Timezone<\/span>\n      <span class=\"aeipa-value\" data-aeipa-browser=\"localTimezone\">Loading...<\/span>\n    <\/div>\n\n  <\/div>\n\n  <div class=\"aeipa-extra\">\n    <strong>What does this mean?<\/strong><br>\n    Websites normally do not need your permission to see your IP address, browser type, language,\n    screen size and rough location. This is not always dangerous, but it explains why ads,\n    analytics tools and security systems can often recognise patterns about visitors.\n  <\/div>\n\n  <div class=\"aeipa-footer\">\n    This page is for awareness only. IP-based location is approximate and can be wrong, especially when using VPNs,\n    mobile networks, shared Wi-Fi, company networks or privacy tools.\n  <\/div>\n\n<\/div>\n\n<script>\n(function () {\n  var ajaxUrl = \"https:\\\/\\\/alterego.cc\\\/wp\\\/wp-admin\\\/admin-ajax.php\";\n  var action = \"alterego_ip_awareness_lookup\";\n  var fallbackText = \"Unable to detect\";\n\n  function cleanValue(value) {\n    if (value === null || value === undefined) {\n      return fallbackText;\n    }\n\n    value = String(value).trim();\n\n    if (!value || value === \"undefined\" || value === \"null\" || value === \"Loading...\" || value.indexOf(\"[userip_location\") !== -1) {\n      return fallbackText;\n    }\n\n    return value;\n  }\n\n  function setValue(selector, value) {\n    var elements = document.querySelectorAll(selector);\n    elements.forEach(function (el) {\n      var cleaned = cleanValue(value);\n      el.textContent = cleaned;\n      if (cleaned === fallbackText) {\n        el.classList.add(\"is-unavailable\");\n      } else {\n        el.classList.remove(\"is-unavailable\");\n      }\n    });\n  }\n\n  function setIpField(name, value) {\n    setValue('[data-aeipa-field=\"' + name + '\"]', value);\n  }\n\n  function setBrowserField(name, value) {\n    setValue('[data-aeipa-browser=\"' + name + '\"]', value);\n  }\n\n  function getScreenSize() {\n    try {\n      if (window.screen && window.screen.width && window.screen.height) {\n        return window.screen.width + \" x \" + window.screen.height;\n      }\n    } catch (e) {}\n    return fallbackText;\n  }\n\n  function getTimezone() {\n    try {\n      var timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n      return timezone || fallbackText;\n    } catch (e) {\n      return fallbackText;\n    }\n  }\n\n  setBrowserField(\"browserInfo\", navigator.userAgent);\n  setBrowserField(\"browserLanguage\", navigator.language || navigator.userLanguage);\n  setBrowserField(\"screenSize\", getScreenSize());\n  setBrowserField(\"localTimezone\", getTimezone());\n\n  fetch(ajaxUrl + \"?action=\" + encodeURIComponent(action), {\n    method: \"GET\",\n    credentials: \"same-origin\",\n    cache: \"no-store\"\n  })\n    .then(function (response) {\n      if (!response.ok) {\n        throw new Error(\"Lookup failed\");\n      }\n      return response.json();\n    })\n    .then(function (payload) {\n      if (!payload || !payload.success || !payload.data) {\n        throw new Error(\"No lookup data\");\n      }\n\n      var data = payload.data;\n\n      setIpField(\"ip\", data.ip);\n      setIpField(\"continent\", data.continent);\n      setIpField(\"country\", data.country);\n      setIpField(\"countryCode\", data.countryCode);\n      setIpField(\"region\", data.region);\n      setIpField(\"regionName\", data.regionName);\n      setIpField(\"city\", data.city);\n      setIpField(\"lat\", data.lat);\n      setIpField(\"lon\", data.lon);\n      setIpField(\"timezone\", data.timezone);\n      setIpField(\"currency\", data.currency);\n      setIpField(\"isp\", data.isp);\n\n      var flag = document.querySelector(\"[data-aeipa-flag]\");\n      if (flag) {\n        var flagText = cleanValue(data.flag);\n        if (flagText === fallbackText) {\n          flag.textContent = fallbackText;\n          flag.classList.add(\"is-unavailable\");\n        } else {\n          flag.textContent = flagText;\n          flag.classList.remove(\"is-unavailable\");\n        }\n      }\n    })\n    .catch(function () {\n      [\"ip\", \"continent\", \"country\", \"countryCode\", \"region\", \"regionName\", \"city\", \"lat\", \"lon\", \"timezone\", \"currency\", \"isp\"].forEach(function (field) {\n        setIpField(field, fallbackText);\n      });\n\n      var flag = document.querySelector(\"[data-aeipa-flag]\");\n      if (flag) {\n        flag.textContent = fallbackText;\n        flag.classList.add(\"is-unavailable\");\n      }\n    });\n})();\n<\/script>\n        \n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":1657,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1652","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/pages\/1652","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/comments?post=1652"}],"version-history":[{"count":3,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/pages\/1652\/revisions"}],"predecessor-version":[{"id":2223,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/pages\/1652\/revisions\/2223"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/media\/1657"}],"wp:attachment":[{"href":"https:\/\/alterego.cc\/wp\/wp-json\/wp\/v2\/media?parent=1652"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}