Compare commits

...

66 Commits

Author SHA1 Message Date
deepend de2c993957 Update includes/footer.md 2024-03-25 02:53:13 +00:00
deepend 08f9258f5c Update articles/server.md 2024-03-25 02:49:49 +00:00
deepend cb8a7c00ec Update articles/server.md 2024-03-25 02:48:56 +00:00
deepend 5fd94f5487 update includes/signup.php 2024-03-25 02:29:18 +00:00
deepend 33ad7a37ae change to Newnet and update ssh fingerprints 2024-03-25 01:32:36 +00:00
deepend 127a63d4a4 change to Newnet 2024-03-25 01:22:50 +00:00
deepend 31dfa8fc34 Update includes/signup.php 2024-01-23 04:23:45 +00:00
deepend 0138a6e12d Update githook.php 2024-01-02 20:55:37 +00:00
deepend bd705ab55d Update humans.txt 2023-12-27 06:58:34 +00:00
deepend 1456e013ec Update includes/sidebar.md 2023-12-27 06:55:06 +00:00
deepend 34a344a952 add ssh fingerprints (fixed) 2023-08-02 15:08:14 +00:00
deepend 99c00eb649 add ssh fingerprints 2023-08-02 15:06:37 +00:00
deepend e3a380be10 Update 'articles/server.md' 2023-07-10 15:16:35 +00:00
deepend 65b13d8949 changed BZFlag server status 2023-07-08 20:01:43 +00:00
Blade of Darkness 610904d4b9 Update znc port 2023-07-08 12:37:55 -06:00
deepend 9dcb1906f9 Update 'articles/server.md' 2023-07-06 19:38:06 +00:00
deepend 5b74ae2415 Update 'articles/main.md' 2023-07-04 20:29:59 +00:00
deepend 5e95451c0e Update 'articles/faq.md' 2023-07-04 20:28:08 +00:00
deepend 23288a99b4 Update 'articles/news.md' 2023-07-04 20:25:04 +00:00
deepend 4af70552f5 Update 'articles/donate.md' 2023-07-04 19:48:41 +00:00
deepend a5c0980f3a Update 'articles/server.md' 2023-07-04 19:41:10 +00:00
deepend 153adcfdd1 Update 'githook.php' 2023-07-04 18:03:40 +00:00
Blade of Darkness 269bd5ea1f Replace Email Address with the Return Address 2022-03-08 18:31:21 +01:00
Ubergeek db7b6282ce temp change of unicode chars in title 2022-02-28 14:06:08 -05:00
Ubergeek 5ef05e811e Fixed chat link 2022-02-11 14:17:29 -05:00
ubergeek ef89333873 just some cleanup of the webhook code 2022-02-07 12:51:21 +00:00
Ubergeek a7f799912b Merge branch 'master' of ttm.sh:thunix/www 2022-02-06 13:01:48 -05:00
Ubergeek 425641da57 Updated tor addr to v3 addr 2022-02-06 13:01:30 -05:00
Blade of Darkness eb8b5b6f74 Print href only for updated contents 2021-12-14 10:01:53 +01:00
Blade of Darkness b8545fb767 There is an index.html already 2021-11-18 17:13:06 +01:00
Blade of Darkness 860d816031 Print href only for updated contents 2021-11-18 13:36:15 +01:00
Ubergeek 2ffb79088f updated tilde.json 2021-10-08 07:46:54 -04:00
Ubergeek 4ea46e4e24 updated tilde.json 2021-07-08 20:07:34 -04:00
Blade of Darkness 73f0a980d9 Do not list empty directory 2021-06-18 10:50:31 +02:00
Blade of Darkness 16f9b6e4a6 Not always contents are listed just with index.html or index.php 2021-06-18 10:38:26 +02:00
Blade of Darkness 55f641afc4 List non-empty user web directories 2021-06-17 16:49:58 +02:00
Blade of Darkness 99b9d67af0 Execute statement if expression evaluates to true 2021-06-17 16:26:44 +02:00
Blade of Darkness f9dd82d909 Update about Thunix 2021-05-17 16:00:07 +02:00
ubergeek 44508f99dc updated IP 2021-04-28 15:10:08 +00:00
Blade of Darkness f5aaed23ab to remove new line characters from a DOS file 2021-03-20 04:57:52 +01:00
Blade of Darkness d36f10189d Statements grouped with curly braces 2021-03-12 17:46:39 +01:00
Blade of Darkness cfd6ccdbbc Username passed lowercased once 2021-03-01 19:27:46 +01:00
Ubergeek 0833e91520 Starting making user adds more automated 2021-02-27 20:49:07 -05:00
Anton McClure fce23c7cd1 Fix typo in license link 2021-01-16 17:44:22 +00:00
Blade of Darkness 1b9c4e87af Let wiki.php render server.php 2021-01-12 22:00:42 +01:00
Blade of Darkness a6ae512417 Let wiki.php render users.php 2021-01-12 21:42:55 +01:00
Blade of Darkness 48922db7c4 Avoid undefined variable warnings in wiki, users and server pages 2021-01-12 16:00:14 +01:00
Blade of Darkness 107ea4f396 Make the cursor blink 2021-01-05 01:03:08 +01:00
Blade of Darkness d163822726 Avoid warning undefined variable 2021-01-04 20:28:25 +01:00
Blade of Darkness fa3e7ed385 Remove left edge from image 2020-12-28 00:33:52 +01:00
Blade of Darkness 58e54f5f01 Delete duplicate content 2020-12-28 00:25:30 +01:00
Blade of Darkness 99f93eb00e Update web hosting service description 2020-12-28 00:19:44 +01:00
Blade of Darkness 8122e8d4a0 Add account recovery to FAQ 2020-12-26 22:31:20 +01:00
Blade of Darkness 7a30f92ed1 Add hyphens to highlight dialogs 2020-12-26 20:45:38 +01:00
Blade of Darkness 278f561744 Add specific error page public key format 2020-12-22 20:08:44 +01:00
Blade of Darkness 1dde4d4fc1 Comment added to the Tor service 2020-12-16 19:08:49 +01:00
Blade of Darkness 86f04da9a4 Edit web server information 2020-12-04 11:02:27 +01:00
Blade of Darkness 75ab2e6a94 Adding web server information 2020-12-04 10:53:08 +01:00
Blade of Darkness e83a255b85 Main Menu update 2020-11-23 10:39:54 +01:00
ubergeek 74a3c9a45d Merge pull request 'Pages link to thunix/www repo and the specific page's .md file' (#30) from amcclure/thunix-www:master into master
Reviewed-on: thunix/www#30
2020-07-03 13:56:30 -04:00
Anton McClure fc73f8c4df
add site and page source links 2020-07-03 13:18:58 -04:00
ubergeek c8e6df0083 Merge pull request 'Updating TOS' (#29) from ubergeek/www:master into master 2020-05-08 12:48:16 -04:00
Blade of Darkness d720fd3758 Check SSH public key format 2020-05-07 13:34:14 +02:00
Blade of Darkness bc6c6d735b Check if username already taken 2020-05-07 12:03:45 +02:00
Blade of Darkness 495d05679d Only check everything else if it's not a spam attempt 2020-05-07 11:57:18 +02:00
Blade of Darkness c7a949f04f Verify the form data and proceed if applicable 2020-05-06 23:00:27 +02:00
24 changed files with 1254 additions and 379 deletions

View File

@ -1,7 +1,5 @@
RewriteEngine On
RewriteRule ^$ main [QSA]
RewriteRule ^index\.php$ wiki.php?page=main [QSA]
RewriteRule ^users$ includes/users.php [QSA,L]
RewriteRule ^server$ includes/server.php [QSA,L]
RewriteCond %{REQUEST_URI} !(/includes/|/media/|tilde.json|humans.txt|/webmail/|/favicon.ico|/~|githook|sitemap.xml)
RewriteRule ^([^\d]+)/?$ wiki.php?page=$1 [QSA]

View File

@ -2,23 +2,11 @@
As this server and our projects are all a labor of love and goodwill for the community, operating the thunix server costs money. We love what we do and we love sharing what we do for free, but over time, operating expenses can have a big impact.
That being said, we also rely on the good nature of generous people, who are willing to donate to us. The price breakdown right now is €38/month. So to help with server costs and time spent, you can donate the following ways:
That being said, we also rely on the good nature of generous people, who are willing to donate to us. The price breakdown right now is €80/month. So to help with server costs and time spent, you can donate the following ways:
<div style="text-align:center;">
<p>Via BitCoin: 1DFM3qY7XmCxGTFPATSQJVCNjvmWiVubGN</p>
<p>You can donate via Liberapay here: <a href="https://liberapay.com/deepend/donate"><img src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
<p>Via Lumen: GDG75UEP4DTNUWRZJ7426AA627OZQ6K5SEOO3YIESHGVRBLUCWWQ4CKJ</p>
<p>You can donate via Liberapay here: <a href="https://liberapay.com/ub3g33k/donate"><img src="https://liberapay.com/assets/widgets/donate.svg"></a></p>
<p>Or via Paypal:</a>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_donations" />
<input type="hidden" name="business" value="GW2H85HY9VJ3L" />
<input type="hidden" name="currency_code" value="USD" />
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif" border="0" name="submit" title="PayPal - The safer, easier way to pay online!" alt="Donate with PayPal button" />
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1" />
</form>
</p>
</div>

View File

@ -2,38 +2,42 @@
**How do I sign up for an account?**
Simply by going to our [signup page](/signup) and filling in the form. You can ask for help in \#thunix on tilde.chat, or you can [contact us](contact), if you run into any difficulties.
- Simply by going to our [signup page](/signup) and filling in the form. You can ask for help in \#thunix on tilde.chat, or you can [contact us](contact), if you run into any difficulties.
**How can I request an account recovery or public key replacement?**
- Just send the request from the email you used to register and we'll poke a new key in for you.
**Who is running thunix?**
The current system administrators are [ubergeek](/~ubergeek), [Naglfar](/~naglfar), and [fosslinux](/~fosslinux).
- The current system administrators are [deepend](/~deepend), [Naglfar](/~naglfar), [ubergeek](/~ubergeek) still helps out from time to time but not sure if he wants the admin role going forward. If this changes it will be updated ASAP.
**What happened to the old thunix? Why the name change?**
The original machine and founder dissappeared without any warning to anyone, including server staff. For this reason, most things were not backed up, and we needed to obtain a new domain name, and a new set of machines.
- The original machine and founder dissappeared without any warning to anyone, including server staff. For this reason, most things were not backed up, and we needed to obtain a new domain name, and a new set of machines.
**I want a new package installed, or I want something changed on Thunix!**
Excellent! We're looking to make this system useful for the community! You can submit a PR or an issue [here](https://tildegit.org/thunix/ansible) to request the system change.
- Excellent! We're looking to make this system useful for the community! You can submit a PR or an issue [here](https://tildegit.org/thunix/ansible) to request the system change.
**Can I get password-based login? Old thunix had it!**
No. Sorry. Not for shell access. For other integrated services, password auth will be enabled, but not for your ssh connection. We use key based authentication, as it's more secure, and more convienent for you, to be honest.
- No. Sorry. Not for shell access. For other integrated services, password auth will be enabled, but not for your ssh connection. We use key based authentication, as it's more secure, and more convienent for you, to be honest.
**I want to run {fill in the blank} server, but I can't seem to access it?**
The only exposed ports to the internet are services as defined in our [ansible playbook.](https://tildegit.org/thunix/ansible) If there is a public service you want to see, open an issue, or do a pull request for it, and we'll probably enable it without much question.
- The only exposed ports to the internet are services as defined in our [ansible playbook.](https://tildegit.org/thunix/ansible) If there is a public service you want to see, open an issue, or do a pull request for it, and we'll probably enable it without much question.
**That's too hard! Can you just open the port up for this service I have running?**
No. Due to security issues, we cannot. HOWEVER! You can certainly use an [SSH tunnel](https://duckduckgo.com/?q=ssh+tunnnel) to access it.
- No. Due to security issues, we cannot. HOWEVER! You can certainly use an [SSH tunnel](https://duckduckgo.com/?q=ssh+tunnnel) to access it.
**Old thunix did {fill in the blank}, and now it doesn't. Make it work like it used to!**
There was a huge changeover. Maybe we can get something going old thunix had, and maybe not. You can mention it in the IRC channel, and we'll see what we can do.
- There was a huge changeover. Maybe we can get something going old thunix had, and maybe not. You can mention it in the IRC channel, and we'll see what we can do.
**How can I access my thunix email?**
You can use the following for your mail settings (This is Thunderbird's setting screen, but the settings are the same):
- You can use the following for your mail settings (This is Thunderbird's setting screen, but the settings are the same):
[![](/media/mail.png)](/media/mail.png)

View File

@ -5,14 +5,10 @@ We're so glad you could drop by and we hope you enjoy your visit. Stay a while!
## About thunix
thunix offers Secure Shell (SSH) accounts, Web Hosting, Email Accounts, and many other services. But, most of all, we are a community of users. It was founded by hexhaxtron in the Summer of 2017, and was continued by [amcclure](/~amcclure) and [ubergeek](/~ubergeek) since 2018. We aim to provide the best service possible with a wide variety of features, and we hope you have fun with it!
The Thunix project provide Secure Shell (SSH) accounts, Web Hosting, Email Accounts, and many other UNIX-like services. But, most of all, we are a community of users. It was founded by hexhaxtron in the Summer of 2017, and was continued by [ubergeek](/~ubergeek) since 2018 however in 2023 [deepend](/~deepend) has since taken the role. We aim to provide the best service possible with a wide variety of features, and we hope you have fun with it!
## Project Phoenix
The thunix Phoenix project aims to provide a new user experience for shell users, with integration into the wider Tildeverse network.
Join us on IRC on irc.tilde.chat/6697 in the #thunix channel, or just click here for a web client: [![#thunix channel](https://tilde.chat/badges/badge.php?channel=%23thunix)](https://web.tilde.chat/?join=thunix)
Join us on IRC on irc.newnet.net/6697 in the #thunix channel, or just click here for a web client: [![#thunix channel](https://stats.newnet.net/badges/badge.php?channel=%23thunix)](https://tilde.chat/kiwi/#thunix)
If you want to sign up for an account, simply open our [signup form](/signup) and provide us with:

View File

@ -1,19 +1,7 @@
# State of the Thunix - March 2020
# State of the Thunix - July 2023
So, Thunix has moved to a new host. With this move comes many benefits, and a couple of tradeoffs.
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.
So, first for what we lost: We lost ~8GB of RAM and 1TB of disk space.
We rarely utilized more than 1/4 of the RAM, so we're still way good to go there.
We haven't ran out of disk space, with 2TB, in fact, we have been hovering ~1/4 usage. So, right now, we're at ~50% usage. We will be getting rid of some low-usage mirrors, that have plenty of replicas already in Germany, which should free up a bunch more space.
What we have gained: ipv6 addresses, full virtualization (Which allows us to modify the system more heavily, better isolation (Which means more privacy and security for users), we can do snaps and containers now as well!
We have also gotten what should hopefully be a more sustainable model: Thunix is now being graciously sponsored by [WNY Technology Collaborative](https://wnytechcollab.com), a worker-owned cooperative, that works with other cooperatives, socialist organizations, non-profit organizations, and local small businesses to meet their information technology needs. So, as long as they are still in business, we have a home :)
All in all, this new home gives us a lot more flexibility to grow, and gets us to a slightly more sustainable position, since donations (While still welcomed) have been pretty lacking. This move provides stability, for the moment. Eventually, I would like to see Thunix become a fully self-sustaining community.
If you see anything awry, open an issue on our tildegit repo for ansible, if you're unsure where the problem is, or drop a line in tilde.chat/#thunix, and we'll check into it, so see what is wrong.
So, on to more good things!
More to come very soon.

View File

@ -12,9 +12,16 @@ Connect to thunix.net in your minecraft client. Running the Paperclip minecraft
Thunix offers webmail at [https://thunix.net/webmail](/webmail). You can also connect via imap. Thunderbird will autodetect your settings, and we recommend the use of Thunderbird email client, so you can get the best-of-breed email experience. We also recommend using enigmail with Thunderbird as well. You can get it from your distro's package manager, or from [the Thunderbird project's site](https://www.thunderbird.net/)
## SSH Fingerprints
256 SHA256:iuqEWXCqUNihqO7o4xLrJ05M+te09i3P+WrHZsjUdZY thunix.net (ECDSA)
3072 SHA256:7gZXCqNUYBfrTQ8wYmLrD6rVc5zL5nYf2l5t8ZrLIBU thunix.net (RSA)
256 SHA256:d+J8u5pmQ8sR1BM8/EpUiNAlL9by371utl1ncNgFG6A thunix.net (ED25519)
## Onion Service
Thunix's services are available as a onion site as well. Our onion address is thunixme5v4rnoby.onion.
Thunix's websites are available as a onion site as well. (SSH access is currently not available over Tor)
Our Tor network (The Onion Router) address is kbguajmip4jlr2k3vpscmvymtxqnft267ox2ij6pdrgb5jcvx3kctkyd.onion.
## BZFlag Game Server
@ -22,15 +29,17 @@ BZFlag runs on the standard port. If you have a specific map you want loaded, se
## IRC Chat
Thunix is part of the tilde.chat network. You can access chat via the terminal, with the 'chat' command, via your favorite email client at irc.tilde.chat/6697, or via a web chat interface located [![#thunix channel](https://tilde.chat/badges/badge.php?channel=%23thunix)](https://web.tilde.chat/?join=thunix).
Thunix is part of the Newnet IRC network. You can access chat via the terminal, with the 'chat' command, via your favorite email client at irc.newnet.net/6697, or via a web chat interface located [![#thunix channel](https://stats.newnet.net/badges/badge.php?channel=%23thunix)](https://web.newnet.net/?join=thunix).
## FOSS Project Mirrors
## FOSS Project Mirrors
Thunix hosts mirrors for several FOSS projects. You can see the full mirror list in the sidebar link.
## Tildenet Client VPN
## Website and CMS hosting
Thunix allows users to connect into [tildenet](https://intranet.tildeverse.org), via [Wireguard](https://www.wireguard.com/). If you're interested in accessing Tildenet, send an email to [root](mailto:root@thunix.net), requesting a wireguard client VPN, or ask in IRC.
Collaborative creation, modification and management of digital content.
- LAMP (Apache HTTP server, MySQL database and PHP scripting language) is an open source software stack on Linux environment, available to host a variety of web sites, content management systems and applications.
- Django web development framework.
<!-- Begin autogen content from /includes/server.php -->

3
articles/success3.md Normal file
View File

@ -0,0 +1,3 @@
# Form Failure
This username is already registered, please choose another one.

3
articles/success4.md Normal file
View File

@ -0,0 +1,3 @@
# Form Failure
Please check SSH public key format.

View File

@ -1,9 +1,8 @@
<?php
//Name of your site
$site_name="☣ thunix ☣";
$site_name="🌻 thunix 🌻";
//Root for the site, in a browser
//$site_root="https://dev.thunix.cf";
$site_root="https://".$_SERVER['HTTP_HOST'];
//Local base root for app files
$doc_root="/var/www/thunix.cf";

View File

@ -16,8 +16,6 @@
/* security */
$access_token = "secret";
$ansible_lastrun = '/dev/shm/ansible-hook-last-run';
$ansible_dropfile = '/dev/shm/run-ansible';
$www_lastrun = '/dev/shm/www-hook-last-run';
$www_dropfile = '/dev/shm/run-www';
$gopher_lastrun = '/dev/shm/gopher-hook-last-run';
@ -25,7 +23,7 @@ $gopher_dropfile = '/dev/shm/run-gopher';
$wiki_lastrun = '/dev/shm/wiki-hook-last-run';
$wiki_dropfile = '/dev/shm/run-wiki';
$allowedip = '2607:5300:203:5fd5::7:65';
$allowedip = '198.50.210.248';
$remoteip = $_SERVER['REMOTE_ADDR'];
$ratelimit = 300;
@ -51,24 +49,6 @@ if ( strcmp($remoteip, $allowedip) !== 0 )
exit(0);
}
// Hook for ansible here
if ($data["repository"]["full_name"] == 'thunix/ansible') {
syslog(LOG_INFO, 'Ansible Webhook recieved.');
// We limit runs to once per 5 minutes, so they don't try
// overlapping. Systemd shouldn't allow it, but we'll check
// anyways
if ( time () - filemtime ( $ansible_lastrun ) > $ratelimit ) {
touch ( $ansible_dropfile );
touch ( $ansible_lastrun );
echo "HTTP 200 - Ansible webhook recieved.\n";
}
else {
http_response_code(429);
echo "HTTP 429 - Rate Limited.\n";
exit(0);
}
}
// Hook for www repo here. Same rules apply, as above, for www. We
// could probably make it able to run more frequently. Backend job is
// just a git pull, and is quick.
@ -119,8 +99,8 @@ elseif ($data["repository"]["full_name"] == 'thunix/wiki') {
}
}
// Easter egg for anyone probing the hook. Enjoy. We're a coffee maker
// and not a teapot :)
// Easter egg for anyone probing the hook. Enjoy. We're a tea pot
// and not a coffee maker :)
else {
http_response_code(418);
echo "HTTP 418 - I'm a teapot.\n";
@ -128,22 +108,5 @@ else {
exit(0);
}
/*$fp = pfsockopen( "tcp://127.0.0.1", 1234, $errno, $errstr );
if (!$fp)
{
echo "ERROR: $errno - $errstr<br />\n";
}
socket_set_timeout ($fp, 10);
$msg = "Commit '".$data['commits'][0]["message"]."' was pushed to ".$data["repository"]["full_name"].' by '.$data["pusher"]["login"];
$msg = trim(preg_replace('/\s+/', ' ', $msg));
$write = fwrite ($fp, $msg);
fclose($fp);
if (!$write) {
echo "error writing to port.<br/>";
next;
}
*/
?>

View File

@ -1,15 +1,16 @@
/* TEAM */
Your title: ubergeek, naglfar, fosslinux
Your title: deepend, naglfar
Site: https://thunix.net, root@thunix.net
Location: Frankfurt, Germany
Location: Quebec, Canada
/* THANKS */
Name: ubergeek https://thunix.net/~ubergeek
Name: deepend https://thunix.net/~deepend
ubergeek https://thunix.net/~ubergeek
naglfar https://thunix.net/~naglfar
fosslinux https://thunix.net/~fosslinux
/* SITE */
Last update: 2019/10/31
Last update: 2023/12/26
Standards: HTML5
Components: Apache2, Git, and PHP, Parsedown, Parsedown Extra
Software: vim, geany, ansible, wiki.php

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 KiB

View File

@ -3,7 +3,7 @@ include "../config.php";
// This code is licensed under the AGPL 3 or later by ubergeek (https://tildegit.org/ubergeek)
$name = $_GET['contact_name'];
$email = $_GET['email_address'];
$return_addr = $_GET['email_address'];
$type = $_GET['type'];
$body = $_GET['message'];
@ -14,7 +14,6 @@ $subject = "Contact Form";
$mailbody = "The following submission via the contact form was recieved:
Real Name: $name
Email Address: $email
Type: $type
Message: $body";
@ -24,7 +23,7 @@ if ( $tv != "tildeverse" ) {
die();
}
shell_exec("echo '$mailbody' | /usr/bin/mail -s '$subject' $destination_addr ");
shell_exec("echo '$mailbody' | /usr/bin/mail -s '$subject' -r '$return_addr' $destination_addr ");
// In the future, here, we *should* be able to build a process that
// auto opens an issue in the tildegit project

View File

@ -1,7 +1,5 @@
All content is licensed as [CC BY-SA 4.0license](https://creativecommons.org/licenses/by-sa/4.0/). Users define their own licensing and own all of their content.
All content is licensed as [CC BY-SA 4.0 license](https://creativecommons.org/licenses/by-sa/4.0/). Users define their own licensing and own all of their content.
All questions, comments, and concerns about this site should be sent to [the administration team](/contact).
Created with valid [HTML](https://validator.w3.org/check?uri=referer) and [CSS](https://jigsaw.w3.org/css-validator/check/referer) code.
Services and hosting sponsored by [WNY Technology Collaborative](https://wnytechcollab.com).
Created with valid [HTML](https://validator.w3.org/check?uri=referer) and [CSS](https://jigsaw.w3.org/css-validator/check/referer) code.

View File

@ -1 +1 @@
![☣ thunix ☣](/media/thunix.png)
![🌻 thunix🌻](/media/thunix.gif)

View File

@ -1,72 +1,4 @@
<?php
/*
This code is licensed under the AGPL 3 or later by ubergeek (https://tildegit.org/ubergeek)
Parsedown is licensed under the MIT license.
*/
include('../config.php');
include('../parsedown-1.7.3/Parsedown.php');
include('../parsedown-extra-0.7.1/ParsedownExtra.php');
$page = $_GET['page'];
$style = $_GET['style'];
$Parsedown = new Parsedown();
$Parsedown->setMarkupEscaped(true);
$ParsedownExtra = new ParsedownExtra();
if ( $page == "") {
$page = "main";
}
if ( $style == "") {
if ( $site_style == "") {
$site_style="site";
}
}
else {
$site_style=$style;
}
$header = file_get_contents("$doc_root/includes/header.md");
$sidebar = file_get_contents("$doc_root/includes/sidebar.md");
$content = file_get_contents("$doc_root/articles/server.md");
$footer = file_get_contents("$doc_root/includes/footer.md");
print "<!DOCTYPE html>
<html lang='en'>
<head>
<title>$site_name - $page</title>
<link rel='stylesheet' type='text/css' href='$site_root/includes/$site_style.css'>
</head>
<body>
<!-- Begin Header -->
<div id='header'>";
print $Parsedown->text($header);
print "
</div>
<!-- End Header -->
";
print "<hr>
<div id='body'>
<!-- Begin Sidebar -->
<div id='sidebar'>
";
echo $Parsedown->text($sidebar);
print " </div>
<!-- End Sidebar -->
<!-- Begin Body -->
<div id='content'>";
echo $ParsedownExtra->text($content);
// Monitoring section
$hosts="all";
@ -113,21 +45,4 @@ echo "\n</table>\n";
fclose($f);
// End monitoring section
print " </div>
<!-- End Body -->
</div>
<!-- Begin Footer -->
<div id='footer'>
<hr>
";
echo $Parsedown->text($footer);
print " </div>
<!-- End Footer -->
</body>
</html>";
?>

View File

@ -7,22 +7,24 @@
- [GDPR Statement and Privacy Policy](/gdpr)
- [Contact Us](/contact)
- [Sign Up](/signup)
- [Donations](/donate)
- Status of Servers and Services
---------------------------
- [Status and Information](/server)
- [thunix Mirror Services](https://ftp.thunix.net/)
- [Web Server Stats](https://stats.thunix.net/)
- [Donations](/donate)
- [Web Mail](/webmail/)
- [ZNC Service](https://thunix.net:1356/)
- [Service News](/news)
- Main Resources On This Site
---------------------------
- [Wiki](https://wiki.thunix.net/)
- [Status of thunix Servers and Services](/server)
- [Service News](/news)
- [User Web Directories](/users)
- [User Gopher Directories](https://gopher.tildeverse.org/thunix.net)
- [Web Mail](/webmail/)
- [ZNC Service](https://thunix.net:1326/)
- Server Staff
------------
- [Ubergeek](/~ubergeek/)
- [Naglfar](/~naglfar/)
- [fosslinux](/~fosslinux/)
- [deepend](/~deepend/)
- [Naglfar](/~naglfar/)

View File

@ -9,6 +9,12 @@ $interest = $_GET['interest'];
$pubkey = $_GET['pubkey'];
$tv = $_GET['tv'];
// username passed lowercased
$username = strtolower($username);
// strip new line characters from the end
$pubkey = trim($pubkey);
$from = 'From: www-data <www-data@thunix.net>';
$destination_addr = "newuser@thunix.net";
$subject = "New User Registration";
@ -19,19 +25,39 @@ Email Address: $email
Interest: $interest
Pubkey: $pubkey";
if ( $tv != "tildeverse" ) {
print "Spam attempt";
header("Location: $site_root/?page=success1");
die();
}
mail($destination_addr, $subject, $mailbody, $from);
// 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
header("Location: $site_root/?page=success2");
$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);
}
}
header("Location: $site_root/?page=$success");
die();
?>
?>

View File

@ -1,98 +1,17 @@
<?php
/*
This code is licensed under the AGPL 3 or later by ubergeek (https://tildegit.org/ubergeek)
Parsedown and Parsedown Extra is licensed under the MIT license.
*/
include('../config.php');
include('../parsedown-1.7.3/Parsedown.php');
include('../parsedown-extra-0.7.1/ParsedownExtra.php');
$page = $_GET['page'];
$style = $_GET['style'];
$Parsedown = new Parsedown();
$Parsedown->setMarkupEscaped(true);
$ParsedownExtra = new ParsedownExtra();
if ( $page == "") {
$page = "main";
}
if ( $style == "") {
if ( $site_style == "") {
$site_style="site";
}
}
else {
$site_style=$style;
}
$header = file_get_contents("$doc_root/includes/header.md");
$sidebar = file_get_contents("$doc_root/includes/sidebar.md");
$content = file_get_contents("$doc_root/articles/userdir.md");
$footer = file_get_contents("$doc_root/includes/footer.md");
print "<!DOCTYPE html>
<html lang='en'>
<head>
<title>$site_name - $page</title>
<link rel='stylesheet' type='text/css' href='$site_root/includes/$site_style.css'>
</head>
<body>
<!-- Begin Header -->
<div id='header'>";
print $Parsedown->text($header);
print "
</div>
<!-- End Header -->
";
print "<hr>
<div id='body'>
<!-- Begin Sidebar -->
<div id='sidebar'>
";
echo $Parsedown->text($sidebar);
print " </div>
<!-- End Sidebar -->
<!-- Begin Body -->
<div id='content'>";
echo $ParsedownExtra->text($content);
$html_skel='/etc/skel/public_html/index.html';
print "<!-- Begin autogen userdir list -->";
print "<ul style='list-style: none; margin-left: -40px;'>";
foreach (glob("/home/*") as $user):
if (!is_dir($user . "/public_html") || (!file_exists($user . "/public_html/index.html") && !file_exists($user . "/public_html/index.php")))
continue;
$user = basename($user);
print"<li><a href='$site_root/~$user/'>~$user</a></li>";
foreach (glob("/home/*") as $userpath):
if (is_dir("$userpath/public_html"))
{
$user = basename($userpath);
if(sha1_file($html_skel) == sha1_file("$userpath/public_html/index.html") || count(scandir("$userpath/public_html")) == 2)
print"<li>~$user</li>\n";
else
print"<li><a href='$site_root/~$user/'>~$user</a></li>\n";
}
endforeach;
print "</ul></div>
<!-- End Autgen userdir list -->";
print " </div>
<!-- End Body -->
</div>
<!-- Begin Footer -->
<div id='footer'>
<hr>
";
echo $Parsedown->text($footer);
print " </div>
<!-- End Footer -->
</body>
</html>";
?>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 650 KiB

After

Width:  |  Height:  |  Size: 447 KiB

BIN
media/thunix.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

1186
tilde.json

File diff suppressed because it is too large Load Diff

View File

@ -8,24 +8,20 @@ include('config.php');
include('parsedown-1.7.3/Parsedown.php');
include('parsedown-extra-0.7.1/ParsedownExtra.php');
$page = $_GET['page'];
$style = $_GET['style'];
if(isset($_GET['page']))
$page = $_GET['page'];
else
$page = "main";
if(isset($_GET['style']))
$site_style = $_GET['style'];
$Parsedown = new Parsedown();
$Parsedown->setMarkupEscaped(true);
$ParsedownExtra = new ParsedownExtra();
if ( $page == "") {
$page = "main";
}
if ( $style == "") {
if ( $site_style == "") {
$site_style="site";
}
}
else {
$site_style=$style;
}
if (empty($site_style))
$site_style="site";
$header = file_get_contents("$doc_root/includes/header.md");
$sidebar = file_get_contents("$doc_root/includes/sidebar.md");
@ -67,6 +63,13 @@ print " </div>
echo $ParsedownExtra->text($content);
switch ($page)
{
case 'users':
case 'server':
require "includes/$page.php";
}
print " </div>
<!-- End Body -->
@ -79,7 +82,8 @@ print " </div>
echo $Parsedown->text($footer);
print " </div>
print " <a href=\"https://tildegit.org/thunix/www\">Site Source</a> | <a href=\"https://tildegit.org/thunix/www/src/branch/master/articles/$page.md\">Page Source</a>
</div>
<!-- End Footer -->
</body>