Documentation
¶
Index ¶
- type AlertMetrics
- type BanEntry
- type BansData
- type BinaryInfo
- type CPUInfo
- type ConfigInfo
- type ConnectionInfo
- type CountryMetrics
- type CountryStats
- type CountryTraffic
- type DDoSMetrics
- type DashboardData
- type DiskInfo
- type FHSItem
- type FeedChartEntry
- type FeedEntry
- type FeedMetrics
- type FeedSyncActivity
- type FeedsPageData
- type FirewallMetrics
- type GeoBlockEntry
- type GeoCountryEntry
- type GeoIPMetrics
- type GeoIPPageData
- type GeoLookupResult
- type HealthCheck
- type HealthData
- type HealthItem
- type IPCheckResult
- type InterfaceMetrics
- type InventoryData
- type LogEntry
- type MemoryInfo
- type MetricsData
- type MetricsSummary
- type ModuleMetrics
- type ModuleStatus
- type ModulesData
- type NavItem
- type NetworkInterface
- type NetworkMetrics
- type NetworkPageData
- type PortMetrics
- type PortTraffic
- type PortscanMetrics
- type ProcessInfo
- type RecentBan
- type ResourceStats
- type SearchMatch
- type SearchResult
- type SecurityKPIs
- type SecurityMetrics
- type ServiceInfo
- type SuricataMetrics
- type SystemIdentity
- type SystemMetrics
- type SystemPageData
- type SystemService
- type TimerInfo
- type ToolsData
- type TrafficSample
- type UserInfo
- type WhitelistData
- type WhitelistEntry
- type WhitelistSource
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AlertMetrics ¶ added in v1.6.1
AlertMetrics holds alert statistics
type BanEntry ¶ added in v1.2.3
type BanEntry struct {
IP string
Type string // "permanent", "temporary", "feed", "geoban"
Reason string
Module string // login, portscan, ddos, manual, feed
Country string
CountryCode string
BannedAt string
ExpiresAt string // Empty for permanent
Source string // Config file or feed name
}
BanEntry represents a single banned IP
type BansData ¶ added in v1.2.3
type BansData struct {
// Summary stats
TotalBans int
BansIPv4 int
BansIPv6 int
TempBans int
PermBans int
FeedBans int
GeoBans int
// Ban list
Bans []BanEntry
// Pagination
Page int
PageSize int
TotalPages int
// Filters
Filter string // "all", "temp", "perm", "feed", "geo"
SearchQuery string
}
BansData holds all ban list information
type BinaryInfo ¶ added in v1.1.1
BinaryInfo represents an installed binary
type CPUInfo ¶ added in v1.6.1
type CPUInfo struct {
Model string
Cores int
Threads int
Frequency string
UsagePercent float64
LoadAvg1 float64
LoadAvg5 float64
LoadAvg15 float64
}
CPUInfo holds CPU information
type ConfigInfo ¶ added in v1.1.1
ConfigInfo represents a configuration file
type ConnectionInfo ¶ added in v1.6.1
type ConnectionInfo struct {
Protocol string // "tcp", "udp"
LocalAddr string
RemoteAddr string
State string
PID int
Process string
}
ConnectionInfo holds connection information
type CountryMetrics ¶ added in v1.6.1
CountryMetrics holds per-country ban statistics
type CountryStats ¶ added in v1.1.1
CountryStats for geo distribution
type CountryTraffic ¶ added in v1.6.1
CountryTraffic holds traffic by country
type DDoSMetrics ¶ added in v1.6.1
DDoSMetrics holds DDoS protection metrics
type DashboardData ¶ added in v1.1.1
type DashboardData struct {
// System Identity (Top Left)
Identity SystemIdentity
// Security KPIs (Top Right)
Security SecurityKPIs
// Hardware Resources
Resources ResourceStats
// Module Status Grid
Modules []ModuleStatus
// Recent Activity
RecentBans []RecentBan
// Theme preference
Theme string // "dark" or "light"
}
DashboardData contains all dashboard information for zero-refresh updates
type DiskInfo ¶ added in v1.6.1
type DiskInfo struct {
Path string
TotalGB float64
UsedGB float64
FreeGB float64
Percent float64
FSType string
InodesUsed int64
InodesTotal int64
}
DiskInfo holds disk information
type FHSItem ¶ added in v1.1.1
type FHSItem struct {
Path string
Expected string
Actual string
Status string // "ok", "error", "warning"
Notes string
}
FHSItem represents a filesystem hierarchy item
type FeedChartEntry ¶ added in v1.6.1
FeedChartEntry represents a feed for chart display
type FeedEntry ¶ added in v1.6.1
type FeedEntry struct {
Name string
Description string
URL string
Status string // "active", "syncing", "stale", "error", "disabled"
Enabled bool
IPCount int
LastSync string
NextSync string
SyncErrors int
LastError string
}
FeedEntry represents a single threat feed
type FeedMetrics ¶ added in v1.6.1
type FeedMetrics struct {
Name string
Status string // "active", "syncing", "stale", "error"
IPCount int
LastSync string
NextSync string
SyncErrors int
}
FeedMetrics holds threat feed metrics
type FeedSyncActivity ¶ added in v1.6.1
type FeedSyncActivity struct {
FeedName string
Status string // "success", "error", "syncing"
IPsAdded int
IPsRemoved int
Timestamp string
Error string
}
FeedSyncActivity represents a recent sync event
type FeedsPageData ¶ added in v1.6.1
type FeedsPageData struct {
// Summary stats
TotalFeeds int
ActiveFeeds int
StaleFeeds int
ErrorFeeds int
TotalIPs int
LastCheck string
// Feed list
Feeds []FeedEntry
// Top feeds by IP count (for chart)
TopFeeds []FeedChartEntry
// Recent sync activity
RecentActivity []FeedSyncActivity
}
FeedsPageData holds feeds page information
type FirewallMetrics ¶ added in v1.6.1
type FirewallMetrics struct {
TableExists bool
RulesTotal int
SetsTotal int
CountersTotal int
ChainCount int
NftablesActive bool
}
FirewallMetrics holds nftables/firewall specific metrics
type GeoBlockEntry ¶ added in v1.6.1
type GeoBlockEntry struct {
IP string
Country string
CountryCode string
Timestamp string
Reason string
}
GeoBlockEntry represents a recent geo-block event
type GeoCountryEntry ¶ added in v1.6.1
type GeoCountryEntry struct {
Code string
Name string
Blocked bool
RangeCount int
IPCount int64
BansFromHere int
LastBan string
}
GeoCountryEntry represents a country in the GeoIP list
type GeoIPMetrics ¶ added in v1.6.1
type GeoIPMetrics struct {
Enabled bool
DatabaseVersion string
DatabaseAge string
BlockedCountries int
BlockedRanges int
CountryStats []CountryMetrics
}
GeoIPMetrics holds GeoIP/GeoBan metrics
type GeoIPPageData ¶ added in v1.6.1
type GeoIPPageData struct {
// Database info
DatabasePath string
DatabaseVersion string
DatabaseDate string
DatabaseSize string
LastUpdate string
NextUpdate string
UpdateEnabled bool
// Blocking config
BlockingEnabled bool
BlockingMode string // "whitelist" or "blacklist"
// Statistics
TotalCountries int
BlockedCountries int
AllowedCountries int
TotalRanges int
TotalIPs int64
// Country list
Countries []GeoCountryEntry
// Recent blocks
RecentBlocks []GeoBlockEntry
}
GeoIPPageData holds GeoIP page information
type GeoLookupResult ¶ added in v1.2.3
type GeoLookupResult struct {
IP string
Country string
CountryCode string
City string
Region string
ASN string
ASNOrg string
IsBlocked bool // Country is geo-blocked
BlockReason string // Why blocked (if applicable)
}
GeoLookupResult holds GeoIP lookup results
type HealthCheck ¶ added in v1.1.1
type HealthCheck struct {
Name string
Status string // "ok", "warning", "error"
ExitCode int
Message string
}
HealthCheck represents a single health check category
type HealthData ¶ added in v1.1.1
type HealthData struct {
Timestamp string
OverallStatus string // "ok", "warning", "error"
ExitCode int
ErrorCount int
WarningCount int
Checks []HealthCheck
Errors []string
Warnings []string
}
HealthData holds comprehensive health check results
type HealthItem ¶ added in v1.1.1
type HealthItem struct {
Name string
Status string // "ok", "warning", "error"
Detail string // Additional info
}
HealthItem represents a single health check (legacy)
type IPCheckResult ¶ added in v1.1.1
type IPCheckResult struct {
IP string
Status string // "banned", "whitelisted", "clean"
BannedSince string
Reason string
Module string
Country string
}
IPCheckResult holds the result of an IP lookup
type InterfaceMetrics ¶ added in v1.6.1
type InterfaceMetrics struct {
Name string
RxMbps float64
TxMbps float64
RxBytes int64
TxBytes int64
Status string // "up", "down"
}
InterfaceMetrics holds per-interface network stats
type InventoryData ¶ added in v1.1.1
type InventoryData struct {
Services []ServiceInfo
Timers []TimerInfo
Binaries []BinaryInfo
Configs []ConfigInfo
FHS []FHSItem
}
InventoryData holds all inventory information
type LogEntry ¶ added in v1.2.3
type LogEntry struct {
Timestamp string
Level string // "INFO", "WARN", "ERROR", "BAN", "UNBAN"
Module string
Message string
IP string // Extracted IP if present
}
LogEntry represents a log line for the viewer
type MemoryInfo ¶ added in v1.6.1
type MemoryInfo struct {
TotalGB float64
UsedGB float64
FreeGB float64
AvailableGB float64
Percent float64
SwapTotalGB float64
SwapUsedGB float64
SwapPercent float64
}
MemoryInfo holds memory information
type MetricsData ¶ added in v1.6.1
type MetricsData struct {
// Collection info
Timestamp string
CollectorState string // "running", "stopped", "stale"
CachePath string
CacheAge string
// Summary cards
Summary MetricsSummary
// Detailed sections
Firewall FirewallMetrics
Security SecurityMetrics
Network NetworkMetrics
System SystemMetrics
Modules []ModuleMetrics
Feeds []FeedMetrics
GeoIP GeoIPMetrics
Portscan PortscanMetrics
DDoS DDoSMetrics
Suricata SuricataMetrics
}
MetricsData holds all metrics overview information
type MetricsSummary ¶ added in v1.6.1
type MetricsSummary struct {
TotalBans int
BansIPv4 int
BansIPv6 int
TotalWhitelist int
ActiveFeeds int
BlockedCountries int
EventsLastHour int
HealthStatus string // "ok", "warning", "error"
}
MetricsSummary holds top-level summary metrics
type ModuleMetrics ¶ added in v1.6.1
type ModuleMetrics struct {
Name string
Status string // "active", "inactive", "error"
Enabled bool
BansCount int
EventsCount int
LastSync string
CPUPercent float64
MemoryMB float64
}
ModuleMetrics holds per-module metrics
type ModuleStatus ¶ added in v1.1.1
type ModuleStatus struct {
Name string
Description string
Status string // "active", "inactive", "failed", "warning"
Enabled bool
Running bool
// Module-specific metrics
BansProduced int // How many IPs this module has added
CPUPercent float64 // Module-specific CPU (if separate process)
MemoryMB float64 // Module-specific memory
LastSync string // Last time module reported in
ServiceName string // Systemd service name for restart
}
ModuleStatus holds individual module information
type ModulesData ¶ added in v1.2.3
type ModulesData struct {
Modules []ModuleStatus
TotalModules int
EnabledCount int
DisabledCount int
RunningCount int
}
ModulesData holds modules page information
type NetworkInterface ¶ added in v1.6.1
type NetworkInterface struct {
Name string
Status string // "up", "down"
IPAddress string
MACAddress string
MTU int
RxMbps float64
TxMbps float64
RxBytes int64
TxBytes int64
RxPackets int64
TxPackets int64
RxErrors int64
TxErrors int64
Dropped int64
}
NetworkInterface holds interface information
type NetworkMetrics ¶ added in v1.6.1
type NetworkMetrics struct {
RxMbps float64
TxMbps float64
TotalRxGB float64
TotalTxGB float64
PacketsDropped int64
ConnectionsTotal int
ConnectionsNew int
TopInterface string
Interfaces []InterfaceMetrics
}
NetworkMetrics holds network traffic metrics
type NetworkPageData ¶ added in v1.6.1
type NetworkPageData struct {
// Summary
TotalRxMbps float64
TotalTxMbps float64
TotalRxToday string
TotalTxToday string
ActiveConns int
DroppedPackets int64
// Interfaces
Interfaces []NetworkInterface
// Connections
TopConnections []ConnectionInfo
// Traffic history (for graphs)
TrafficHistory []TrafficSample
// Dropped traffic
DroppedByCountry []CountryTraffic
DroppedByPort []PortTraffic
}
NetworkPageData holds network page information
type PortMetrics ¶ added in v1.6.1
PortMetrics holds per-port scan statistics
type PortTraffic ¶ added in v1.6.1
PortTraffic holds traffic by port
type PortscanMetrics ¶ added in v1.6.1
type PortscanMetrics struct {
Enabled bool
TotalBlocks int
BlocksToday int
TopPorts []PortMetrics
}
PortscanMetrics holds portscan detection metrics
type ProcessInfo ¶ added in v1.6.1
type ProcessInfo struct {
PID int
Name string
User string
CPUPercent float64
MemPercent float64
MemMB float64
Status string
}
ProcessInfo holds process information
type RecentBan ¶ added in v1.1.1
type RecentBan struct {
IP string
Country string
CountryCode string
Reason string
Module string // Which module triggered the ban
Timestamp string
}
RecentBan represents a recent ban entry
type ResourceStats ¶ added in v1.1.1
type ResourceStats struct {
// CPU
CPUPercent float64
CPULoadAvg1 float64
CPULoadAvg5 float64
CPULoadAvg15 float64
// RAM
RAMUsedGB float64
RAMTotalGB float64
RAMPercent float64
// Disk (focus on log partition)
DiskUsedGB float64
DiskTotalGB float64
DiskPercent float64
DiskPath string // Which partition we're monitoring
// NFTBan Process specifically
NFTBanCPU float64
NFTBanMemMB float64
NFTBanUptime string
}
ResourceStats holds system resource information
type SearchMatch ¶ added in v1.2.3
type SearchMatch struct {
SetName string // "blacklist_ipv4", "whitelist_ipv4", "feed_spamhaus", etc.
SetType string // "blacklist", "whitelist", "feed", "geoban"
EntryType string // "exact", "cidr_match", "range"
MatchedCIDR string // If CIDR match, show the network
AddedAt string
Reason string
}
SearchMatch represents where an IP was found
type SearchResult ¶ added in v1.2.3
type SearchResult struct {
IP string
Found bool
FoundIn []SearchMatch
TotalMatches int
}
SearchResult holds cross-set search results
type SecurityKPIs ¶ added in v1.1.1
type SecurityKPIs struct {
// Active Bans
BansTotal int
BansIPv4 int
BansIPv6 int
// Whitelist
WhitelistTotal int
WhitelistIPv4 int
WhitelistIPv6 int
// Network Stats
NetworkInMbps float64
NetworkOutMbps float64
PacketDropRate int // Packets rejected per second
// Event counts
EventsLastHour int
TotalBansEver int
}
SecurityKPIs holds security statistics
type SecurityMetrics ¶ added in v1.6.1
type SecurityMetrics struct {
BansTotal int
BansTemporary int
BansPermanent int
BansFeed int
BansGeoIP int
UnbansToday int
WhitelistTotal int
ThreatLevel string // "low", "medium", "high", "critical"
}
SecurityMetrics holds security-related metrics
type ServiceInfo ¶ added in v1.1.1
type ServiceInfo struct {
Name string
Description string
Status string // "active", "inactive", "failed"
PID int
MemoryMB float64
Uptime string
}
ServiceInfo represents a systemd service
type SuricataMetrics ¶ added in v1.6.1
type SuricataMetrics struct {
Enabled bool
Status string
AlertsTotal int
AlertsToday int
RulesLoaded int
TopAlerts []AlertMetrics
}
SuricataMetrics holds Suricata IDS metrics
type SystemIdentity ¶ added in v1.1.1
type SystemIdentity struct {
Hostname string
Kernel string
Uptime string
UptimeSeconds int64 // For JS counter
NFTBanVersion string
PanelMode string // "active", "warning", "error"
Heartbeat bool // Backend responding
}
SystemIdentity holds system identification info
type SystemMetrics ¶ added in v1.6.1
type SystemMetrics struct {
Hostname string
Kernel string
Uptime string
UptimeSeconds int64
CPUPercent float64
MemPercent float64
DiskPercent float64
LoadAvg1 float64
LoadAvg5 float64
LoadAvg15 float64
NFTBanVersion string
NFTBanPID int
NFTBanCPU float64
NFTBanMemMB float64
}
SystemMetrics holds system resource metrics
type SystemPageData ¶ added in v1.6.1
type SystemPageData struct {
// Identity
Hostname string
OS string
Kernel string
Arch string
Uptime string
UptimeSeconds int64
BootTime string
// NFTBan info
NFTBanVersion string
NFTBanBuild string
NFTBanCommit string
NFTBanUptime string
NFTBanPID int
NFTBanCPU float64
NFTBanMemMB float64
// Resources
CPU CPUInfo
Memory MemoryInfo
Disk DiskInfo
// Services
Services []SystemService
// Processes
TopProcesses []ProcessInfo
}
SystemPageData holds system page information
type SystemService ¶ added in v1.6.1
type SystemService struct {
Name string
Description string
Status string // "active", "inactive", "failed"
PID int
MemoryMB float64
Uptime string
Restarts int
}
SystemService represents a system service status
type TimerInfo ¶ added in v1.1.1
type TimerInfo struct {
Name string
Description string
Status string // "active", "inactive", "enabled"
NextRun string
LastRun string
}
TimerInfo represents a systemd timer
type ToolsData ¶ added in v1.2.3
type ToolsData struct {
// Last lookup results (if any)
LastIPCheck *IPCheckResult
LastGeoLookup *GeoLookupResult
LastSearch *SearchResult
// Log viewer
RecentLogs []LogEntry
// Quick stats for tools context
TotalBans int
TotalWhitelist int
TotalFeeds int
}
ToolsData holds diagnostic tools data
type TrafficSample ¶ added in v1.6.1
TrafficSample holds a traffic history point
type WhitelistData ¶ added in v1.2.3
type WhitelistData struct {
// Summary stats
TotalEntries int
IPv4Count int
IPv6Count int
NetworkCount int // CIDR ranges
// Whitelist entries
Entries []WhitelistEntry
// Sources breakdown
Sources []WhitelistSource
}
WhitelistData holds all whitelist information