35 lines
1.6 KiB
HTML
35 lines
1.6 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}{{ cli.client_id }} · Kematian{% endblock %}
|
|
{% block content %}
|
|
<div class="page-head">
|
|
<div>
|
|
<h1 class="mono">{{ cli.client_id }}</h1>
|
|
<p class="muted">{{ cli.os or 'Unknown' }} {{ cli.arch or '' }} · v{{ cli.version or '?' }}</p>
|
|
</div>
|
|
<div class="head-actions">
|
|
<a class="btn btn-primary" href="{{ url_for('client_loot', client_id=cli.client_id) }}">Files & Downloads</a>
|
|
<a class="btn btn-ghost" href="{{ url_for('clients') }}">Back</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="stat-row">
|
|
<div class="stat-card"><div class="stat-num">{{ cli.ip or '—' }}</div><div class="stat-label">IP</div></div>
|
|
<div class="stat-card"><div class="stat-num">{{ cli.total_entries }}</div><div class="stat-label">Entries</div></div>
|
|
<div class="stat-card"><div class="stat-num">{{ (cli.first_seen | datetime) if cli.first_seen else '—' }}</div><div class="stat-label">First seen</div></div>
|
|
<div class="stat-card"><div class="stat-num">{{ (cli.last_seen | datetime) if cli.last_seen else '—' }}</div><div class="stat-label">Last seen</div></div>
|
|
</div>
|
|
|
|
<h2 class="section-title">Data breakdown</h2>
|
|
<div class="grid">
|
|
{% for key, s in per_cat.items() %}
|
|
<a class="type-card" href="{{ url_for('category', key=key) }}?client={{ cli.client_id }}">
|
|
<img src="{{ url_for('static', filename='icons/' ~ s.icon ~ '.svg') }}" class="type-ico" alt="">
|
|
<div class="type-body">
|
|
<div class="type-label">{{ s.label }}</div>
|
|
<div class="type-count">{{ s.count }}</div>
|
|
</div>
|
|
</a>
|
|
{% endfor %}
|
|
</div>
|
|
{% endblock %}
|