{% extends 'layout.twig' %} {% block title %}Dashboard — IRDB{% endblock %} {% block content %}

Dashboard

Last 24 hours, refreshed every 30 s. {% if stats %}reference policy: {{ stats.referencePolicy }}{% endif %}

{% if not api_reachable %}
API unreachable; counters cannot be loaded right now.
{% endif %} {% if stats %}
{% set cards = [ { label: 'Active blocks', value: stats.activeBlocks, hint: 'IPs with score > 0 + manual single IPs' }, { label: 'Manual blocks', value: stats.manualBlocksCount, hint: 'across IPs and subnets' }, { label: 'Allowlist entries', value: stats.allowlistCount, hint: 'IPs and subnets' }, { label: 'Reports (24h)', value: stats.reports24h, hint: 'all categories' }, ] %} {% for card in cards %}
{{ card.label }}
{{ card.value }}
{{ card.hint }}
{% endfor %}

Reports per hour

Top reporters (24h)

{% if stats.topReporters|length > 0 %}
{% else %}

No reports in the last 24 hours.

{% endif %}

Top categories (24h)

{% if stats.topCategories|length > 0 %}
{% else %}

No reports in the last 24 hours.

{% endif %}

Blocked IPs (7 days, by category)

{% if stats.blockedByDay.series|default([])|length > 0 %}
{% else %}

No reports recorded in the last week.

{% endif %}

Jobs status

{% if stats.jobsStatus|length > 0 %} {% else %}

No job runs recorded yet.

{% endif %}
{% endif %}
{% endblock %}