Compare commits

..

No commits in common. "master" and "master" have entirely different histories.

24 changed files with 376 additions and 1251 deletions

View File

@ -1,5 +1,7 @@
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,11 +2,23 @@
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 €80/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 €38/month. So to help with server costs and time spent, you can donate the following ways:
<div style="text-align:center;">
<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 BitCoin: 1DFM3qY7XmCxGTFPATSQJVCNjvmWiVubGN</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,42 +2,38 @@
**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.
**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.
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.
**Who is running thunix?**
- 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.
The current system administrators are [ubergeek](/~ubergeek), [Naglfar](/~naglfar), and [fosslinux](/~fosslinux).
**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,10 +5,14 @@ We're so glad you could drop by and we hope you enjoy your visit. Stay a while!
## About thunix
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!
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!
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)
## 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)
If you want to sign up for an account, simply open our [signup form](/signup) and provide us with:

View File

@ -1,7 +1,19 @@
# State of the Thunix - July 2023
# State of the Thunix - March 2020
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, Thunix has moved to a new host. With this move comes many benefits, and a couple of tradeoffs.
More to come very soon.
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!

View File

@ -12,16 +12,9 @@ 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 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.
Thunix's services are available as a onion site as well. Our onion address is thunixme5v4rnoby.onion.
## BZFlag Game Server
@ -29,17 +22,15 @@ BZFlag runs on the standard port. If you have a specific map you want loaded, se
## IRC Chat
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).
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).
## FOSS Project Mirrors
## FOSS Project Mirrors
Thunix hosts mirrors for several FOSS projects. You can see the full mirror list in the sidebar link.
## Website and CMS hosting
## Tildenet Client VPN
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.
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.
<!-- Begin autogen content from /includes/server.php -->

View File

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

View File

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

View File

@ -1,8 +1,9 @@
<?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,6 +16,8 @@
/* 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';
@ -23,7 +25,7 @@ $gopher_dropfile = '/dev/shm/run-gopher';
$wiki_lastrun = '/dev/shm/wiki-hook-last-run';
$wiki_dropfile = '/dev/shm/run-wiki';
$allowedip = '198.50.210.248';
$allowedip = '2607:5300:203:5fd5::7:65';
$remoteip = $_SERVER['REMOTE_ADDR'];
$ratelimit = 300;
@ -49,6 +51,24 @@ 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.
@ -99,8 +119,8 @@ elseif ($data["repository"]["full_name"] == 'thunix/wiki') {
}
}
// Easter egg for anyone probing the hook. Enjoy. We're a tea pot
// and not a coffee maker :)
// Easter egg for anyone probing the hook. Enjoy. We're a coffee maker
// and not a teapot :)
else {
http_response_code(418);
echo "HTTP 418 - I'm a teapot.\n";
@ -108,5 +128,22 @@ 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,16 +1,15 @@
/* TEAM */
Your title: deepend, naglfar
Your title: ubergeek, naglfar, fosslinux
Site: https://thunix.net, root@thunix.net
Location: Quebec, Canada
Location: Frankfurt, Germany
/* THANKS */
Name: deepend https://thunix.net/~deepend
ubergeek https://thunix.net/~ubergeek
Name: ubergeek https://thunix.net/~ubergeek
naglfar https://thunix.net/~naglfar
fosslinux https://thunix.net/~fosslinux
/* SITE */
Last update: 2023/12/26
Last update: 2019/10/31
Standards: HTML5
Components: Apache2, Git, and PHP, Parsedown, Parsedown Extra
Software: vim, geany, ansible, wiki.php

BIN
images/mail.png Normal file

Binary file not shown.

After

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'];
$return_addr = $_GET['email_address'];
$email = $_GET['email_address'];
$type = $_GET['type'];
$body = $_GET['message'];
@ -14,6 +14,7 @@ $subject = "Contact Form";
$mailbody = "The following submission via the contact form was recieved:
Real Name: $name
Email Address: $email
Type: $type
Message: $body";
@ -23,7 +24,7 @@ if ( $tv != "tildeverse" ) {
die();
}
shell_exec("echo '$mailbody' | /usr/bin/mail -s '$subject' -r '$return_addr' $destination_addr ");
shell_exec("echo '$mailbody' | /usr/bin/mail -s '$subject' $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,5 +1,7 @@
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 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 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.
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).

View File

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

View File

@ -1,4 +1,72 @@
<?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";
@ -45,4 +113,21 @@ 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,24 +7,22 @@
- [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/)
- [Web Mail](/webmail/)
- [ZNC Service](https://thunix.net:1356/)
- [Service News](/news)
- [Donations](/donate)
- 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
------------
- [deepend](/~deepend/)
- [Naglfar](/~naglfar/)
- [Ubergeek](/~ubergeek/)
- [Naglfar](/~naglfar/)
- [fosslinux](/~fosslinux/)

View File

@ -9,12 +9,6 @@ $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";
@ -25,39 +19,19 @@ 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
$user_queue = '/dev/shm/userqueue';
header("Location: $site_root/?page=success2");
// 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,17 +1,98 @@
<?php
$html_skel='/etc/skel/public_html/index.html';
/*
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);
print "<!-- Begin autogen userdir list -->";
print "<ul style='list-style: none; margin-left: -40px;'>";
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";
}
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>";
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: 447 KiB

After

Width:  |  Height:  |  Size: 650 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

1180
tilde.json

File diff suppressed because it is too large Load Diff

View File

@ -8,20 +8,24 @@ include('config.php');
include('parsedown-1.7.3/Parsedown.php');
include('parsedown-extra-0.7.1/ParsedownExtra.php');
if(isset($_GET['page']))
$page = $_GET['page'];
else
$page = "main";
if(isset($_GET['style']))
$site_style = $_GET['style'];
$page = $_GET['page'];
$style = $_GET['style'];
$Parsedown = new Parsedown();
$Parsedown->setMarkupEscaped(true);
$ParsedownExtra = new ParsedownExtra();
if (empty($site_style))
$site_style="site";
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");
@ -63,13 +67,6 @@ print " </div>
echo $ParsedownExtra->text($content);
switch ($page)
{
case 'users':
case 'server':
require "includes/$page.php";
}
print " </div>
<!-- End Body -->
@ -82,8 +79,7 @@ print " </div>
echo $Parsedown->text($footer);
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>
print " </div>
<!-- End Footer -->
</body>