diff --git a/articles/news.md b/articles/news.md index d60a4ef..bb331c5 100644 --- a/articles/news.md +++ b/articles/news.md @@ -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 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. 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. - diff --git a/config.php b/config.php index 71a2e65..267072e 100644 --- a/config.php +++ b/config.php @@ -3,7 +3,7 @@ $site_name="🌻 thunix 🌻"; //Root for the site, in a browser -$site_root="https://".$_SERVER['HTTP_HOST']; +$site_root="//".$_SERVER['HTTP_HOST']; //Local base root for app files $doc_root="/var/www/thunix.cf"; diff --git a/includes/newthunix.css b/includes/newthunix.css index 1eec4c1..acfb15e 100644 --- a/includes/newthunix.css +++ b/includes/newthunix.css @@ -64,3 +64,84 @@ a:visited { clear: both; 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; +} + diff --git a/includes/sidebar.md b/includes/sidebar.md index a9eb126..7b913c4 100644 --- a/includes/sidebar.md +++ b/includes/sidebar.md @@ -6,19 +6,19 @@ - [Terms of Service](/tos) - [Privacy Policy](/privacy) - [Contact Us](/contact) - - [Donations](/donate) + - [Donations](https://donate.tilde.club) - Resources and User Content --------------------------- - [Wiki](https://wiki.thunix.net/) - [User Web Directories](/users) - [User Gopher Directories](https://gopher.tildeverse.org/thunix.net) + - [User Gemini Directories](https://gemini.tildeverse.org/?gemini://thunix.net/) - Services and Status -------------------- - [Status and Information](/server) - [Service News](/news) - - [thunix Mirror Services](https://ftp.thunix.net/) - [Web Server Stats](https://stats.thunix.net/) - [Web Mail](/webmail/) - [ZNC Service](https://thunix.net:1356/) diff --git a/includes/signup.php b/includes/signup.php index 6468eaa..9033aa2 100644 --- a/includes/signup.php +++ b/includes/signup.php @@ -1,23 +1,19 @@ '; -$destination_addr = "newuser@thunix.net"; -$subject = "New User Registration"; +$from = 'From: www-data '; +$destination_addr = 'newuser@thunix.net'; +$subject = 'New User Registration'; $mailbody = "A new user has tried to register. Username: $username Real Name: $name @@ -25,39 +21,29 @@ Email Address: $email Interest: $interest Pubkey: $pubkey"; -// In the future, here, we *should* be able to build a process that -// somehow auto-verifies the user, and instead of email, it'll kick off the new user process here +$user_queue = '/dev/shm/userqueue'; -$user_queue = '/dev/shm/userqueue'; - -// Spam attempt $success = 'success1'; -if ( $tv == "tildeverse" ) -{ - // Success! - $success = 'success2'; - -// Check if username already taken -if (posix_getpwnam($username)) { - $success = 'success3'; -} - -// Simple SSH public key format check -$valid_key_starts = ['ssh-rsa', 'ssh-dss', 'ecdsa-sha2', 'ssh-ed25519']; -$key_parts = explode(' ', $pubkey, 3); -if (!in_array($key_parts[0], $valid_key_starts) || count($key_parts) < 2) { - $success = 'success4'; -} - -if ($success == "success2") { - mail($destination_addr, $subject, $mailbody, $from); - $fp = fopen($user_queue, 'a'); - fwrite($fp, "'$username','$email','$pubkey'\n"); - fclose($fp); -} +if ($tv == 'tildeverse') { + $success = 'success2'; + if (posix_getpwnam($username)) { + $success = 'success3'; + } + $valid_key_starts = ['ssh-rsa', 'ssh-dss', 'ecdsa-sha2', 'ssh-ed25519']; + $key_parts = explode(' ', $pubkey, 3); + if (!in_array($key_parts[0], $valid_key_starts) || count($key_parts) < 2) { + $success = 'success4'; + } + if ($success === 'success2') { + mail($destination_addr, $subject, $mailbody, $from); + $fp = fopen($user_queue, 'a'); + fwrite($fp, "'$username','$email','$pubkey'\n"); + fclose($fp); + $fp2 = fopen('/var/signups', 'a'); + fwrite($fp2, 'makeuser ' . $username . ' ' . $email . ' "' . addslashes($pubkey) . "\"\n"); + fclose($fp2); + } } header("Location: $site_root/?page=$success"); die(); - -?> \ No newline at end of file