Advertisement
rgruber

search box

Apr 22nd, 2025
287
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let s=document.createElement("input");s.type="search";document.body.insertAdjacentElement("beforeEnd",s); s.name="search"; s.autocomplete="on"; s.style.marginLeft="60px";
  2. let data1=document.body.appendChild(document.createElement("pre"));s.insertAdjacentElement("afterEnd",data1);data1.style.marginLeft="60px";
  3. s.onsearch=function(ev){
  4.     data1.innerHTML="";
  5.     fetch("https://api.bgpview.io/search?query_term="+ev.srcElement.value.trim()).then(r=>r.ok?r.json():{}).then(d=>{
  6.         if (d.data) d=d.data;
  7.         delete d.ipv6_prefixes;
  8.         delete d.internet_exchanges;
  9.         d.asns = d.asns.map(v => ({ asn: v.asn, name: v.name,description: v.description, country_code: v.country_code }));
  10.         d.ipv4_prefixes = d.ipv4_prefixes.map(v => ({ prefix: v.prefix, name: v.name,description: v.description, country_code: v.country_code }));
  11.         console.log(d);
  12.         let s1=d.asns.map(v=>{return `<a href="https://rg443hh.x10.mx/hh/${v.asn}" target=_blank style="background: url('https://flagcdn.com/16x12/${v.country_code.toLowerCase()}.png') no-repeat left center;background-size: 16px 12px;padding-left: 24px;">AS${v.asn}</a>${' '.repeat( Math.min(16-(''+v.asn).length),0)} ${v.description} ${v.name!=v.description?', '+v.name:''}, ${v.country_code} `})
  13.         let s2=d.ipv4_prefixes.map(v=>{return `<a href="https://rg443hh.x10.mx/hh/${v.prefix}" target=_blank style="background: url('https://flagcdn.com/16x12/${v.country_code.toLowerCase()}.png') no-repeat left center;background-size: 16px 12px;padding-left: 24px;">${v.prefix}</a>${' '.repeat( Math.min(18-(''+v.prefix).length),0)} ${v.description} ${v.name!=v.description?'| '+v.name:''}, ${v.country_code} `})
  14.        
  15.         data1.innerHTML=[...s1,...s2].join("<br/>");
  16.     })
  17. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement