secubox-openwrt/package/secubox/luci-app-threat-analyst/htdocs/luci-static/resources/threat-analyst/api.js
CyberMind-FR 0e0749ed08 feat: Add threat-analyst, dns-guard, mcp-server and DNS provider DynDNS
New packages:
- secubox-threat-analyst: AI-powered threat analysis with CrowdSec integration
- luci-app-threat-analyst: LuCI dashboard for threat intelligence
- secubox-dns-guard: DNS security monitoring and blocking
- secubox-mcp-server: Model Context Protocol server for AI assistant integration

Enhancements:
- dns-provider: Add DynDNS support (dyndns, get, update, domains commands)
- gandi.sh: Full DynDNS with WAN IP detection and record updates
- luci-app-dnsguard: Upgrade to v1.1.0 with improved dashboard

Infrastructure:
- BIND9 DNS setup for secubox.in with CAA records
- Wildcard SSL certificates via DNS-01 challenge
- HAProxy config fixes for secubox.in subdomains
- Mail server setup with Roundcube webmail

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 08:30:28 +01:00

82 lines
1.5 KiB
JavaScript

'use strict';
'require rpc';
var callStatus = rpc.declare({
object: 'luci.threat-analyst',
method: 'status',
expect: { }
});
var callGetThreats = rpc.declare({
object: 'luci.threat-analyst',
method: 'get_threats',
params: ['limit'],
expect: { }
});
var callGetAlerts = rpc.declare({
object: 'luci.threat-analyst',
method: 'get_alerts',
params: ['limit'],
expect: { }
});
var callGetPending = rpc.declare({
object: 'luci.threat-analyst',
method: 'get_pending',
expect: { }
});
var callChat = rpc.declare({
object: 'luci.threat-analyst',
method: 'chat',
params: ['message'],
expect: { }
});
var callAnalyze = rpc.declare({
object: 'luci.threat-analyst',
method: 'analyze',
expect: { }
});
var callGenerateRules = rpc.declare({
object: 'luci.threat-analyst',
method: 'generate_rules',
params: ['target'],
expect: { }
});
var callApproveRule = rpc.declare({
object: 'luci.threat-analyst',
method: 'approve_rule',
params: ['id'],
expect: { }
});
var callRejectRule = rpc.declare({
object: 'luci.threat-analyst',
method: 'reject_rule',
params: ['id'],
expect: { }
});
var callRunCycle = rpc.declare({
object: 'luci.threat-analyst',
method: 'run_cycle',
expect: { }
});
return {
status: callStatus,
getThreats: callGetThreats,
getAlerts: callGetAlerts,
getPending: callGetPending,
chat: callChat,
analyze: callAnalyze,
generateRules: callGenerateRules,
approveRule: callApproveRule,
rejectRule: callRejectRule,
runCycle: callRunCycle
};