Files
P-Aimon-Pen-ROFMAD/templates/hosts_rows.html
T
2026-06-18 15:03:00 +02:00

77 lines
3.6 KiB
HTML

{% for host in hosts %}
<tr class="host-row {% if host.analyzed %}analyzed-host{% endif %}" data-ip="{{ host.ip }}">
<td><a href="/hosts/{{ host.ip }}" class="host-link">{{ host.ip }}</a></td>
<td>
{% if !host.hostname.is_empty() %}{{ host.hostname }}{% endif %}
{% if !host.ad_domain.is_empty() %}<small class="ad-domain">({{ host.ad_domain }})</small>{% endif %}
{% if host.hostname.is_empty() && host.ad_domain.is_empty() %}<span class="no-data">-</span>{% endif %}
</td>
<td>
{% if host.ports_count > 0 %}
<span class="port-count">{{ host.ports_count }} ports</span>
{% else %}
<span class="no-data">No ports</span>
{% endif %}
</td>
<td>
{% if host.tags_with_source.len() > 0 %}
<div class="tags">
{% for tag in host.tags_with_source %}
{% if loop.index0 % 3 == 0 %}<div class="tag-row">{% endif %}
<span class="tag tag-{{ tag.source }}">{{ tag.name }}</span>
{% if loop.index0 % 3 == 2 || loop.last %}</div>{% endif %}
{% endfor %}
</div>
{% else %}
<span class="no-data">No tags</span>
{% endif %}
</td>
<td>
{% if host.http_services_count > 0 %}
<span class="service-count">{{ host.http_services_count }}</span>
{% else %}
<span class="no-data">-</span>
{% endif %}
</td>
<td>
<div class="status-indicators">
<span class="status-indicator {% if host.ports_count > 0 %}complete{% else %}incomplete{% endif %}" title="Port Discovery">P</span>
<span class="status-indicator {% if host.service_scan_complete %}complete{% else %}incomplete{% endif %}" title="Service Detection">S</span>
<span class="status-indicator {% if host.http_discovery_complete %}complete{% else %}incomplete{% endif %}" title="HTTP Services">H</span>
<span class="status-indicator {% if host.screenshots_complete %}complete{% else %}incomplete{% endif %}" title="Screenshots">SC</span>
</div>
</td>
<td>
<div class="analysis-status-container">
{% if host.analyzed %}
<div class="analysis-complete" onclick="toggleAnalysisStatus('{{ host.ip }}', false)">
<span class="analysis-text">Analyzed (undo)</span>
</div>
{% else if host.full_scan_complete && host.service_scan_complete && host.http_discovery_complete && host.screenshots_complete %}
<div class="analysis-pending" onclick="toggleAnalysisStatus('{{ host.ip }}', true)">
<span class="analysis-text">Mark Analyzed</span>
</div>
{% else %}
<div class="analysis-not-ready">
<span class="analysis-text">In Progress</span>
</div>
{% endif %}
</div>
</td>
<td>
<div class="interesting-status-container">
{% if host.interesting %}
<div class="interesting-marked" onclick="toggleInterestingStatus('{{ host.ip }}', false)">
<span class="interesting-text">Bookmarked</span>
</div>
{% else %}
<div class="interesting-unmarked" onclick="toggleInterestingStatus('{{ host.ip }}', true)">
<span class="interesting-text">Bookmark</span>
</div>
{% endif %}
</div>
</td>
<td><a href="/hosts/{{ host.ip }}" class="btn btn-primary">Details</a></td>
</tr>
{% endfor %}