Executando verificação de segurança...
3

Hit 250 | status 302 | 83 ms | redirect to: https://app.lshort.sh/online
Erro no hit 251: fetch failed
Resumo do teste:
Hits realizados: 250
Tempo médio (ms): 81.71
Tempo mínimo (ms): 66
Tempo máximo (ms): 326
Teste finalizado.

// hit_test.js
// Teste controlado de acesso a link encurtado
// Uso consciente, autorizado e com limite

const URL = "https://lshort.sh/ITlPomy";
const TOTAL_HITS = 1000;     // quantidade total
const DELAY_MS = 1;      // 1 segundo entre hits
const METHOD = "HEAD";      // HEAD reduz carga (troque para GET se precisar)

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

async function hit(i) {
  const start = Date.now();

  const res = await fetch(URL, {
    method: METHOD,
    redirect: "manual", // não seguir redirect para evitar custo extra
    cache: "no-store",
  });

  const duration = Date.now() - start;

  return {
    index: i + 1,
    status: res.status,
    timeMs: duration,
    location: res.headers.get("location") || null,
  };
}

(async () => {
  console.log("Iniciando teste de hits controlado…");

  const times = [];

  for (let i = 0; i < TOTAL_HITS; i++) {
    try {
      const result = await hit(i);
      times.push(result.timeMs);

      console.log(
        `Hit ${result.index} | status ${result.status} | ${result.timeMs} ms` +
        (result.location ? ` | redirect to: ${result.location}` : "")
      );
    } catch (err) {
      console.error(`Erro no hit ${i + 1}:`, err.message);
      break;
    }

    await sleep(DELAY_MS);
  }

  if (times.length) {
    const avg =
      times.reduce((a, b) => a + b, 0) / times.length;

    console.log("Resumo do teste:");
    console.log("Hits realizados:", times.length);
    console.log("Tempo médio (ms):", avg.toFixed(2));
    console.log("Tempo mínimo (ms):", Math.min(...times));
    console.log("Tempo máximo (ms):", Math.max(...times));
  }

  console.log("Teste finalizado.");
})();

Carregando publicação patrocinada...
2

Que massa! Aí foi a cloudflare que bloqueou, o código invés de 1seg tá 1ms, aí reamlmente parece muito um ataque de DoS (Deny of Service). Impressionante ainda pegar 250!!!! Vi perto das 00:00 um teste que gerou umas 4 mil requisições e o dashboard aumentando as chamadas, diminuindo a latência e tankando tudo!!! Valeu pela tentativa!