Showing source for: https://md.ctdo.de/s/btIMOVGYCm
Duration: 0.195554s
Server: Caddy

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Sicherheitsüberprüfung / Security Check</title>
  <style nonce="eSdrJA0l0YAzN7Xr9AS3Jdfi">
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
      font-family: Arial, sans-serif;
      background-color: #f4f4f9;
      color: #333;

      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
    }

    .wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
    }

    h1 {
      font-size: 2em;
      margin: 0.4em 0 0.3em;
    }

    p {
      font-size: 1.2em;
      margin: 0.6em 0;
    }

    .spinner {
      margin: 2em 0;
      width: 50px;
      height: 50px;
      border: 5px solid #ccc;
      border-top: 5px solid #333;
      border-radius: 50%;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
  </style>
</head>
<body>
  <div class="wrapper">
    
    <h1>Einen Moment Geduld...</h1>
    <p>Im Hintergrund läuft gerade eine kleine<br>
    mathematische Herausforderung - ganz automatisch<br>
    zur Bestätigung, dass Sie kein Bot sind 🔒.</p>
    <p>⏳ In wenigen Sekunden geht es weiter.</p>

    
    <div class="spinner"></div>

    
    <h1>Just a moment...</h1>
    <p>A small mathematical challenge is running<br>
    in the background - fully automatic to confirm<br>
    you're not a bot 🔒.</p>
    <p>⏳ You'll be redirected shortly.</p>
  </div>

  <script nonce="eSdrJA0l0YAzN7Xr9AS3Jdfi">
const fromHex = h => new Uint8Array(h.match(/.{1,2}/g).map(b => parseInt(b, 16)));


const toHex = b => Array.from(b).map(x => x.toString(16).padStart(2, "0")).join("");

const challengeSeed = "000000006ad2b5de322433813ecb03f6";
const challengeMAC = "9c208cfe54c158e9ad171713669938c0457bbe78cd9c943634025e1703634fe751e8ee18f4ebde797416d4cfb7975d4a9513f28b9fe3acc3740bfbc628e45aaa";
const complexity = 17;
const seedCookie = "__challenge_seed";
const solCookie = "__challenge_solution";
const macCookie = "__challenge_mac";


const maxAge = 3600;


const seed = fromHex(challengeSeed);


const challengeBuffer = new ArrayBuffer(seed.length * 2);


const challengeSeedView = new Uint8Array(challengeBuffer, 0, seed.length);


const challengeNonceView = new Uint8Array(challengeBuffer, seed.length);


seed.forEach((v, i) => challengeSeedView[i] = v);


function countLeadingZeros(buf) {
  const view = new Uint8Array(buf);
  let bits = 0;
  for (let byte of view) {
    for (let i = 7; i >= 0; i--) {
      if ((byte >> i) & 1) {
        
        return bits;
      }
      bits++;
    }
  }
  return bits;
}


(async () => {
  // Let the browser paint the challenge page before the PoW loop starts.
  await new Promise(requestAnimationFrame);
  await new Promise(r => setTimeout(r, 0));
  while (true) {
    
    crypto.getRandomValues(challengeNonceView);
    
    const digest = await crypto.subtle.digest("SHA-512", challengeBuffer);
    
    const leadingZeros = countLeadingZeros(digest);

    if (leadingZeros >= complexity) {
      
      document.cookie = `${seedCookie}=${challengeSeed}; Path=/; max-age=${maxAge}; SameSite=Lax; Secure`;
      document.cookie = `${solCookie}=${toHex(challengeNonceView)}; Path=/; max-age=${maxAge}; SameSite=Lax; Secure`;
      document.cookie = `${macCookie}=${challengeMAC}; Path=/; max-age=${maxAge}; SameSite=Lax; Secure`;
      
      window.location.reload();
      return;
    }
  }
})();
</script>
</body>
</html>

Latest requests

# Url Url Source Date
1 https://md.ctdo.de/s/btIMOVGYCm 2026-10-16 23:40:15
2 https://garrette61v3.blogpostie.co… 2026-10-16 23:40:14
3 https://www.texarkanatwins.com/%25… 2026-10-16 23:40:14
4 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:14
5 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:13
6 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:13
7 https://auth.mediacorp.sg/u/login?… 2026-10-16 23:40:12
8 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:12
9 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:11
10 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:11
11 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:11
12 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:10
13 https://shop-photo.ru:443/ 2026-10-16 23:40:09
14 https://auth.mediacorp.sg/u/login?… 2026-10-16 23:40:09
15 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:08
16 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:08
17 https://consent.youtube.com/m?cont… 2026-10-16 23:40:08
18 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:07
19 https://data-sdy.me/ 2026-10-16 23:40:07
20 https://www.thebolditalic.com/?gi=… 2026-10-16 23:40:07