PageSourceSearch

https://ip-lookup.net/assets/Runner-D2JTk6FI.js

js ip-lookup.net collected 2026-09-24 17:12:04 UTC 5,117 bytes, 1 lines download raw bytes

1import{r as m,j as e}from"./react-vendor-D7TgbGvZ.js";import{a as j,p as b,b as T}from"./globalping-BHABeIgX.js";import{r as N,b as R,a as u,P}from"./globalpingPing-BC0j1Wzb.js";import{r as I,i as w}from"./task-BhUgbQSo.js";import{T as k,a as v,l as S,d as E}from"./toolPage-CLUlM9LC.js";import{M as F,a as _,d as M}from"./measurementTool-BTvETedS.js";import{F as f}from"./toolResult-D5ZSjxoD.js";import"./vendor-BzdfO9k1.js";import"./index-R-utGvvJ.js";import"./data-client-2vdIsT1P.js";import"./ui-vendor-BZCLOJN_.js";import"./registry-BdE7ATPc.js";const h=2,G=j.length*h,x=50,L=4;function O(t,r,o){return N(t,r,o,h)}function y(t){const r=t.filter(s=>u(s)&&s.avg!==null),o=t.filter(s=>!r.includes(s));return[...r.sort((s,a)=>(s.avg??0)-(a.avg??0)),...o]}function C(t){const r=y(t);return j.map(({label:o})=>({region:o,observation:r.find(s=>s.region===o&&u(s)&&s.avg!==null)??null}))}function A(t){return t===null?null:`${t.toFixed(1)} ms`}function $(t){const r=R(t),o=C(t.observations),s=o.filter(n=>n.observation!==null),a=[];s.length>0&&a.push({id:"region-best",title:"Fastest reply from each continent",severity:"info",summary:"The lowest average round-trip time among the probes in each continent. Continents where no probe replied are shown as not available.",evidence:o.map(({region:n,observation:l})=>({label:l?`${n} — ${b(l)}`:n,value:l?A(l.avg):null}))}),s.length>=L&&s.every(n=>(n.observation?.avg??1/0)<x)&&a.push({id:"wide-footprint",title:"Fast from every continent that replied",severity:"info",summary:`Each continent had a probe under ${x} ms. One server location cannot be that close to all of them, so the host is most likely served from many places, for example through anycast or a CDN.`});const c=r.findings.findIndex(n=>n.id==="resolved-addresses"||n.id==="incomplete"),i=c===-1?[...r.findings,...a]:[...r.findings.slice(0,c),...a,...r.findings.slice(c)];return{...r,findings:i}}const B="global-latency-test",D="global-latency-test-target";function q(t){return[t.city,t.country].filter(Boolean).join(", ")||"Not available"}function U(t){return!u(t)||t.avg===null?"Not available":e.jsxs(e.Fragment,{children:[t.avg.toFixed(1)," ms",t.min!==null&&t.max!==null&&e.jsxs(e.Fragment,{children:[e.jsx("br",{}),"(",t.min.toFixed(1),"–",t.max.toFixed(1),")"]})]})}function W(t){return t.status!=="finished"?"Probe did not report":t.received===null||t.sent===null?"Not available":`${t.received} of ${t.sent}`}function ne(){const t=m.useRef(0),[r,o]=m.useState(""),[s,a]=m.useReducer(I,w);async function c(){const n=T(r);if(!n.ok){a({type:"invalid",message:n.message});return}const l=++t.current;a({type:"start",requestId:l,trigger:"manual"});try{const d=await O(n.target),p=$(d),g={measurement:d,ranked:y(d.observations),result:p};p.status==="partial"?a({type:"partial",requestId:l,data:g,message:"Some probes did not report before this page stopped waiting."}):a({type:"success",requestId:l,data:g})}catch(d){M(a,l,d)}}const i=s.status==="success"||s.status==="partial"?s.data:null;return e.jsxs(k,{slug:B,children:[e.jsx(v,{title:"Measure round-trip time from around the world",description:`Sends ${P} ICMP echo requests to a public hostname or IP from up to ${h} remote probes on each continent, then ranks the probes from fastest to slowest. This is network round-trip time, not how long a website takes to load.`,children:e.jsx(F,{inputId:D,value:r,onChange:o,onSubmit:()=>void c(),loading:s.status==="loading",idleLabel:"Run latency test",loadingLabel:"Measuring…"})}),e.jsx(S,{state:s,mode:"manual-query",heading:"Global latency result",onRetry:s.status==="partial"||s.status==="error"?()=>void c():void 0,children:i&&e.jsxs(e.Fragment,{children:[e.jsx(f,{findings:i.result.findings.slice(0,1)}),e.jsxs("section",{style:E,children:[e.jsxs("h3",{style:{marginTop:0},children:["Probes ranked by round-trip time to ",i.measurement.target]}),e.jsx("div",{className:"tool-table-wrap",children:e.jsxs("table",{className:"tool-table tool-table-wide",children:[e.jsx("thead",{children:e.jsxs("tr",{children:[e.jsx("th",{scope:"col",children:"Rank"}),e.jsx("th",{scope:"col",children:"Probe location"}),e.jsx("th",{scope:"col",children:"Continent"}),e.jsx("th",{scope:"col",children:"Probe network"}),e.jsx("th",{scope:"col",children:"Address reached"}),e.jsx("th",{scope:"col",children:"Replies"}),e.jsx("th",{scope:"col",children:"Avg (min–max)"})]})}),e.jsx("tbody",{children:i.ranked.map((n,l)=>e.jsxs("tr",{children:[e.jsx("th",{scope:"row",children:u(n)&&n.avg!==null?l+1:"–"}),e.jsx("td",{children:q(n)}),e.jsx("td",{children:n.region??"Not available"}),e.jsx("td",{className:"tool-table-cell-wrap-short",children:n.network??"
1Not available"}),e.jsx("td",{className:"tool-table-cell-wrap-short",children:n.resolvedAddress??"Not available"}),e.jsx("td",{children:W(n)}),e.jsx("td",{children:U(n)})]},l))})]})}),e.jsxs("p",{className:"info-note",style:{marginBottom:0},children:["Measurement ID: ",i.measurement.id]})]}),e.jsx(f,{findings:i.result.findings.slice(1)}),e.jsx("p",{className:"info-note",children:i.result.privacyNotice})]})}),e.jsx(_,{testsPerRun:G})]})}export{ne as default};

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.