{% extends "base.html" %} {% block title %}Federation Registry — Admin{% endblock %} {% block content %}

Federation Registry

Sysop approval queue for the anetbbs.lst federation directory.

{% if not is_hub %}
This BBS isn't a federation hub. Set REGISTRY_MODE_ENABLED=true in .env (or via Admin → Settings) to accept peer registrations on this host. The canonical hub is whoever publishes anetbbs.lst that your install pulls from — see REGISTRY_URL.
{% else %} {% set pending_verify = rows | selectattr('is_verified', 'equalto', false) | list %} {% set pending_approve = rows | selectattr('is_verified', 'equalto', true) | selectattr('is_approved', 'equalto', false) | list %} {% set listed = rows | selectattr('is_listed', 'equalto', true) | list %} {% set rejected = rows | selectattr('is_approved', 'equalto', false) | selectattr('is_verified', 'equalto', true) | list %}
{{ rows | length }}
Total
{{ pending_verify | length }}
Awaiting email verify
{{ pending_approve | length }}
Awaiting your approval
{{ listed | length }}
Listed publicly
{% if not rows %}
No registry entries yet. Peers register via POST /registry/api/v1/register, then click their emailed verify link, then appear here for your approval.
{% else %}
{% for e in rows %} {% endfor %}
Host / Name Sysop / Location Software State Heartbeat / Probe Actions
{{ e.host }} {% if e.msp_port != 18 or e.systat_port != 11 %} (msp:{{ e.msp_port }} sys:{{ e.systat_port }}) {% endif %}
{{ e.name }}
{{ e.contact_email }}
{{ e.sysop or '—' }} {% if e.location %}
{{ e.location }}{% endif %}
{{ e.software }}{% if e.software_version %} {{ e.software_version }}{% endif %} {% if e.is_listed %} listed {% elif e.is_approved %} delisted {% elif e.is_verified %} awaiting approval {% else %} awaiting verify {% if e.registration_token %}
verify URL:
{{ url_for('registry.verify', token=e.registration_token, _external=true) }} {% endif %} {% endif %} {% if not e.is_active %}
inactive{% endif %}
last hb: {% if e.last_heartbeat_at %}{{ e.last_heartbeat_at.strftime('%Y-%m-%d %H:%M') }}{% else %}never{% endif %}
last probe: {% if e.last_probe_at %} {{ e.last_probe_at.strftime('%Y-%m-%d %H:%M') }} {% if e.last_probe_ok %}{% else %}{% endif %} {% if e.consecutive_probe_failures %}({{ e.consecutive_probe_failures }} fail){% endif %} {% else %}never{% endif %}
{% if not e.is_listed and e.is_verified %}
{% if csrf_token is defined %}{% endif %}
{% endif %} {% if e.is_listed or e.is_approved %}
{% if csrf_token is defined %}{% endif %}
{% endif %}
{% if csrf_token is defined %}{% endif %}
{% if csrf_token is defined %}{% endif %}
{% endif %}
Public list URL: {{ url_for('registry.list_friendly', _external=true) }}
{% endif %} {% endblock %}