- Full Spanish interface (all UI text, popups, charts, tables) - Dark and light mode support - Disclaimer banner: no data logged, public European service - Footer: Servicio ofrecido por Cloud Host (cloudhost.es) - Docker: single container (Redis + DataServer + AttackMapServer) - Remote T-Pot support via ELASTICSEARCH_URL env var (direct or SSH tunnel) - Based on telekom-security/t-pot-attack-map (Apache 2.0) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
47 lines
1.7 KiB
JavaScript
47 lines
1.7 KiB
JavaScript
/**
|
|
* Cache Bridge - Connection between dashboard cache and map
|
|
* Provides functions for map.js to interact with the cache system
|
|
*/
|
|
|
|
// Global function to restore attack to map during cache restoration
|
|
window.restoreAttackToMap = function(event) {
|
|
// This function will be called by dashboard.js during cache restoration
|
|
// map.js can override this function to handle restored attacks
|
|
console.log('[CACHE-BRIDGE] Attack restoration requested:', event);
|
|
|
|
// If map.js has defined a restoration handler, use it
|
|
if (typeof window.processRestoredAttack === 'function') {
|
|
window.processRestoredAttack(event);
|
|
}
|
|
};
|
|
|
|
// Global function to get cache statistics
|
|
window.getCacheStatistics = function() {
|
|
if (window.attackMapDashboard && window.attackMapDashboard.attackCache) {
|
|
return window.attackMapDashboard.attackCache.getStatistics();
|
|
}
|
|
return null;
|
|
};
|
|
|
|
// Global function to clear cache (for debugging)
|
|
window.clearAttackCache = function() {
|
|
if (window.attackMapDashboard && window.attackMapDashboard.attackCache) {
|
|
// Clear based on storage type
|
|
if (window.attackMapDashboard.attackCache.storageType === 'indexeddb') {
|
|
// Clear IndexedDB
|
|
const deleteRequest = indexedDB.deleteDatabase('TPotAttackCache');
|
|
deleteRequest.onsuccess = () => console.log('[CACHE] IndexedDB cleared');
|
|
deleteRequest.onerror = (e) => console.error('[CACHE] Failed to clear IndexedDB:', e);
|
|
} else {
|
|
// Clear LocalStorage
|
|
localStorage.removeItem('tpot_attack_cache');
|
|
console.log('[CACHE] LocalStorage cleared');
|
|
}
|
|
|
|
return true;
|
|
}
|
|
return false;
|
|
};
|
|
|
|
console.log('[CACHE-BRIDGE] Cache bridge initialized');
|