| 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');
function lum(r,g,b){const a=[r,g,b].map(v=>{v/=255;return v<=0.03928?v/12.92:Math.pow((v+0.055)/1.055,2.4);});return 0.2126*a[0]+0.7152*a[1]+0.0722*a[2];}
function ratio(fg,bg){const L1=lum(...fg),L2=lum(...bg);const hi=Math.max(L1,L2),lo=Math.min(L1,L2);return ((hi+0.05)/(lo+0.05));}
function parse(c){const m=c.match(/\d+/g);return m?[+m[0],+m[1],+m[2]]:[0,0,0];}
(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']});
async function check(url,selectors){
const p=await b.newPage();
await p.goto(url,{waitUntil:'networkidle2',timeout:60000});
const data=await p.evaluate((sels)=>{
function effBg(el){let e=el;while(e){const c=getComputedStyle(e).backgroundColor;if(c&&c!=='rgba(0, 0, 0, 0)'&&c!=='transparent')return c;e=e.parentElement;}return 'rgb(255,255,255)';}
return sels.map(s=>{const el=document.querySelector(s);if(!el)return{s,found:false};const cs=getComputedStyle(el);return{s,found:true,color:cs.color,bg:effBg(el),size:cs.fontSize};});
},selectors);
console.log('--',url);
data.forEach(d=>{if(!d.found){console.log(' (not found)',d.s);return;}const r=ratio(parse(d.color),parse(d.bg));console.log(' ',(r>=4.5?'OK ':'LOW'),r.toFixed(2)+':1',d.s,'| color',d.color,'bg',d.bg,'size',d.size);});
await p.close();
}
await check('https://www.safemyident.de/',['.text-muted','.smi-muted','footer a','.nav-link','p']);
await check('https://www.safemyident.de/tools/ip-check/',['.smi-ipc__muted','.smi-ipc__hint','.smi-ipc__disclaimer','.smi-ipc__note']);
await b.close();
})().catch(e=>{console.error('ERR',e.message);process.exit(1);});