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

Search

{% if has_query %} Query: {{ query }} {% endif %}
{% if not has_query %}

Enter an IP address or prefix to search across the IPs list, manual blocks, and allowlist.

{% else %} {# ------------------------------- IPs --------------------------------- #}

IPs {{ ips ? ips.total : 0 }}

Open in IPs ›
{% if errors.ips is defined %}
Failed to load IPs: {{ errors.ips }}
{% elseif ips and ips.items|length > 0 %}
{% for item in ips.items %} {% endfor %}
IP Top category Max score Last report Status
{{ item.ip }} {{ item.topCategory|default('—') }} {{ item.maxScore|number_format(2) }} {{ item.lastReportAt|default('—') }} {{ item.status }}
{% if ips.total > ips.items|length %}

Showing {{ ips.items|length }} of {{ ips.total }} — view all.

{% endif %} {% else %}

No IPs match this query.

{% endif %}
{# --------------------------- Manual blocks --------------------------- #}

Manual blocks {{ manual_blocks|length }}

Open Manual blocks ›
{% if errors.manual_blocks is defined %}
Failed to load manual blocks: {{ errors.manual_blocks }}
{% elseif manual_blocks|length > 0 %}
{% for item in manual_blocks %} {% endfor %}
Kind Target Reason Expires Created
{{ item.kind }} {{ item.kind == 'ip' ? item.ip : item.cidr }} {{ item.reason|default('—') }} {{ item.expires_at|default('—') }} {{ item.created_at }}
{% else %}

No manual blocks match this query.

{% endif %}
{# ------------------------------ Allowlist --------------------------- #}

Allowlist {{ allowlist|length }}

Open Allowlist ›
{% if errors.allowlist is defined %}
Failed to load allowlist: {{ errors.allowlist }}
{% elseif allowlist|length > 0 %}
{% for item in allowlist %} {% endfor %}
Kind Target Reason Created
{{ item.kind }} {{ item.kind == 'ip' ? item.ip : item.cidr }} {{ item.reason|default('—') }} {{ item.created_at }}
{% else %}

No allowlist entries match this query.

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