1<!DOCTYPE html><html class="dark" lang="en" style="color-scheme:dark"><head><meta charset="UTF-8"><meta content="width=device-width,initial-scale=1" name="viewport"><title>What's My IP - Free Network Tools & IP Address Lookup</title><meta content="Discover your IP address and location instantly. Free network diagnostic tools including DNS lookup, port checker, WHOIS, SSL certificate checker, and more for developers and IT professionals." name="description"><!-- Favicons --><link href="/favicon.png" rel="icon" type="image/png"><link href="/apple-touch-icon.png" rel="apple-touch-icon" sizes="180x180"><!-- Default meta tags - will be overridden by react-helmet-async on each page --><meta content="What's My IP - Free Network Tools & IP Address Lookup" property="og:title"><meta content="Discover your IP address and location instantly. Free network diagnostic tools including DNS lookup, port checker, WHOIS, SSL certificate checker, and more for developers and IT professionals." property="og:description"><meta content="website" property="og:type"><meta content="https://whatsmyip.com/og-image.png" property="og:image"><meta content="summary_large_image" name="twitter:card"><meta content="https://whatsmyip.com/og-image.png" name="twitter:image">
1<script data-cfasync="false" async defer src="https://accounts.google.com/gsi/client"></script>
1<link href="https://ads.holid.io" rel="preconnect" crossorigin=""><link href="https://securepubads.g.doubleclick.net" rel="preconnect" crossorigin=""><link href="https://pagead2.googlesyndication.com" rel="preconnect" crossorigin=""><link href="//ads.holid.io" rel="dns-prefetch"><link href="//securepubads.g.doubleclick.net" rel="dns-prefetch"><link href="//pagead2.googlesyndication.com" rel="dns-prefetch"><!-- Google tag (gtag.js) -->
vendor: 57 bytes, line 1
1<script src="https://www.googletagmanager.com/gtag/js?id=
1G-Y55MP7HG9P
vendor: 17 bytes, line 1
1" async></script>
1<script>
vendor: 146 bytes, lines 1-5
1window.dataLayer = window.dataLayer || []; 2 function gtag(){dataLayer.push(arguments);} 3 gtag('js', new Date()); 4 5 gtag('config', '
5G-Y55MP7HG9P
vendor: 3 bytes, line 5
5');
5</script>
5<script data-cfasync="false">window.__WMI_BOOTSTRAP_IP__ = '181.215.65.67';</script>
5<script src="/assets/index-DMDmnVwu.js" crossorigin="" type="module"></script>
5<link href="/assets/vendor-Bd9hyaYX.js" rel="modulepreload" crossorigin=""><link href="/assets/index-Bgd6mB9K.css" rel="stylesheet" crossorigin=""><link href="https://whatsmyip.com" rel="canonical"><meta content="https://whatsmyip.com" property="og:url"><meta content="What's My IP - Free Network Tools & IP Address Lookup" name="twitter:title"><meta content="Discover your IP address and location instantly. Free network diagnostic tools including DNS lookup, port checker, WHOIS, SSL certificate checker, and more for developers and IT professionals." name="twitter:description"><style type="text/css">:where([data-sonner-toaster][dir=ltr]),:where(html[dir=ltr]){--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}:where([data-sonner-toaster][dir=rtl]),:where(html[dir=rtl]){--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}:where([data-sonner-toaster]){position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}:where([data-sonner-toaster][data-lifted=true]){transform:translateY(-10px)}@media (hover:none) and (pointer:coarse){:where([data-sonner-toaster][data-lifted=true]){transform:none}}:where([data-sonner-toaster][data-x-position=right]){right:var(--offset-right)}:where([data-sonner-toaster][data-x-position=left]){left:var(--offset-left)}:where([data-sonner-toaster][data-x-position=center]){left:50%;transform:translate(-50%)}:where([data-sonner-toaster][data-y-position=top]){top:var(--offset-top)}:where([data-sonner-toaster][data-y-position=bottom]){bottom:var(--offset-bottom)}:where([data-sonner-toast]){--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);filter:blur(0);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}:where([data-sonner-toast][data-styled=true]){padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}:where([data-sonner-toast]:focus-visible){box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast][data-y-position=top]){top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}:where([data-sonner-toast][data-y-position=bottom]){bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}:where([data-sonner-toast]) :where([data-description]){font-weight:400;line-height:1.4;color:inherit}:where([data-sonner-toast]) :where([data-title]){font-weight:500;line-height:1.5;color:inherit}:where([data-sonner-toast]) :where([data-icon]){display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}:where([data-sonner-toast][data-promise=true]) :where([data-icon])>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}:where([data-sonner-toast]) :where([data-icon])>*{flex-shrink:0}:where([data-sonner-toast]) :where([data-icon]) svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}:where([data-sonner-toast]) :where([data-content]){display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}:where([data-sonner-toast]) :where([data-button]):focus-visible{box-shadow:0 0 0 2px #0006}:where([data-sonner-toast]) :where([data-button]):first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}:where([data-sonner-toast]) :where([data-cancel]){color:var(--normal-text);background:rgba(0,0,0,.08)}:where([data-sonner-toast][data-theme=dark]) :where([data-cancel]){background:rgba(255,255,255,.3)}:where([data-sonner-toast]) :where([data-close-button]){position:absolute;
5left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast] [data-close-button]{background:var(--gray1)}:where([data-sonner-toast]) :where([data-close-button]):focus-visible{box-shadow:0 4px 12px #0000001a,0 0 0 2px #0003}:where([data-sonner-toast]) :where([data-disabled=true]){cursor:not-allowed}:where([data-sonner-toast]):hover :where([data-close-button]):hover{background:var(--gray2);border-color:var(--gray5)}:where([data-sonner-toast][data-swiping=true]):before{content:"";position:absolute;left:-50%;right:-50%;height:100%;z-index:-1}:where([data-sonner-toast][data-y-position=top][data-swiping=true]):before{bottom:50%;transform:scaleY(3) translateY(50%)}:where([data-sonner-toast][data-y-position=bottom][data-swiping=true]):before{top:50%;transform:scaleY(3) translateY(-50%)}:where([data-sonner-toast][data-swiping=false][data-removed=true]):before{content:"";position:absolute;inset:0;transform:scaleY(2)}:where([data-sonner-toast]):after{content:"";position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}:where([data-sonner-toast][data-mounted=true]){--y:translateY(0);opacity:1}:where([data-sonner-toast][data-expanded=false][data-front=false]){--scale:var(--toasts-before) * .05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}:where([data-sonner-toast])>*{transition:opacity .4s}:where([data-sonner-toast][data-expanded=false][data-front=false][data-styled=true])>*{opacity:0}
5:where([data-sonner-toast][data-visible=false]){opacity:0;pointer-events:none}:where([data-sonner-toast][data-mounted=true][data-expanded=true]){--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}:where([data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]){--y:translateY(calc(var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]){--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}:where([data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]){--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}:where([data-sonner-toast][data-removed=true][data-front=false]):before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translate(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{0%{transform:var(--y) translate(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translate(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{0%{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 91%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 91%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 91%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 100%, 12%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 12%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);
5--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success],[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info],[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning],[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error],[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:nth-child(1){animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}to{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}</style></head><body><div class="bg-background" id="root">
5<script>!function(){var d=document.documentElement,c=d.classList;c.remove('light','dark');d.style.colorScheme = 'dark';c.add('dark')}()</script>
5<div aria-label="Notifications (F8)" role="region" style="pointer-events:none" tabindex="-1"><ol class="fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]" tabindex="-1"></ol></div><section aria-atomic="false" aria-label="Notifications alt+T" aria-live="polite" aria-relevant="additions text" tabindex="-1"></section><header class="fixed inset-x-0 top-0 z-[60] border-b border-border/50 bg-background/80 supports-[backdrop-filter]:bg-background/60 backdrop-blur-sm"><div class="container mx-auto px-4 py-4 max-h-[362px] min-[1280px]:pr-[320px] min-[2000px]:pr-0"><div class="flex items-center justify-between"><div class="flex items-center gap-3"><a class="flex items-center gap-3" href="/"><div class="p-2 rounded-lg bg-gradient-primary"><svg class="lucide lucide-wifi h-6 w-6 text-primary-foreground" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12 20h.01"></path><path d="M2 8.82a15 15 0 0 1 20 0"></path><path d="M5 12.859a10 10 0 0 1 14 0"></path><path d="M8.5 16.429a5 5 0 0 1 7 0"></path></svg></div><div class="hidden md:block"><h1 class="text-xl font-bold">What's My IP</h1><p class="text-sm text-muted-foreground">Network Tools & IP Information</p></div></a></div><div class="flex items-center gap-4"><button class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2 gap-2" aria-expanded="false" aria-haspopup="menu" data-state="closed" id="radix-:r0:" type="button">Tools <svg class="lucide lucide-chevron-down h-4 w-4" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m6 9 6 6 6-6"></path></svg></button><div class="flex items-center gap-2"><button class="inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 px-4 py-2 gap-2" aria-expanded="false" aria-haspopup="menu" data-state="closed" id="radix-:r2:" type="button"><svg class="lucide lucide-globe h-4 w-4" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="text-lg">ðºð¸</span></button><button class="inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-10 aspect-square p-2" aria-expanded="false" aria-haspopup="menu" data-state="closed" id="radix-:r4:" type="button"><svg class="lucide lucide-sun h-[1.2rem] w-[1.2rem] rotate-0 scale-100 transition-all dark:-rotate-90 dark:scale-0" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="4"></circle><path d="M12 2v2"></path><path d="M12 20v2"></path><path d="m4.93 4.93 1.41 1.41"></path><path d="m17.66 17.66 1.41 1.41"></path><path d="M2 12h2"></path><path d="M20 12h2"></path><path d="m6.34 17.66-1.41 1.41"></path><path d="m19.07 4.93-1.41 1.41"></path></svg><svg class="lucide lucide-moon absolute h-[1.2rem] w-[1.2rem] rotate-90 scale-0 transition-all dark:rotate-0 dark:scale-100" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"></path></svg><span class="sr-only">Toggle theme</span></button><div class="hidden md:flex items-center gap-2"><div class="inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-primary/20 text-primary curs
5or-pointer hover:bg-primary/30 transition-colors">Free Tools</div><a class="inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 gap-2" href="/auth"><svg class="lucide lucide-log-in h-4 w-4" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path><polyline points="10 17 15 12 10 7"></polyline><line x1="15" x2="3" y1="12" y2="12"></line></svg> Login</a></div></div></div></div></div></header><div class="h-16 md:h-20" aria-hidden="true"></div><div class="container mx-auto px-2.5 sm:px-8 pt-4 min-[1280px]:pr-[320px] min-[2000px]:pr-0"><div class="holidAds wmi-ad-slot widescreen w-full my-3 flex justify-center mx-auto" aria-label="advertisement" data-ad-format="widescreen" role="complementary"></div></div><aside class="wmi-ad-rail wmi-ad-rail-right fixed z-30 top-[80px] bottom-4 pointer-events-auto right-2 hidden xl:flex min-[1400px]:w-[320px] flex-col items-center gap-3"><div class="holidAds wmi-ad-slot box w-full my-3 flex justify-center w-[300px] min-h-[90px] max-w-[320px]" aria-label="advertisement" data-ad-format="box" role="complementary"></div><div class="holidAds wmi-ad-slot tower w-full my-3 flex justify-center w-[300px] min-h-[90px] floating-tower max-w-[320px]" aria-label="advertisement" data-ad-format="tower" role="complementary"></div></aside><aside class="wmi-ad-rail wmi-ad-rail-left fixed z-30 top-[80px] bottom-4 pointer-events-auto left-2 hidden min-[2000px]:flex min-[2000px]:w-[320px] flex-col items-center gap-3"><div class="holidAds wmi-ad-slot box w-full my-3 flex justify-center w-[300px] min-h-[90px] max-w-[320px]" aria-label="advertisement" data-ad-format="box" role="complementary"></div><div class="holidAds wmi-ad-slot tower w-full my-3 flex justify-center w-[300px] min-h-[90px] floating-tower max-w-[320px]" aria-label="advertisement" data-ad-format="tower" role="complementary"></div></aside><div class="min-[1280px]:pr-[320px] min-[2000px]:pl-[320px]"><div class="min-h-[70vh] flex items-center justify-center px-4"><div class="w-full max-w-md rounded-2xl bg-slate-800/60 shadow-xl p-6"><h1 class="text-2xl font-semibold text-center mb-6">IP Geolocation API</h1><h2 class="text-xl font-medium mb-4">Sign In</h2><div class="flex justify-center mb-3"><div></div></div><div class="relative my-4 text-center text-slate-400"><span class="px-2 bg-slate-800">OR</span><div class="absolute left-0 right-0 top-1/2 -z-10 h-px bg-slate-600/50"></div></div><form class="space-y-3"><div><label class="block text-sm mb-1">Email</label><input autocomplete="email" class="w-full rounded-lg bg-slate-900/60 border border-slate-700 px-3 py-2" placeholder="[email protected]" type="email" value=""></div><div><label class="block text-sm mb-1">Password</label><input autocomplete="current-password" class="w-full rounded-lg bg-slate-900/60 border border-slate-700 px-3 py-2" placeholder="â¢â¢â¢â¢â¢â¢â¢â¢" type="password" value=""></div><button class="w-full rounded-xl bg-cyan-500 hover:bg-cyan-400 disabled:opacity-60 text-slate-900 font-semibold py-2 mt-2">Sign In</button></form></div></div></div><div class="container mx-auto px-4 flow-root min-[1400px]:pr-[320px] min-[2000px]:pr-0"><div class="holidAds wmi-ad-slot widescreen w-full my-3 flex justify-center my-8 mx-auto" aria-label="advertisement" data-ad-format="widescreen" role="complementary"></div></div><footer class="border-t border-border/50 bg-card/30 backdrop-blur-sm mt-20"><div class="container mx-auto px-4 py-12"><div class="grid grid-cols-1 md:grid-cols-4 gap-8"><div class="space-y-4"><h3 class="text-lg font-semibold">About What's My IP</h3><p class="text-sm text-muted-foreground">A comprehensive suite of network diagnostic tools for developers, system administrators, and anyone who needs reliable network information.</p><div class="flex items-center gap-2 text-xs text-muted-foreground"><span>Made with</span><svg class="lucide lucide-heart h-3 w-3 text-red-500" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z"></path></svg><span>for the developer community</span></div></div><div class="space-y-4"><h3 class="text-lg font-semibold">Popular Tools</h3><ul class="space-y-2 text-sm text-muted-foreground"><li><a class="hover:text-primary transition-colors" href="/">IP Address Lookup</a></li><li><a class="hover:text-primary transition-colors" href="/dns-lookup">DNS Lookup</a></li><li><a class="hover:text-primary transition-colors" href="/port-check">Port Checker</a></li><li><a class="hover:text-primary transition-colors" href="/whois-lookup">WHOIS Lookup</a></li><li><a class="hover:text-primary transition-colors" href="/ssl-checker">SSL Checker</a></li></ul></div><div class="space-y-4"><h3 class="text-lg font-semibold">Resources</h3><ul class="space-y-2 text-sm text-muted-foreground"><li><a class="hover:text-primary transition-colors" href="/api-docs">API Documentation</a></li><li><a class="hover:text-primary transition-colors" href="/json-formatter">JSON Formatter</a></li><li><a class="hover:text-primary transition-colors" href="/image-converter">Image Converter</a></li><li><a class="hover:text-primary transition-colors" href="/javascript-formatter">JavaScript Formatter</a></li></ul></div><div class="space-y-4"><h3 class="text-lg font-semibold">Connect</h3><div class="space-y-3"><div class="flex items-center gap-2"><svg class="lucide lucide-globe h-4 w-4 text-primary" fill="none" height="24" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><circle cx="12" cy="12" r="10"></circle><path d="M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"></path><path d="M2 12h20"></path></svg><span class="text-sm">Available worldwide</span></div><div class="flex flex-wrap gap-2"><div class="inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80">IPv4</div><div class="inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80">IPv6</div><div class="inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80">HTTPS</div></div></div></div></div><div class="border-t border-border/50 mt-8 pt-8 flex flex-col md:flex-row items-center justify-between gap-4"><p class="text-sm text-muted-foreground">© 2024 What's My IP. Free network tools for everyone.</p><div class="flex items-center gap-4 text-sm text-muted-foreground"><a class="hover:text-primary transition-colors" href="#">Privacy Policy</a><a class="hover:text-primary transition-colors" href="#">Terms of Service</a><a class="hover:text-primary transition-colors" href="#">Contact</a></div></div></div></footer></div>
5<script data-cfasync="false">/* */ 6 (function(){ 7 function inject(){ 8 if (document.getElementById('holid-js')) return; 9 window.wmiAdsLayout?.prepare(); 10 const s=document.createElement('script'); 11 s.id='holid-js'; s.async=true; s.setAttribute('data-cfasync','false'); 12 s.src='https://ads.holid.io/auto/whatsmyip.com/holid.js'; 13 s.onload = function () { window.wmiAdsLayout?.install(); }; 14 document.head.appendChild(s); 15 } 16 // Wait for React's real slots, not react-snap's discarded DOM. 17 window.addEventListener('wmi:ads-ready', function () { 18 requestAnimationFrame(inject); 19 }, {once:true}); 20 })(); 21 22 (function () { 23 // Justera dessa två selektorer efter din markup 24 const towerSelector = '.floating-tower'; // dina tower-divar 25 const footerSelector = 'footer'; // din footer (ev. .site-footer eller liknande) 26 27 const footer = document.querySelector(footerSelector); 28 if (!footer) return; 29
30 function setTowersHidden(isHidden) { 31 const towers = document.querySelectorAll(towerSelector); 32 towers.forEach(el => { 33 if (isHidden) { 34 // console.log("Adding: floating-tower--hidden-near-footer"); 35 el.classList.add('floating-tower--hidden-near-footer'); 36 } else { 37 // console.log("Removing: floating-tower--hidden-near-footer"); 38 el.classList.remove('floating-tower--hidden-near-footer'); 39 } 40 }); 41 } 42 43 // Modern & robust lösning: IntersectionObserver på footern 44 if ('IntersectionObserver' in window) { 45 const observer = new IntersectionObserver( 46 entries => { 47 const footerVisible = entries.some(entry => entry.isIntersecting); 48 setTowersHidden(footerVisible); 49 }, 50 { 51 root: null, // viewport 52 threshold: 0.01 // så fort fotern snuddar viewporten 53 } 54 ); 55 56 observer.observe(footer); 57 } else { 58 // Fallback om IntersectionObserver saknas (gamla browsers) 59 const BOTTOM_THRESHOLD = 250; 60 61 function onScrollFallback() { 62 const docEl = document.documentElement; 63 const scrollTop = window.scrollY || docEl.scrollTop; 64 const viewportHeight = window.innerHeight || docEl.clientHeight; 65 const pageHeight = Math.max(docEl.scrollHeight, document.body.scrollHeight); 66 const nearBottom = scrollTop + viewportHeight >= pageHeight - BOTTOM_THRESHOLD; 67 68 setTowersHidden(nearBottom); 69 } 70 71 window.addEventListener('scroll', onScrollFallback); 72 window.addEventListener('resize', onScrollFallback); 73 document.addEventListener('DOMContentLoaded', onScrollFallback); 74 } 75 })();</script>
75<script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a444b62bca0836a1',t:'MTc5MDk1NDY0MQ=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>
75<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"02e6e832256c41d98382904e224341b9","r":1,"spa":2}' crossorigin="anonymous"></script>
75 76</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.