feat: collect and display usage stats

This commit is contained in:
2023-09-24 12:21:44 -06:00
parent bf14a70efe
commit 6b1637d1d8
17 changed files with 394 additions and 25 deletions

View File

@ -2,7 +2,7 @@
<footer class="footer">
<div class="container">
<div class="content has-text-centered">
Ce service est propulsé par <a href="https://forge.cadoles.com/wpetit/rebound" title="Rebound repository">Rebound</a>, un logiciel libre diffusé sous licence <a href="https://www.gnu.org/licenses/agpl-3.0.en.html#license-text">AGPL-3.0</a>.
Ce service est propulsé par <a href="https://forge.cadoles.com/wpetit/rebound" title="Rebound repository">rebound@{{ .Version }}</a>, un logiciel libre diffusé sous licence <a href="https://www.gnu.org/licenses/agpl-3.0.en.html#license-text">AGPL-3.0</a>.
</div>
</div>
</footer>

View File

@ -13,14 +13,46 @@
<p class="subtitle is-size-3">
Bienvenue sur <strong>Rebound</strong>!
</p>
<div class="content">
<p>Rebound est un serveur SSH permettant de créer des tunnels TCP/IP éphémères et privés entre 2 machines positionnées
derrière un <abbr title="Network Address Traversal">NAT</abbr>.</p>
<p>Pour l'utiliser <strong>un simple client SSH suffit !</strong></p>
<pre class="has-background-dark has-text-white-ter is-family-monospace">ssh -R 0:127.0.0.1:<span class="has-text-info">&lt;port&gt;</span> rebound@{{ .SSHPublicHost }} -p {{ .SSHPublicPort }}</pre>
<p class="is-italic"><span class="has-text-info">&lt;port&gt;</span> est à remplacer par le port du service
s'exécutant sur votre machine en local.</span>
<p>Une fois connecté, suivez les instructions. 😉</p>
<div class="block">
<div class="content">
<p>Rebound est un serveur SSH permettant de créer des tunnels TCP/IP éphémères et privés entre 2 machines positionnées
derrière un <abbr title="Network Address Traversal">NAT</abbr>.</p>
<p>Pour l'utiliser <strong>un simple client SSH suffit !</strong></p>
<pre class="has-background-dark has-text-white-ter is-family-monospace">ssh -R 0:127.0.0.1:<span class="has-text-info">&lt;port&gt;</span> rebound@{{ .SSHPublicHost }} -p {{ .SSHPublicPort }}</pre>
<p class="is-italic"><span class="has-text-info">&lt;port&gt;</span> est à remplacer par le port du service
s'exécutant sur votre machine en local.</span>
<p>Une fois connecté, suivez les instructions. 😉</p>
</div>
</div>
<hr />
<div class="block">
<div class="columns">
<div class="column is-4">
<h3 class="title is-size-4">En savoir plus</h3>
<div class="content">
À venir...
</div>
</div>
<div class="column is-4">
<h3 class="title is-size-4">Statistiques</h3>
<table class="table is-bordered is-striped is-fullwidth">
<tbody>
<tr>
<td><strong>Total tunnels ouverts</strong></td>
<td>{{ index .Stats "total_opened_tunnels" }}</td>
</tr>
<tr>
<td><strong>Total données entrantes</strong></td>
<td>{{ humanSize ( index .Stats "total_rx_bytes" ) }}</td>
</tr>
<tr>
<td><strong>Total données sortantes</strong></td>
<td>{{ humanSize ( index .Stats "total_tx_bytes" ) }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</section>