{% extends "base.html" %} {% block title %}Dashboard · frp-jump{% endblock %} {% block content %}
Wire up who can reach what. Changes apply next time each device's agent polls.
| Name | Status | Enrolled | Last seen | Agent | {% if user.is_admin %}{% endif %} |
|---|---|---|---|---|---|
| {{ d.name }} | {% if d.revoked_at %}revoked {% else %}active{% endif %} | {{ d.enrolled_at.strftime("%Y-%m-%d") }} | {{ d.last_seen_at.strftime("%Y-%m-%d %H:%M") if d.last_seen_at else "never" }} | {{ d.agent_version or "—" }} | {% if user.is_admin %}{% if not d.revoked_at %} {% endif %} | {% endif %}
No devices enrolled yet.
{% endif %} {% if user.is_admin %}| Name | Device | Protocol | Port |
|---|---|---|---|
| {{ s.name }} | {{ s.device_name }} | {{ s.protocol.value }} | {{ s.target_port }} |
No services yet.
{% endif %} {% if user.is_admin %} {% if devices %}Add a device first.
{% endif %} {% endif %}| Service | Exposed by | Granted to | Status | {% if user.is_admin %}{% endif %} |
|---|---|---|---|---|
| {{ g.service_name }} | {{ g.exposer_device_name }} | {{ g.consumer_device_name }} | {% if g.revoked %}revoked {% else %}active{% endif %} | {% if user.is_admin %}{% if not g.revoked %} {% endif %} | {% endif %}
No grants yet — nobody can reach anybody.
{% endif %} {% if user.is_admin %} {% if services and devices %}Add a device and a service first.
{% endif %} {% endif %}