| 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','--use-fake-ui-for-media-stream']});
async function run(url,useFp){
const p=await b.newPage(); const errs=[]; p.on('pageerror',e=>errs.push(e.message)); p.on('console',m=>{if(m.type()==='error')errs.push('console:'+m.text());});
await p.goto(url,{waitUntil:'networkidle2',timeout:60000});
const cbExists=await p.evaluate(()=>{const c=document.getElementById('smi-ipc-fp');return c?{exists:true,checked:c.checked}:{exists:false};});
if(useFp) await p.evaluate(()=>document.getElementById('smi-ipc-fp').click());
await p.type('#smi-ipc-input','8.8.8.8');
await p.click('#smi-ipc-check');
await p.waitForFunction(()=>{const e=document.querySelector('#smi-ipc-score-badge');return e&&e.textContent.trim();},{timeout:25000}).catch(()=>{});
// fingerprint tab visible?
let fpTabVisible=await p.evaluate(()=>{const t=document.querySelector('.smi-ipc__tab[data-tab="fingerprint"]');return t?!t.closest('.smi-ipc__tab').classList.contains('is-hidden')&&getComputedStyle(t).display!=='none':false;});
let fp={};
if(useFp){
await p.waitForFunction(()=>document.querySelector('#smi-ipc-panel-fingerprint .smi-ipc__fp-head'),{timeout:12000}).catch(()=>{});
await new Promise(r=>setTimeout(r,1500));
fp=await p.evaluate(()=>{
const panel=document.getElementById('smi-ipc-panel-fingerprint');
const scores=[...panel.querySelectorAll('.smi-ipc__fp-score-num')].map(e=>e.textContent);
return {status:panel.querySelector('.smi-ipc__fp-status')?.textContent.trim(), scores, findings:panel.querySelectorAll('.smi-ipc__fp-findings li').length, accordions:panel.querySelectorAll('.smi-ipc__acc').length, hasRaw:!!panel.querySelector('.smi-ipc__fp-raw'), summary:(panel.querySelector('.smi-ipc__fp-summary')?.textContent||'').slice(0,60)};
});
}
console.log('== '+url+' | useFp='+useFp);
console.log(' checkbox:',JSON.stringify(cbExists),'| ip-check ran:',await p.evaluate(()=>!!document.querySelector('#smi-ipc-score-badge')?.textContent.trim()));
console.log(' fp tab visible:',fpTabVisible,'| fp:',JSON.stringify(fp),'| errors:',errs.length?errs.slice(0,3):'none');
await p.close();
}
await run('https://www.safemyident.de/tools/ip-check/',false); // no regression
await run('https://www.safemyident.de/tools/ip-check/',true); // with fingerprint
await b.close();
})().catch(e=>{console.error('ERR',e.message);process.exit(1);});