summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed <git@gumx.cc>2026-06-19 15:45:49 +0300
committerAhmed <git@gumx.cc>2026-06-19 15:45:49 +0300
commitbd2a2474995cc3b546000714c6f86caf7d3d8bdc (patch)
treec2c79b8b67d160fca0b543d0cd59ecdd8be3eb2e
parenta58d547912294eadf816441fba8656bd1072ab25 (diff)
add: lists website instead of page in mail.gumx.cc
-rw-r--r--_shared/footer.html1
-rw-r--r--_shared/style.css2
-rw-r--r--files.gumx.cc/body.html7
-rw-r--r--hooks/post-receive2
-rw-r--r--irc.gumx.cc/body.html8
-rw-r--r--list.gumx.cc/body.html26
-rw-r--r--list.gumx.cc/meta2
-rw-r--r--mail.gumx.cc/body.html2
-rw-r--r--mail.gumx.cc/list/index.html66
-rw-r--r--wk.fo/body.html9
10 files changed, 56 insertions, 69 deletions
diff --git a/_shared/footer.html b/_shared/footer.html
index 3aedfc6..de15791 100644
--- a/_shared/footer.html
+++ b/_shared/footer.html
@@ -3,6 +3,7 @@
<a href="https://twt.gumx.cc">twt</a> /
<a href="https://git.gumx.cc">git</a> /
<a href="https://mail.gumx.cc">mail</a> /
+<a href="https://list.gumx.cc">list</a> /
<a href="https://irc.gumx.cc">irc</a> /
<a href="https://files.gumx.cc">files</a> /
<a href="https://vpn.gumx.cc">vpn</a> /
diff --git a/_shared/style.css b/_shared/style.css
index 3efbeb1..b75c309 100644
--- a/_shared/style.css
+++ b/_shared/style.css
@@ -7,7 +7,7 @@ main, header, footer { max-width: 800px; margin-inline: auto; padding: 0 2rem; }
h1, header, footer { text-align: center; }
main { text-align: justify; }
p, h2, h3, h4 { margin: 1em 0 0 0; }
-ol { margin: 0.5em 0 0 0; }
+ol, ul { margin: 0.5em 0 0 0; }
table { margin: auto; border-collapse: collapse; }
th, td { border: 1px solid; padding: 0.3em 0.8em; }
pre { margin: 1em 0; }
diff --git a/files.gumx.cc/body.html b/files.gumx.cc/body.html
index 33ba33c..bb97fb6 100644
--- a/files.gumx.cc/body.html
+++ b/files.gumx.cc/body.html
@@ -3,5 +3,12 @@
<p>Use the <a href="/upload">web form</a> or curl:</p>
<pre><code>curl -F "file=@photo.jpg" -H "Authorization: YOUR_TOKEN" https://files.gumx.cc/</code></pre>
<p>Files expire after 24 hours by default. Max 256 MB.</p>
+<h2>etiquette</h2>
+<p>This is personal hosting, not a CDN.</p>
+<ul>
+<li>Your token is personal. Don't share it.</li>
+<li>Don't use this for bulk distribution or anything that would draw unwanted attention to the server.</li>
+<li>Files expire. This isn't long-term storage.</li>
+</ul>
<h2>access</h2>
<p>Contact <a href="mailto:hi@gumx.cc">hi@gumx.cc</a> to request a token.</p>
diff --git a/hooks/post-receive b/hooks/post-receive
index 25ae829..f628a10 100644
--- a/hooks/post-receive
+++ b/hooks/post-receive
@@ -7,7 +7,7 @@ WORK=/home/git/build/sites
cd "$WORK"
python3 _shared/build.py .
-for SITE in irc.gumx.cc vpn.gumx.cc mail.gumx.cc pgp.gumx.cc wk.fo twt.gumx.cc files.gumx.cc demo.gumx.cc; do
+for SITE in irc.gumx.cc vpn.gumx.cc mail.gumx.cc pgp.gumx.cc wk.fo twt.gumx.cc files.gumx.cc demo.gumx.cc list.gumx.cc; do
if [ -d "$SITE" ]; then
WEBROOT="/var/www/$SITE"
mkdir -p "$WEBROOT"
diff --git a/irc.gumx.cc/body.html b/irc.gumx.cc/body.html
index 0ddcf72..48f2876 100644
--- a/irc.gumx.cc/body.html
+++ b/irc.gumx.cc/body.html
@@ -6,6 +6,14 @@
<tr><th>server</th><td>irc.gumx.cc:6697 (TLS)</td></tr>
<tr><th>auth</th><td>SASL PLAIN (invite only)</td></tr>
</table>
+<h2>etiquette</h2>
+<p>This is a private server. Access is extended personally.</p>
+<ul>
+<li>Don't ask to ask. Just ask your question.</li>
+<li>Don't share your credentials or the server address with people who haven't been invited.</li>
+<li>The bouncer keeps your session alive. You don't need to stay connected to stay in channels.</li>
+<li>Keep it civil. There's no active moderation.</li>
+</ul>
<h2>request access</h2>
<p>Send a message to <a href="mailto:hi@gumx.cc">hi@gumx.cc</a> with your nick and preferred IRC client.</p>
<h2>bots</h2>
diff --git a/list.gumx.cc/body.html b/list.gumx.cc/body.html
new file mode 100644
index 0000000..5e4ea9a
--- /dev/null
+++ b/list.gumx.cc/body.html
@@ -0,0 +1,26 @@
+<p>Site updates and general discussion. Low volume. Posts go directly to the archive.</p>
+<h2>subscribe</h2>
+<p>Send an empty email to:</p>
+<pre><code>list+subscribe@gumx.cc</code></pre>
+<p>No confirmation. You're subscribed immediately.</p>
+<h2>unsubscribe</h2>
+<pre><code>list+unsubscribe@gumx.cc</code></pre>
+<h2>post</h2>
+<p>Anyone can post.</p>
+<pre><code>list@gumx.cc</code></pre>
+<h2>topics</h2>
+<p>No enforced topic structure. To tag a message, add a bracketed label at the start of the subject:</p>
+<pre><code>[tech] subject here
+[meta] subject here
+[link] subject here</code></pre>
+<p>The archive has a filter box. Type a tag to filter.</p>
+<h2>archive</h2>
+<p>Browse past messages at <a href="/archive/">/archive/</a>. Updated every 30 minutes.</p>
+<h2>etiquette</h2>
+<p>This is a personal list, not a service.</p>
+<ul>
+<li>Plain text only. No HTML, no attachments.</li>
+<li>Bottom-post. Quote only what you're replying to.</li>
+<li>Keep subject lines specific. Change them if the topic drifts.</li>
+<li>Don't send to the list what should go directly to the person.</li>
+</ul>
diff --git a/list.gumx.cc/meta b/list.gumx.cc/meta
new file mode 100644
index 0000000..cf756b5
--- /dev/null
+++ b/list.gumx.cc/meta
@@ -0,0 +1,2 @@
+TITLE="list.gumx.cc"
+BREADCRUMB="list"
diff --git a/mail.gumx.cc/body.html b/mail.gumx.cc/body.html
index 7a3e9fe..2de1c66 100644
--- a/mail.gumx.cc/body.html
+++ b/mail.gumx.cc/body.html
@@ -9,4 +9,4 @@
<h2>CalDAV / CardDAV</h2>
<p>Available at <code><a href="https://mail.gumx.cc/dav/">/dav/</a></code> via <a href="https://www.xandikos.org/">Xandikos</a>. Credentials on request.</p>
<h2>mailing list</h2>
-<p>Site updates and discussion: <a href="/list">gumx.cc mailing list</a>.</p>
+<p>Site updates and discussion: <a href="https://list.gumx.cc">gumx.cc mailing list</a>.</p>
diff --git a/mail.gumx.cc/list/index.html b/mail.gumx.cc/list/index.html
deleted file mode 100644
index 931e641..0000000
--- a/mail.gumx.cc/list/index.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-<meta charset="utf-8">
-<link rel="icon" type="image/svg+xml" href="/favicon.svg">
-<meta name="viewport" content="width=device-width,initial-scale=1">
-<title>mail.gumx.cc / list</title>
-<style>
-@font-face { font-family: "Kawkab Mono"; src: url(/fonts/KawkabMono-Regular.woff2); font-weight: normal; }
-@font-face { font-family: "Kawkab Mono"; src: url(/fonts/KawkabMono-Bold.woff2); font-weight: bold; }
-* { unicode-bidi: plaintext; box-sizing: border-box; }
-html { color: black; background-color: white; }
-body { font-family: "Kawkab Mono"; font-size: 16px; line-height: 1.4; margin: 0; padding: 4rem 0; min-height: 100%; overflow-wrap: break-word; }
-main, header, footer { max-width: 800px; margin-inline: auto; padding: 0 2rem; }
-h1, header, footer { text-align: center; }
-main { text-align: justify; }
-p, h2, h3, h4 { margin: 1em 0 0 0; }
-pre { margin: 1em 0; }
-pre code { border: thin solid; padding: 1em; display: block; text-align: start; overflow-x: scroll; }
-code { font-size: 85%; }
-hr { border: none; border-top: thin solid; margin: 1.25rem 0; }
-header { margin-bottom: 1em; }
-footer { margin-top: 3em; }
-@media (max-width: 600px) { body { font-size: 0.9em; } h1 { font-size: 1.8em; } }
-@media (max-width: 400px) { body { font-size: 0.8em; } h1 { font-size: 1.6em; } }
-@media (prefers-color-scheme: dark) { html { filter: invert(1); } img { filter: invert(1); } }
-</style>
-</head>
-<body>
-<header>
-<h1><a href="https://gumx.cc">gumx</a> / list</h1>
-</header>
-<main>
-<p>Site updates and general discussion. Low volume. Posts go directly to the archive.</p>
-<h2>subscribe</h2>
-<p>Send an empty email to:</p>
-<pre><code>list+subscribe@gumx.cc</code></pre>
-<p>No confirmation email — you're subscribed immediately.</p>
-<h2>unsubscribe</h2>
-<pre><code>list+unsubscribe@gumx.cc</code></pre>
-<h2>post</h2>
-<p>Anyone can post.</p>
-<pre><code>list@gumx.cc</code></pre>
-<h2>topics</h2>
-<p>There is no enforced topic structure. To tag a message by topic, add a bracketed label at the start of your subject:</p>
-<pre><code>[tech] subject here
-[meta] subject here
-[link] subject here</code></pre>
-<p>The archive has a filter box — type a tag name to narrow the list to that topic.</p>
-<h2>archive</h2>
-<p>Browse past messages at <a href="/list/archive/">/list/archive/</a>.</p>
-</main>
-<footer>
-<hr>
-<a href="https://twt.gumx.cc">twt</a> /
-<a href="https://git.gumx.cc">git</a> /
-<a href="https://mail.gumx.cc">mail</a> /
-<a href="https://irc.gumx.cc">irc</a> /
-<a href="https://files.gumx.cc">files</a> /
-<a href="https://vpn.gumx.cc">vpn</a> /
-<a href="https://pgp.gumx.cc">pgp</a> /
-<a href="https://demo.gumx.cc">demo</a> /
-<a href="https://wk.fo">wk.fo</a>
-</footer>
-</body>
-</html>
diff --git a/wk.fo/body.html b/wk.fo/body.html
index cc044ce..29354c3 100644
--- a/wk.fo/body.html
+++ b/wk.fo/body.html
@@ -17,5 +17,14 @@
<tr><th>type</th><td>WireGuard</td></tr>
</table>
<p>A config file is provided to you on invite. Import it into any WireGuard client.</p>
+<h2>etiquette</h2>
+<p>These services run on personal infrastructure. The rules are short.</p>
+<ul>
+<li>Don't share credentials, tokens, or access with people who weren't invited.</li>
+<li>File hosting is personal. Don't use it for bulk distribution.</li>
+<li>On IRC: don't ask to ask. Just ask. Keep it civil.</li>
+<li>Don't do anything that would get the server flagged or blocked.</li>
+<li>If something breaks or you're unsure about something, ask.</li>
+</ul>
<h2>access</h2>
<p>Contact <a href="mailto:administrator@wk.fo">administrator@wk.fo</a>.</p>