ScamIntelLogs
Ready

Keitaro TDS Detector

7 evidence checks tied to official Keitaro docs  

No worker — 6/7 checks via public CORS proxies
Single Scan
Mass Scan
Methodology
Scan History
Log
Enter a domain and press Scan.
v1.8.0 · Source · PhishDestroy
Research tool by PhishDestroy. Results may be inaccurate. This tool sends only standard HTTP requests.
`; const blob = new Blob([html], { type: 'text/html' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = `keitaro-report-${r.domain}-${Date.now()}.html`; a.click(); URL.revokeObjectURL(url); } // ==================== THEME ==================== function getSystemTheme() { return window.matchMedia('(prefers-color-scheme: light)').matches ? 'light' : 'dark'; } function getStoredTheme() { return localStorage.getItem('keitaro_theme') || 'system'; } function applyTheme(theme) { const actual = theme === 'system' ? getSystemTheme() : theme; const isLight = actual === 'light'; document.documentElement.classList.toggle('light', isLight); const toggle = document.getElementById('themeToggle'); const iconDark = document.getElementById('themeIconDark'); const iconLight = document.getElementById('themeIconLight'); if (toggle) toggle.classList.toggle('light', isLight); if (iconDark) iconDark.style.display = isLight ? 'none' : ''; if (iconLight) iconLight.style.display = isLight ? '' : 'none'; document.querySelector('meta[name="theme-color"]')?.setAttribute('content', isLight ? '#f0f4f8' : '#06080d'); } function toggleTheme() { const current = getStoredTheme(); const actual = current === 'system' ? getSystemTheme() : current; const next = actual === 'dark' ? 'light' : 'dark'; localStorage.setItem('keitaro_theme', next); applyTheme(next); } // Apply on load applyTheme(getStoredTheme()); // Listen for system preference changes window.matchMedia('(prefers-color-scheme: light)').addEventListener('change', () => { if (getStoredTheme() === 'system') applyTheme('system'); }); // ==================== INIT ==================== document.addEventListener('keydown', e => { if (e.key === 'Escape') { closeDeployModal(); closeInfoModal(); closeMassDetail(); closeEvPopup(); } if (e.key === 'Enter' && e.ctrlKey) { if (!document.getElementById('singlePane').classList.contains('hidden')) runSingle(); else if (!document.getElementById('massPane').classList.contains('hidden')) runMass(); } }); document.getElementById('domainInput').addEventListener('keydown', e => { if (e.key === 'Enter') runSingle(); }); const savedWorker = localStorage.getItem('keitaro_worker'); if (savedWorker) document.getElementById('cfWorker').value = savedWorker; document.getElementById('cfWorker').addEventListener('input', function() { localStorage.setItem('keitaro_worker', this.value); updateProxyStatus(); updateMassCloakWarning(); }); buildGrid(); buildWorkerList(); buildInfoWeights(); buildMethodology(); setupDragDrop(); updateProxyStatus(); updateMassCloakWarning(); renderScanHistory(); // Restore saved thread count const savedThreads = localStorage.getItem('keitaro_mass_threads'); if (savedThreads) document.getElementById('massThreadInput').value = parseInt(savedThreads) || 10;