| Server IP : 202.61.199.114 / Your IP : 216.73.217.139 Web Server : nginx/1.22.1 System : Linux de.arni-solutions.de 6.1.0-49-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.174-1 (2026-05-26) x86_64 User : web20 ( 1018) PHP Version : 8.4.23 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /tmp/smi-shot/ |
Upload File : |
const puppeteer=require('puppeteer');
(async()=>{
const b=await puppeteer.launch({headless:'new',args:['--no-sandbox','--disable-setuid-sandbox','--host-resolver-rules=MAP www.safemyident.de 127.0.0.1','--ignore-certificate-errors']});
const p=await b.newPage(); const errs=[]; p.on('pageerror',e=>errs.push(e.message));
await p.setViewport({width:1900,height:1000,deviceScaleFactor:1});
await p.goto('https://www.safemyident.de/tools/ip-check/',{waitUntil:'networkidle2',timeout:60000});
const m=await p.evaluate(()=>{
const form=document.querySelector('.smi-ipc__form');const fr=form.getBoundingClientRect();const cs=getComputedStyle(form);
const iL=fr.left+parseFloat(cs.paddingLeft), iR=fr.right-parseFloat(cs.paddingRight);
function ins(sel){const e=document.querySelector(sel);if(!e)return null;const r=e.getBoundingClientRect();return {sel,L:+(r.left-iL).toFixed(1),R:+(iR-r.right).toFixed(1)};}
// also check checkbox + heading same line
const box=document.querySelector('.smi-ipc__fpopt-box').getBoundingClientRect();
const lbl=document.querySelector('.smi-ipc__fpopt-label').getBoundingClientRect();
return {items:['.smi-ipc__myip','.smi-ipc__btn--big','.smi-ipc__fpblock','.smi-ipc__fpopt-help','.smi-ipc__fpopt-label'].map(ins),
sameLine: Math.abs((box.top+box.height/2)-(lbl.top+lbl.height/2))<4};
});
m.items.forEach(x=>x&&console.log(' '+x.sel.padEnd(24)+' L='+String(x.L).padStart(6)+' R='+String(x.R).padStart(6)+(Math.abs(x.L-x.R)>2?' <-- ungleich':' ✓')));
console.log('checkbox & Überschrift auf einer Linie:',m.sameLine);
await (await p.$('.smi-ipc__self')).screenshot({path:'/tmp/smi-shot/fp-fixed.png'});
console.log('errors:',errs.length?errs.slice(0,2):'none');
await b.close();
})().catch(e=>{console.error('ERR',e.message);process.exit(1);});