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

178
index.php
View file

@ -35,92 +35,112 @@ $usernames = getUsers();
<body> <body>
<div class="page-container"> <div class="page-container">
<div>
<div class="header"> <div class="header">
<pre> _______ _____ <pre>
_______ _____
| ___|.----.-----.-----.-----.-----.| \.-----.--.--. | ___|.----.-----.-----.-----.-----.| \.-----.--.--.
| ___|&#8203;| _| _ |-- __| -__| |&#8203;| -- | -__| | | | ___|&#8203;| _| _ |-- __| -__| |&#8203;| -- | -__| | |
|___| |__| |_____|_____|_____|__|__|&#8203;|_____/|_____|\___/</pre> |___| |__| |_____|_____|_____|__|__|&#8203;|_____/|_____|\___/</pre>
</div> </div>
<div class="section"> <div class="content">
<p>Members</p> <div>
<ul class="members"> <div class="section tor-notice">
<?php foreach ($usernames as $username) { ?> <pre>
<li><a href="/~<?= $username ?>">~<?= $username ?></a><?= $username == "amr" ? "*" : "" ?></li> +----------------------------------------------------------------+
<?php } ?> | This site is accessible via Tor! |
</ul> | <a href="http://frzndev32nhnla77oozhxhz5yzo4abldr6zbc4qkdh5hcyanizlxs2ad.onion/">frzndev32nhnla77oozhxhz5yzo4abldr6zbc4qkdh5hcyanizlxs2ad.onion</a> |
<small> +----------------------------------------------------------------+
* owner &amp; admin </pre>
</small> </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>
<div class="section"> <div class="footer">
<p>Services</p> <hr>
<table class="services"> (c) frzn.dev 2018 - <?= date('Y') ?> / design and "backend" by <a href="/~roscoe">~roscoe</a>
<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 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> </div>
</body> </body>
</html> </html>