Compare commits

...
Sign in to create a new pull request.

4 commits

Author SHA1 Message Date
69e9d63be7
Sticky footer to bottom of page 2025-08-27 14:22:44 +01:00
c61b471529
Right-align system info 2025-08-27 14:22:33 +01:00
9fda9df4b6
Add onion notice 2025-07-07 02:06:10 +01:00
d2375beed6
Update username in footer 2025-03-03 23:55:31 +00:00
2 changed files with 117 additions and 83 deletions

View file

@ -9,6 +9,10 @@
--links: #89b4fa;
}
html, body {
height: 98%;
}
body {
background-color: var(--background);
color: var(--foreground);
@ -60,6 +64,14 @@ pre {
padding-bottom: 1em;
}
.content {
display: grid;
grid-template-columns: auto max-content;
grid-template-rows: 1fr;
grid-column-gap: 0px;
grid-row-gap: 0px;
}
.section {
min-width: 20em;
width: max-content;
@ -77,6 +89,10 @@ ul.members li:before {
content: none;
}
ul.members li.error {
color: lightcoral
}
ul.sidebar-links li:before {
content: ">";
}
@ -127,11 +143,9 @@ table.system-info tr td:first-child {
}
.page-container {
min-height: 100%;
display: grid;
grid-template-columns: 1fr 250px;
grid-template-rows: 1fr;
grid-column-gap: 0;
grid-row-gap: 0;
grid-template-rows: auto 1fr auto;
}
.page-container > div {

178
index.php
View file

@ -35,92 +35,112 @@ $usernames = getUsers();
<body>
<div class="page-container">
<div>
<div class="header">
<pre> _______ _____
<pre>
_______ _____
| ___|.----.-----.-----.-----.-----.| \.-----.--.--.
| ___|&#8203;| _| _ |-- __| -__| |&#8203;| -- | -__| | |
|___| |__| |_____|_____|_____|__|__|&#8203;|_____/|_____|\___/</pre>
</div>
<div class="section">
<p>Members</p>
<ul class="members">
<?php foreach ($usernames as $username) { ?>
<li><a href="/~<?= $username ?>">~<?= $username ?></a><?= $username == "amr" ? "*" : "" ?></li>
<?php } ?>
</ul>
<small>
* owner &amp; admin
</small>
<div class="content">
<div>
<div class="section tor-notice">
<pre>
+----------------------------------------------------------------+
| This site is accessible via Tor! |
| <a href="http://frzndev32nhnla77oozhxhz5yzo4abldr6zbc4qkdh5hcyanizlxs2ad.onion/">frzndev32nhnla77oozhxhz5yzo4abldr6zbc4qkdh5hcyanizlxs2ad.onion</a> |
+----------------------------------------------------------------+
</pre>
</div>
<div class="section">
<p>Members</p>
<ul class="members">
<?php if (count($usernames) > 0) { ?>
<?php foreach ($usernames as $username) { ?>
<li><a href="/~<?= $username ?>">~<?= $username ?></a><?= $username == "amr" ? "*" : "" ?></li>
<?php } ?>
<?php } else { ?>
<li class="error">Error fetching members!</li>
<?php } ?>
</ul>
<small>
* owner &amp; admin
</small>
</div>
<div class="section">
<p>Services</p>
<table class="services">
<tr>
<td><a href="https://git.frzn.dev">git.frzn.dev</a></td>
<td>Forgejo<sup>1</sup></td>
<td>A lightweight git server (which is better than Gogs)</td>
</tr>
<tr>
<td><a href="https://p.frzn.dev">p.frzn.dev</a></td>
<td>fiche</td>
<td>A command line pastebin (similar to termbin)</td>
</tr>
<tr>
<td><a href="https://pb.frzn.dev">pb.frzn.dev</a></td>
<td>PrivateBin</td>
<td>A minimalist, open source online pastebin</td>
</tr>
<tr>
<td><a href="https://bitwarden.frzn.dev/">bitwarden.frzn.dev</a></td>
<td>Vaultwarden<sup>1</sup></td>
<td>A Bitwarden-compatible server written in Rust</td>
</tr>
<tr>
<td><a href="https://snowflake.torproject.org/">Snowflake</a></td>
<td></td>
<td>A web proxy server</td>
</tr>
<tr>
<td><a href="https://crypt.frzn.dev">crypt.frzn.dev</a></td>
<td>CryptPad</td>
<td>An open-source web-based encrypted suite of realtime collaborative editors</td>
</tr>
<tr>
<td>frzn.dev:64738</td>
<td>Mumble<sup>1,2</sup></td>
<td>A VoIP server</td>
</tr>
<tr>
<td><a href="https://irc.frozenelectronics.ca:8088/">frzn.dev:6697/6667</a></td>
<td>ZNC<sup>1</sup></td>
<td>An IRC bouncer</td>
</tr>
</table>
<small>
<sup>1</sup> Only available for existing members<br>
<sup>2</sup> Not running 24/7
</small>
</div>
</div>
<div>
<div class="section">
<p>System Info</p>
<table class="system-info">
<tr>
<td>time:</td>
<td><?= gmdate("l, j F Y g:i:s A (e)") ?></td>
</tr>
<tr>
<td>os:</td>
<td>Ubuntu GNU/Linux 24.04 (LTS)</td>
</tr>
</table>
</div>
</div>
</div>
<div class="section">
<p>Services</p>
<table class="services">
<tr>
<td><a href="https://git.frzn.dev">git.frzn.dev</a></td>
<td>Forgejo<sup>1</sup></td>
<td>A lightweight git server (which is better than Gogs)</td>
</tr>
<tr>
<td><a href="https://p.frzn.dev">p.frzn.dev</a></td>
<td>fiche</td>
<td>A command line pastebin (similar to termbin)</td>
</tr>
<tr>
<td><a href="https://pb.frzn.dev">pb.frzn.dev</a></td>
<td>PrivateBin</td>
<td>A minimalist, open source online pastebin</td>
</tr>
<tr>
<td><a href="https://bitwarden.frzn.dev/">bitwarden.frzn.dev</a></td>
<td>Vaultwarden<sup>1</sup></td>
<td>A Bitwarden-compatible server written in Rust</td>
</tr>
<tr>
<td><a href="https://snowflake.torproject.org/">Snowflake</a></td>
<td></td>
<td>A web proxy server</td>
</tr>
<tr>
<td><a href="https://crypt.frzn.dev">crypt.frzn.dev</a></td>
<td>CryptPad</td>
<td>An open-source web-based encrypted suite of realtime collaborative editors</td>
</tr>
<tr>
<td>frzn.dev:64738</td>
<td>Mumble<sup>1,2</sup></td>
<td>A VoIP server</td>
</tr>
<tr>
<td><a href="https://irc.frozenelectronics.ca:8088/">frzn.dev:6697/6667</a></td>
<td>ZNC<sup>1</sup></td>
<td>An IRC bouncer</td>
</tr>
</table>
<small>
<sup>1</sup> Only available for existing members<br>
<sup>2</sup> Not running 24/7
</small>
<div class="footer">
<hr>
(c) frzn.dev 2018 - <?= date('Y') ?> / design and "backend" by <a href="/~roscoe">~roscoe</a>
</div>
<div class="section">
<p>System Info</p>
<table class="system-info">
<tr>
<td>time:</td>
<td><?= gmdate("l, j F Y g:i:s A (e)") ?></td>
</tr>
<tr>
<td>os:</td>
<td>Ubuntu GNU/Linux 24.04 (LTS)</td>
</tr>
</table>
</div>
</div>
</div>
<div class="footer">
<hr>
(c) frzn.dev 2018 - <?= date('Y') ?> / design and "backend" by <a href="/~floppy">~floppy</a>
</div>
</body>
</html>
</html>