Add Loki and Sentinel utility classes for web API endpoints

- Implemented LokiUtils class with GET and POST endpoints for managing scripts, jobs, and payloads.
- Added SentinelUtils class with GET and POST endpoints for managing events, rules, devices, and notifications.
- Both classes include error handling and JSON response formatting.
This commit is contained in:
infinition
2026-03-14 22:33:10 +01:00
parent eb20b168a6
commit aac77a3e76
525 changed files with 29400 additions and 13136 deletions

View File

@@ -40,22 +40,40 @@
"settings.errorRestoring": "Errore nel ripristino dei valori predefiniti",
"theme.group.colors": "Colori",
"theme.group.surfaces": "Superfici",
"theme.group.borders": "Bordi",
"theme.group.controls": "Controlli",
"theme.group.layout": "Disposizione",
"theme.token.bg": "Sfondo",
"theme.token.bg2": "Sfondo Alt",
"theme.token.ink": "Colore testo",
"theme.token.muted": "Testo attenuato",
"theme.token.accent1": "Accento 1 (Acido)",
"theme.token.accent2": "Accento 2 (Ciano)",
"theme.token.accent": "Accento",
"theme.token.accentAlt": "Accento Alt",
"theme.token.danger": "Pericolo",
"theme.token.warning": "Avviso",
"theme.token.ok": "Successo",
"theme.token.panel": "Pannello",
"theme.token.panel2": "Pannello Alt",
"theme.token.ctrlPanel": "Pannello controllo",
"theme.token.ctrlPanel2": "Pannello controllo Alt",
"theme.token.btnBg": "Sfondo pulsante",
"theme.token.border": "Bordo",
"theme.token.borderStrong": "Bordo forte",
"theme.token.borderHi": "Bordo evidenziato",
"theme.token.switchTrack": "Traccia interruttore",
"theme.token.switchOnBg": "Sfondo interruttore attivo",
"theme.token.scrollTrack": "Traccia barra di scorrimento",
"theme.token.scrollThumb": "Cursore barra di scorrimento",
"theme.token.glass": "Sovrapposizione vetro",
"theme.token.radius": "Raggio bordo",
"theme.advanced": "CSS avanzato",
"theme.applyRaw": "Applica",
"theme.reset": "Ripristina",
"theme.reset": "Ripristina predefinito",
"theme.export": "Esporta tema",
"theme.import": "Importa tema",
"theme.importError": "File tema non valido",
"dash.title": "Cruscotto",
"dash.battery": "Batteria",
"dash.internet": "Internet",
@@ -777,5 +795,137 @@
"api.timeout": "La richiesta è scaduta",
"api.failed": "La richiesta è fallita",
"router.notFound": "Pagina non trovata : {{path}}",
"router.errorLoading": "Errore nel caricamento della pagina : {{message}}"
"router.errorLoading": "Errore nel caricamento della pagina : {{message}}",
"nav.sentinel": "Sentinel",
"sentinel.title": "Sentinel Watchdog",
"sentinel.enabled": "Abilitato",
"sentinel.disabled": "Disabilitato",
"sentinel.eventFeed": "Feed eventi",
"sentinel.ackAll": "Conferma tutti",
"sentinel.clearAll": "Cancella tutti",
"sentinel.allAcked": "Tutti gli eventi confermati",
"sentinel.confirmClear": "Cancellare tutti gli eventi? Azione irreversibile.",
"sentinel.eventsCleared": "Eventi cancellati",
"sentinel.noEvents": "Nessun evento per ora. Sentinel monitora la rete alla ricerca di anomalie.",
"sentinel.rules": "Regole",
"sentinel.devices": "Dispositivi",
"sentinel.notifiers": "Notifiche",
"sentinel.statDevices": "Dispositivi noti",
"sentinel.statAlive": "Attivi",
"sentinel.statUnread": "Non letti",
"sentinel.statEvents": "Eventi totali",
"sentinel.statRules": "Regole attive",
"sentinel.addRule": "Aggiungi regola",
"sentinel.noRules": "Nessuna regola configurata.",
"sentinel.ruleLogic": "Logica",
"sentinel.ruleActions": "Azioni",
"sentinel.enable": "Abilita",
"sentinel.disable": "Disabilita",
"sentinel.editRule": "Modifica regola",
"sentinel.deleteRule": "Elimina regola",
"sentinel.confirmDeleteRule": "Eliminare questa regola?",
"sentinel.ruleDeleted": "Regola eliminata",
"sentinel.ruleUpdated": "Regola aggiornata",
"sentinel.ruleCreated": "Regola creata",
"sentinel.ruleName": "Nome regola",
"sentinel.triggerType": "Tipo di attivazione",
"sentinel.cooldown": "Cooldown",
"sentinel.conditions": "Condizioni",
"sentinel.cancel": "Annulla",
"sentinel.save": "Salva",
"sentinel.nameRequired": "Il nome della regola è obbligatorio",
"sentinel.noDevices": "Nessun dispositivo scoperto.",
"sentinel.trusted": "Attendibile",
"sentinel.untrusted": "Non attendibile",
"sentinel.alias": "Alias",
"sentinel.expectedIps": "IP previsti",
"sentinel.lastSeen": "Ultima vista",
"sentinel.deviceSaved": "Dispositivo aggiornato",
"sentinel.discordWebhook": "Discord Webhook",
"sentinel.webhookUrl": "Webhook URL",
"sentinel.smtpHost": "SMTP Host",
"sentinel.smtpPort": "SMTP Port",
"sentinel.smtpUser": "SMTP Utente",
"sentinel.smtpPass": "SMTP Password",
"sentinel.emailFrom": "E-mail mittente",
"sentinel.emailTo": "E-mail destinatario",
"sentinel.saveNotifiers": "Salva notifiche",
"sentinel.notifiersSaved": "Configurazione notifiche salvata",
"sentinel.justNow": "adesso",
"sentinel.acknowledge": "Conferma",
"nav.bifrost": "Bifrost",
"bifrost.title": "Bifrost",
"bifrost.enabled": "Attivato",
"bifrost.disabled": "Disattivato",
"bifrost.activityFeed": "Feed attività",
"bifrost.clearActivity": "Cancella",
"bifrost.activityCleared": "Attività cancellata",
"bifrost.noActivity": "Nessuna attività. Attiva Bifrost per la ricognizione WiFi.",
"bifrost.networks": "Reti",
"bifrost.plugins": "Plugin",
"bifrost.history": "Cronologia",
"bifrost.mood": "Umore",
"bifrost.statNetworks": "Reti",
"bifrost.statHandshakes": "Handshake",
"bifrost.statDeauths": "Deauth",
"bifrost.statAssocs": "Assoc",
"bifrost.statEpochs": "Epoche",
"bifrost.statPeers": "Peer",
"bifrost.noNetworks": "Nessuna rete scoperta.",
"bifrost.noPlugins": "Nessun plugin caricato.",
"bifrost.noEpochs": "Nessuna epoca registrata.",
"bifrost.justNow": "proprio ora",
"bifrost.confirmEnable": "Attivare la modalità Bifrost? Il WiFi verrà messo in modalità monitor — la connessione di rete andrà persa. Collegati tramite USB/Bluetooth/Ethernet.",
"bifrost.monitorFailed": "Modalità Monitor Fallita",
"bifrost.monitorFailedHint": "Per chip Broadcom (Pi Zero), installa nexmon. O usa un adattatore WiFi USB esterno.",
"bifrost.nexmonRequired": "Nexmon richiesto",
"bifrost.nexmonRequiredDesc": "Il tuo chip WiFi Broadcom necessita delle patch firmware nexmon per la modalità monitor. Clicca per auto-installare (~15-25 min su Pi Zero 2 W).",
"bifrost.nexmonInstallBtn": "Installa Nexmon",
"bifrost.nexmonConfirm": "Installare le patch firmware nexmon? Questo scaricherà e compilerà nexmon (~15-25 min). Richiede accesso internet e privilegi root.",
"bifrost.nexmonStarted": "Installazione di nexmon avviata ...",
"bifrost.nexmonInstalling": "Installazione di Nexmon ...",
"nav.loki": "Loki",
"loki.title": "Loki — Suite di attacco HID",
"loki.enable": "Abilita",
"loki.enabled_msg": "Modalità Loki abilitata",
"loki.disabled_msg": "Modalità Loki disabilitata",
"loki.status_label": "Stato",
"loki.gadget_label": "Gadget",
"loki.layout_label": "Layout",
"loki.jobs_label": "Lavori",
"loki.running": "In esecuzione",
"loki.running_lc": "in esecuzione",
"loki.idle": "Inattivo",
"loki.ready": "Pronto",
"loki.not_ready": "Non pronto",
"loki.run": "Esegui",
"loki.save": "Salva",
"loki.new": "Nuovo",
"loki.delete": "Elimina",
"loki.cancel": "Annulla",
"loki.output": "Output",
"loki.payloads": "Payload",
"loki.custom_scripts": "Script personalizzati",
"loki.jobs": "Lavori",
"loki.clear_completed": "Elimina completati",
"loki.script": "Script",
"loki.status_col": "Stato",
"loki.started": "Avviato",
"loki.actions": "Azioni",
"loki.no_payloads": "Nessun payload integrato",
"loki.no_scripts": "Nessuno script salvato",
"loki.no_jobs": "Nessun lavoro ancora",
"loki.no_output": "Nessun output",
"loki.empty_script": "Lo script è vuoto",
"loki.job_started": "Lavoro avviato: {id}",
"loki.run_error": "Impossibile eseguire lo script",
"loki.script_name_prompt": "Nome dello script:",
"loki.saved": "Script salvato",
"loki.save_error": "Impossibile salvare lo script",
"loki.confirm_delete": "Eliminare lo script '{name}'?",
"loki.quick_placeholder": "Digita testo rapido qui...",
"loki.quick_send": "Digita",
"loki.quick_sent": "Testo inviato al target",
"loki.quick_error": "Impossibile inviare il testo"
}