mirror of
https://github.com/ThunixdotNet/www.git
synced 2026-01-23 23:10:17 +00:00
minor fixes/updates
This commit is contained in:
@@ -1,3 +1,11 @@
|
|||||||
|
# Season’s Greetings - December 2025
|
||||||
|
|
||||||
|
As the year winds down, a sincere thank-you to everyone who’s made Thunix feel like a real community and not just “a server with accounts.” Whether you’re here for SSH, web hosting, email, or the other UNIX-y odds and ends, we’re glad you’re part of this little corner of the internet.
|
||||||
|
|
||||||
|
If you’re taking some quiet time over the holidays, consider doing something wonderfully low-pressure: update your `~/public_html`, publish something on Gopher, poke at the Gemini capsule (`gemini://thunix.net`), or just hang out with us on IRC (`irc.newnet.net:6697` in `#thunix`). No algorithms, no shouting, just people making things.
|
||||||
|
|
||||||
|
However you spend the season: take care of yourself, be decent to each other, and we’ll keep doing our best to keep Thunix stable, secure, and fun.
|
||||||
|
|
||||||
# Changes to Terms of Service and Service Updates - April 2025
|
# Changes to Terms of Service and Service Updates - April 2025
|
||||||
|
|
||||||
We've updated our Terms of Service to clarify rules around running servers—now explicitly prohibited without prior approval. Please take a moment to review these important changes.
|
We've updated our Terms of Service to clarify rules around running servers—now explicitly prohibited without prior approval. Please take a moment to review these important changes.
|
||||||
@@ -23,20 +31,3 @@ own infrastructure. Sign ups that come in will be kept in queue until the syst
|
|||||||
for more users.
|
for more users.
|
||||||
|
|
||||||
More to come very soon.
|
More to come very soon.
|
||||||
|
|
||||||
# Gemini is Live on Thunix! - Nov 2024
|
|
||||||
|
|
||||||
Hey everyone, exciting news—Thunix now supports Gemini! 🎉
|
|
||||||
|
|
||||||
You can check out our Gemini capsule at gemini://thunix.net. It's simple, fast, and perfect for sharing cool stuff without all the web bloat.
|
|
||||||
|
|
||||||
Got ideas for Gemini content? Let us know! And if you’re new to Gemini, dive in—it’s like the web, but chill. 😎
|
|
||||||
|
|
||||||
Catch you in the capsule! 🚀
|
|
||||||
|
|
||||||
# State of the Thunix - July 2023
|
|
||||||
|
|
||||||
We are on the mend. deepend from tilde.club has taken on running Thunix and has started to build it up on his own infrastructure. Sign-ups that come in will be kept in queue until the system is ready for more users.
|
|
||||||
|
|
||||||
More to come very soon.
|
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
$site_name="🌻 thunix 🌻";
|
$site_name="🌻 thunix 🌻";
|
||||||
|
|
||||||
//Root for the site, in a browser
|
//Root for the site, in a browser
|
||||||
$site_root="https://".$_SERVER['HTTP_HOST'];
|
$site_root="//".$_SERVER['HTTP_HOST'];
|
||||||
//Local base root for app files
|
//Local base root for app files
|
||||||
$doc_root="/var/www/thunix.cf";
|
$doc_root="/var/www/thunix.cf";
|
||||||
|
|
||||||
|
|||||||
@@ -64,3 +64,84 @@ a:visited {
|
|||||||
clear: both;
|
clear: both;
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#new
|
||||||
|
|
||||||
|
/* 1) Keep terminal feel, but make reading humane */
|
||||||
|
body {
|
||||||
|
background: #050505; /* not pure black */
|
||||||
|
color: #f1a67a; /* slightly softer than #F79862 */
|
||||||
|
font-size: 16px; /* consistent baseline */
|
||||||
|
line-height: 1.65; /* biggest readability win */
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 2) Use the dot font for headings/branding, but not for paragraphs */
|
||||||
|
#header,
|
||||||
|
#body h1, #body h2, #body h3 {
|
||||||
|
font-family: "dot", Courier, monospace;
|
||||||
|
letter-spacing: 0.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content,
|
||||||
|
#sidebar,
|
||||||
|
#footer {
|
||||||
|
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||||
|
/* still terminal, but readable */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 3) Limit line length so the eyes don't have to travel across Alberta */
|
||||||
|
#content {
|
||||||
|
max-width: 980px;
|
||||||
|
font-size: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 4) Make links look like links, not “random orange words” */
|
||||||
|
a {
|
||||||
|
color: #f1a67a;
|
||||||
|
text-decoration: underline;
|
||||||
|
text-decoration-thickness: 1px;
|
||||||
|
text-underline-offset: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover {
|
||||||
|
color: #ffb58f;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited {
|
||||||
|
color: #e6a042; /* still orange, but distinct */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 5) Softer headings and better spacing */
|
||||||
|
#body h1, #body h2, #body h3,
|
||||||
|
#sidebar h1, #sidebar h2 {
|
||||||
|
color: #ffb347; /* softer orange */
|
||||||
|
margin-top: 1.2em;
|
||||||
|
margin-bottom: 0.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 6) Sidebar: keep the panel look, make it calmer */
|
||||||
|
#sidebar {
|
||||||
|
background-color: #0c0c0c; /* slightly lighter */
|
||||||
|
border: 1px solid #222;
|
||||||
|
border-radius: 6px; /* tiny, still “retro UI” */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 7) Fix your lineitem border (currently border:1px does nothing) */
|
||||||
|
.lineitem {
|
||||||
|
border: 1px solid #222;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 8) Optional: code blocks that actually read nicely */
|
||||||
|
pre, code {
|
||||||
|
background: #0b0b0b;
|
||||||
|
border: 1px solid #1f1f1f;
|
||||||
|
border-radius: 6px;
|
||||||
|
padding: 0.15em 0.35em;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
padding: 12px;
|
||||||
|
overflow-x: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -6,19 +6,19 @@
|
|||||||
- [Terms of Service](/tos)
|
- [Terms of Service](/tos)
|
||||||
- [Privacy Policy](/privacy)
|
- [Privacy Policy](/privacy)
|
||||||
- [Contact Us](/contact)
|
- [Contact Us](/contact)
|
||||||
- [Donations](/donate)
|
- [Donations](https://donate.tilde.club)
|
||||||
|
|
||||||
- Resources and User Content
|
- Resources and User Content
|
||||||
---------------------------
|
---------------------------
|
||||||
- [Wiki](https://wiki.thunix.net/)
|
- [Wiki](https://wiki.thunix.net/)
|
||||||
- [User Web Directories](/users)
|
- [User Web Directories](/users)
|
||||||
- [User Gopher Directories](https://gopher.tildeverse.org/thunix.net)
|
- [User Gopher Directories](https://gopher.tildeverse.org/thunix.net)
|
||||||
|
- [User Gemini Directories](https://gemini.tildeverse.org/?gemini://thunix.net/)
|
||||||
|
|
||||||
- Services and Status
|
- Services and Status
|
||||||
--------------------
|
--------------------
|
||||||
- [Status and Information](/server)
|
- [Status and Information](/server)
|
||||||
- [Service News](/news)
|
- [Service News](/news)
|
||||||
- [thunix Mirror Services](https://ftp.thunix.net/)
|
|
||||||
- [Web Server Stats](https://stats.thunix.net/)
|
- [Web Server Stats](https://stats.thunix.net/)
|
||||||
- [Web Mail](/webmail/)
|
- [Web Mail](/webmail/)
|
||||||
- [ZNC Service](https://thunix.net:1356/)
|
- [ZNC Service](https://thunix.net:1356/)
|
||||||
|
|||||||
@@ -1,23 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
// This code is licensed under the AGPL 3 or later by ubergeek (https://tildegit.org/ubergeek)
|
|
||||||
include "../config.php";
|
include "../config.php";
|
||||||
|
|
||||||
$name = $_GET['contact_name'];
|
$name = $_GET['contact_name'];
|
||||||
$email = $_GET['email_address'];
|
$email = $_GET['email_address'];
|
||||||
$username = $_GET['username'];
|
$username = $_GET['username'];
|
||||||
$interest = $_GET['interest'];
|
$interest = $_GET['interest'];
|
||||||
$pubkey = $_GET['pubkey'];
|
$pubkey = $_GET['pubkey'];
|
||||||
$tv = $_GET['tv'];
|
$tv = $_GET['tv'];
|
||||||
|
|
||||||
// username passed lowercased
|
|
||||||
$username = strtolower($username);
|
$username = strtolower($username);
|
||||||
|
$pubkey = trim($pubkey);
|
||||||
|
|
||||||
// strip new line characters from the end
|
$from = 'From: www-data <www-data@thunix.net>';
|
||||||
$pubkey = trim($pubkey);
|
$destination_addr = 'newuser@thunix.net';
|
||||||
|
$subject = 'New User Registration';
|
||||||
$from = 'From: www-data <www-data@thunix.net>';
|
|
||||||
$destination_addr = "newuser@thunix.net";
|
|
||||||
$subject = "New User Registration";
|
|
||||||
$mailbody = "A new user has tried to register.
|
$mailbody = "A new user has tried to register.
|
||||||
Username: $username
|
Username: $username
|
||||||
Real Name: $name
|
Real Name: $name
|
||||||
@@ -25,39 +21,29 @@ Email Address: $email
|
|||||||
Interest: $interest
|
Interest: $interest
|
||||||
Pubkey: $pubkey";
|
Pubkey: $pubkey";
|
||||||
|
|
||||||
// In the future, here, we *should* be able to build a process that
|
$user_queue = '/dev/shm/userqueue';
|
||||||
// somehow auto-verifies the user, and instead of email, it'll kick off the new user process here
|
|
||||||
|
|
||||||
$user_queue = '/dev/shm/userqueue';
|
|
||||||
|
|
||||||
// Spam attempt
|
|
||||||
$success = 'success1';
|
$success = 'success1';
|
||||||
if ( $tv == "tildeverse" )
|
if ($tv == 'tildeverse') {
|
||||||
{
|
$success = 'success2';
|
||||||
// Success!
|
if (posix_getpwnam($username)) {
|
||||||
$success = 'success2';
|
$success = 'success3';
|
||||||
|
}
|
||||||
// Check if username already taken
|
$valid_key_starts = ['ssh-rsa', 'ssh-dss', 'ecdsa-sha2', 'ssh-ed25519'];
|
||||||
if (posix_getpwnam($username)) {
|
$key_parts = explode(' ', $pubkey, 3);
|
||||||
$success = 'success3';
|
if (!in_array($key_parts[0], $valid_key_starts) || count($key_parts) < 2) {
|
||||||
}
|
$success = 'success4';
|
||||||
|
}
|
||||||
// Simple SSH public key format check
|
if ($success === 'success2') {
|
||||||
$valid_key_starts = ['ssh-rsa', 'ssh-dss', 'ecdsa-sha2', 'ssh-ed25519'];
|
mail($destination_addr, $subject, $mailbody, $from);
|
||||||
$key_parts = explode(' ', $pubkey, 3);
|
$fp = fopen($user_queue, 'a');
|
||||||
if (!in_array($key_parts[0], $valid_key_starts) || count($key_parts) < 2) {
|
fwrite($fp, "'$username','$email','$pubkey'\n");
|
||||||
$success = 'success4';
|
fclose($fp);
|
||||||
}
|
$fp2 = fopen('/var/signups', 'a');
|
||||||
|
fwrite($fp2, 'makeuser ' . $username . ' ' . $email . ' "' . addslashes($pubkey) . "\"\n");
|
||||||
if ($success == "success2") {
|
fclose($fp2);
|
||||||
mail($destination_addr, $subject, $mailbody, $from);
|
}
|
||||||
$fp = fopen($user_queue, 'a');
|
|
||||||
fwrite($fp, "'$username','$email','$pubkey'\n");
|
|
||||||
fclose($fp);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header("Location: $site_root/?page=$success");
|
header("Location: $site_root/?page=$success");
|
||||||
die();
|
die();
|
||||||
|
|
||||||
?>
|
|
||||||
Reference in New Issue
Block a user