diff options
Diffstat (limited to 'html')
-rw-r--r-- | html/coc.html | 115 | ||||
-rw-r--r-- | html/faq.html | 67 | ||||
-rw-r--r-- | html/index.html | 133 | ||||
-rw-r--r-- | html/signup.html | 35 | ||||
-rwxr-xr-x | html/stats.php | 26 | ||||
-rwxr-xr-x | html/submit.php | 144 |
6 files changed, 520 insertions, 0 deletions
diff --git a/html/coc.html b/html/coc.html new file mode 100644 index 0000000..63c1b01 --- /dev/null +++ b/html/coc.html @@ -0,0 +1,115 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> + +<head> + <title>tilde.institute :: Code of Conduct</title> + {{HEADER}} +</head> + +<body> + <div id="container"> + {{LOGONAV}} + <div id="content"> + <h1>tilde.institute code of conduct</h1> + <p><strong>tl;dr</strong>: Be kind to each other. Think carefully about the words you + use. Think carefully about what content you post and promote.</p> + <h2>1. Purpose</h2> + <p>A primary goal of tilde.institute is to be inclusive to the largest number of + community members, with the most varied and diverse backgrounds + possible. As such, we are committed to providing a friendly, safe and + welcoming environment for all, regardless of gender, sexual orientation, + ability, ethnicity, socioeconomic status, and religion (or lack + thereof).</p> + <p>This code of conduct outlines our expectations for all those who + participate in our community, as well as the consequences for + unacceptable behavior.</p> + <p>We invite all those who participate in tilde.institute to help create safe + and positive experiences for everyone.</p> + <h2>2. Vision of tilde.institute</h2> + <p><strong>tilde.institute exists to provide a safe, non-judgemental, and fun place to + explore creative projects and to seek intentional digital community.</strong></p> + <p>In a post-facebook age, it is up to small communities to gather and work + together to provide a space outside of the advertising-laden, corporate + mediated world of social media.</p> + <p>To that end, tilde.institute strives to be a radically inclusive community + where people of all backgrounds and all technological experience levels + can come together for peer education, to delight in one another's + creations and to make good conversation.</p> + <h2>3. Expected Behavior</h2> + <ul> + <li>Participate in an authentic and active way. In doing so, you + contribute to the health and longevity of tilde.institute.</li> + <li>Exercise consideration and respect in your speech and actions.</li> + <li>Attempt collaboration before conflict.</li> + <li>Refrain from demeaning, discriminatory, or harassing behavior and + speech.</li> + <li>If anyone asks you to stop a particular kind of behavior, always err + on the side of respecting their wishes. If you believe their request + is unreasonable or unfair, ask an admin, but don't respond with + hostility.</li> + <li>Be mindful of your surroundings and of your fellow participants. + Alert community leaders if you notice a dangerous situation, someone + in distress, or violations of this code of conduct, even if they + seem inconsequential.</li> + </ul> + <h2>4. Unacceptable Behavior</h2> + <p>Unacceptable behaviors include: intimidating, harassing, abusive, + discriminatory, derogatory or demeaning speech or actions by any + tilde.institute user online, at any related events, or in one-on-one + communication carried out in the conduct of tilde.institute related projects. + Community event venues--physical or digital--may be shared with members + of the public; please be respectful to all patrons of these locations.</p> + <p>Harassment includes: harmful or prejudicial verbal or written comments + related to gender, age, sexual orientation, race, religious choices, + disability; inappropriate use of nudity and/or sexual images in public + spaces (like your \~ html pages); deliberate intimidation, stalking, or + following; harassing recording; sustained disruption of the work of + others; and unwelcome sexual attention.</p> + <h2>5. Consequences of Unacceptable Behavior</h2> + <p>Unacceptable behavior from any community member, including those with + decision making authority or <code>sudo</code>, will not be tolerated.</p> + <p>Anyone asked to stop unacceptable behavior is expected to comply immediately. + If a community member engages in unacceptable behavior, the tilde.institute admins + may take any action they deem appropriate, up to and including a temporary ban + or permanent expulsion from tilde.institute (meaning your user account would be + revoked) without warning.</p> + <h2>6. If You Witness or Are Subject to Unacceptable Behavior</h2> + <p>If you are subject to or witness unacceptable behavior, or have any + other concerns, please see the Contact Information section below.</p> + <p>Additionally, help engaging with law enforcement is always available.</p> + <h2>7. Addressing Grievances</h2> + <p>If you feel you have been falsely or unfairly accused of violating this + code of conduct, use the Contact Information section below to send a + concise description of your grievance.</p> + <h2>8. Scope</h2> + <p>We expect all tilde.institute members to abide by this code of conduct while:</p> + <ul> + <li>engaging with other users locally on the server</li> + <li>publishing content hosted on tilde.institute</li> + <li>engaging in community activities, whether in meatspace or cyberspace</li> + </ul> + <h2>9. Contact Information</h2> + <p>tilde.institute admins:</p> + <ul> + <li>all admins ✉ <a href="mailto:admins@tilde.institute">admins@tilde.institute</a></li> + <li>gbmor + ✉ <a href="mailto:gbmor@tilde.institute">gbmor@tilde.institute</a></li> + <li>Kneezle + ✉ <a href="mailto:kneezle@tilde.institute">kneezle@tilde.institute</a></li> + </ul> + <p>Admins can be reached privately:</p> + <ul> + <li>on IRC using <code>/msg gbmor hello</code> or <code>/msg kneezle hello</code></li> + <li>via e-mail at the private addresses listed above.</li> + </ul> + <h2>10. License and Attribution</h2> + <p>This code of conduct is based on Citizen Code of Conduct + <a href="https://github.com/stumpsyn/policies/">github.com/stumpsyn/policies/</a> under the + terms of the <a href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons + Attribution-ShareAlike + license</a>.</p> + </div> + </div> +</body> + +</html> \ No newline at end of file diff --git a/html/faq.html b/html/faq.html new file mode 100644 index 0000000..436504d --- /dev/null +++ b/html/faq.html @@ -0,0 +1,67 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> + +<head> + <title>tilde.institute :: FAQ</title> + {{HEADER}} +</head> + +<body> + <div id="container"> + {{LOGONAV}} + <div id="content" class="faq"> + <h1>FAQ</h1> + + <p class="q">How do I change my interactive shell?</p> + <p>Once you've logged in, check the path for your desired shell with</p> + <div class="code">$ which fish</div> + <p>Replacing <code>fish</code> with the the shell you want. In this case, the path will be + <code>/usr/local/bin/fish</code> + Now, run:</p> + <div class="code">$ EDITOR=nano chsh</div> + <p>Change the <code>Shell</code> line to read:</p> + <div class="code">Shell: /usr/local/bin/fish</div> + <p>Save and exit. You'll need to log out then back in.</p> + + <p class="q">How do I change the index page of my site?</p> + <p>Because of the way <code>httpd(8)</code> is set up, you'll need to ask in <code>#institute</code> or send + an email to <code>admins@tilde.institute</code></p> + + <p class="q">Can you install this package for me?</p> + <p>As long as it's in the OpenBSD ports tree, and doesn't facilitate any potentially malicious behavior + (like <code>nmap</code>), + then it's probably not a big deal. Either hop on IRC and ask in <code>#institute</code> or send an email + to <code>admins@tilde.institute</code></p> + + <p class="q">How do I authenticate with SMTP remotely?</p> + <p>Only local access to SMTP is allowed. However, you can use an SSH tunnel on your machine to send mail. + </p> + <div class="code">ssh -nNTL 25:localhost:25 tilde.institute</div> + <p>You won't need to supply a username or password when sending mail via <code>localhost:25</code> this way, + since you're already authenticated via SSH.</p> + + <p class="q">Can you whitelist a port for me in the firewall?</p> + <p>Sorry, but this presents too much of a security risk on a public-access system.</p> + + <p class="q">Are user services allowed?</p> + <p>Generally, yes. If you're running something that's using a ton of resources or in some way affecting + other users or the general use of the system, + then we'll kill it. Just be aware of what you're running and how it may affect the system and other + users.</p> + + <p class="q">Are IRC bots allowed?</p> + <p>Yes, though there are restrictions on their use on the <code>tilde.chat</code> IRC network. They should + not reside in <code>#meta</code>, instead keep + them in a private channel or in <code>#bots</code>. Bots must also conform to the <a + href="https://tildegit.org/tildeverse/rfcs/src/branch/master/rfcs/rfc2.md">bot guidelines listed + here</a>.</p> + <p>Don't run <code>eggdrop</code> from tilde.institute. There are legitimate uses for <code>eggdrop</code>, + but separating the people with some kind + of legitimate use from malicious users is tiring. So, no <code>eggdrop</code>.</p> + <br /> + <br /> + </div> + </div> +</body> + +</html> \ No newline at end of file diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..b37ed4e --- /dev/null +++ b/html/index.html @@ -0,0 +1,133 @@ +<!DOCTYPE html PUBLIC + "-//W3C//DTD XHTML 1.1//EN" + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> + +<head> + <title>tilde.institute :: Public-access OpenBSD system</title> + {{HEADER}} +</head> + +<body> + <div id="container"> + {{LOGONAV}} + <div id="front-content"> + <p>Welcome to tilde.institute, a public-access UNIX system running OpenBSD. This is a space for people to + explore the OpenBSD operating system, in addition to exploring the more social + aspects of a multi-user UNIX system. Gopher and web space, IRC, games, and more are available!</p> + <p>User sites are accessible via <code>https://<user>.tilde.institute</code></p> + <p style="margin-top:-1.0rem">A list of user gopherholes is available at + <code>gopher://tilde.institute</code></p> + <p style="margin-top:-1.0rem">User git repositories are at <code><a href="https://git.tilde.institute"> + https://git.tilde.institute</a></code></p> + <p>The mailing list will be the primary means of communication between tilde.institute admins and users + regarding announcements and critical issues. Web archive and <a + href="https://lists.tildeverse.org/postorius/lists/institute.lists.tildeverse.org/">subscribing + information available here</a>.</p> + <p>The following services run directly on the server:</p> + <ul> + <li><code>cgit (<a href="https://wiki.tilde.institute/w/user-repos">wiki</a>)</code></li> + <li><code>efingerd (<a href="https://wiki.tilde.institute/w/finger">wiki</a>)</code></li> + <li><code>gophernicus (<a href="https://wiki.tilde.institute/w/gopher">wiki</a>)</code></li> + <li><code>httpd(8)</code></li> + <li><code>identd(8)</code></li> + <li><code>php73_fpm</code></li> + <li><code>slowcgi(8)</code></li> + <li><code>smtpd(8)</code></li> + <li><code>unbound(8)</code></li> + </ul> + <p>The following services run on separate VMs:</p> + <ul> + <li><code>inspircd (<a href="https://wiki.tilde.institute/w/irc">wiki</a>)</code></li> + <li><code>getwtxt (<a href="https://twtxt.tilde.institute">instance</a>)</code></li> + <li><code>Dungeon Crawl Stone Soup (<a href="https://crawl.tildeverse.org">webtiles</a>, for cli games run `dcss`)</code></li> + </ul> + <p>IRC clients:</p> + <ul> + <li><code>catgirl</code></li> + <li><code>ircII</code></li> + <li><code>irssi</code></li> + <li><code>swirc</code></li> + <li><code>weechat</code></li> + </ul> + <p>The compilers and interpreters available are:</p> + <ul> + <li><code>apl 1.8</code></li> + <li><code>brainf*ck 2.7.1</code></li> + <li><code>chicken (Scheme) 5.2.0</code></li> + <li><code>cim (Simula) 5.1</code></li> + <li><code>clang 8.0.1</code></li> + <li><code>clisp 2.49</code></li> + <li><code>clojure 1.10.1.469</code></li> + <li><code>crystal 0.30.1</code></li> + <li><code>cython 0.29.14 (Py2 and Py3)</code></li> + <li><code>elixir 1.10.2</code></li> + <li><code>erlang 21.2</code></li> + <li><code>fpc (Pascal) 3.0.4</code></li> + <li><code>gambit (Scheme) 4.9.3</code></li> + <li><code>gcc 8.3.0 (see the <a href="https://wiki.tilde.institute/w/gcc8">wiki page</a>)</code></li> + <li><code>gerbil (Scheme) 0.15.1 (see the <a href="https://wiki.tilde.institute/w/gerbilscheme">wiki page</a>)</code></li> + <li><code>gforth 0.7.3</code></li> + <li><code>gfortran / g95 8.3.0 (see the <a href="https://wiki.tilde.institute/w/gcc8">wiki page</a>)</code></li> + <li><code>ghc (Haskell) 8.6.4</code></li> + <li><code>gnat (Ada) 8.3.0</code></li> + <li><code>gnucobol 2.2</code></li> + <li><code>go 1.13.9</code></li> + <li><code>gpc (Pascal) 20070904</code></li> + <li><code>gprolog 1.4.5</code></li> + <li><code>guile 1.8.8 and 2.2.6</code></li> + <li><code>janet 1.8.1</code></li> + <li><code>jdk 11 and 8 (see the <a href="https://wiki.tilde.institute/w/jdk">wiki page</a>)</code></li> + <li><code>lua 5.3.5 and 5.1.5</code></li> + <li><code>mono 6.8.0.105</code></li> + <li><code>nasm 2.14.02</code></li> + <li><code>nbfc (brainf*ck) 0.1</code></li> + <li><code>newlisp 10.7.5</code></li> + <li><code>nim 1.2.0</code></li> + <li><code>node.js 12.16.1</code></li> + <li><code>ocaml 4.09.0</code></li> + <li><code>perl 5.30.2</code></li> + <li><code>php 7.3.18</code></li> + <li><code>pypy 7.2.0</code></li> + <li><code>python 2.7.18 and 3.7.7</code></li> + <li><code>racket 7.6</code></li> + <li><code>rakudo (Raku / Perl6) 2018.12</code></li> + <li><code>ruby 2.5.8, 2.6.6, 2.7.1</code></li> + <li><code>rust 1.42</code></li> + <li><code>sbcl (Common Lisp) 2.0.1</code></li> + <li><code>scala 2.12.9</code></li> + <li><code>squeak-vm (Smalltalk) 3.10.1</code></li> + <li><code>swi-prolog 7.6.0</code></li> + <li><code>tinyscheme 1.41</code></li> + <li><code>yasm 1.3.0</code></li> + </ul> + <p>The interactive shells available are:</p> + <ul> + <li><code>/bin/ksh (default)</code></li> + <li><code>/bin/sh</code></li> + <li><code>/bin/csh</code></li> + <li><code>/usr/local/bin/bash</code></li> + <li><code>/usr/local/bin/dash</code></li> + <li><code>/usr/local/bin/zsh</code></li> + <li><code>/usr/local/bin/fish</code></li> + <li><code>/usr/local/bin/tcsh</code></li> + <li><code>/usr/local/bin/elvish</code></li> + </ul> + <br /> + <br /> + </div> + <div id="news"> + {{NEWS}} + </div> + <div id="sshfp"> + <pre> +256 SHA256:QSijnje9WlvxZyIXc5h8uJ2MzPCKbviy0WnBG7U4aP0 (ECDSA) +256 SHA256:3n9E2Y0Kz4YeF776aUQNM+roVICTVQHFs64ekyADQxY (ED25519) +3072 SHA256:GsmsdVkfRA8YznxI6EZJW+pf9IntSUIpNfeeGhpIs8w (RSA) +1024 SHA256:foWYUgDuqfFIKnD2sLgeF1m2l9/ykSLwwlMyLWgesCA (DSA) + </pre> + </div> + </div> +</body> + +</html> diff --git a/html/signup.html b/html/signup.html new file mode 100644 index 0000000..482a4ba --- /dev/null +++ b/html/signup.html @@ -0,0 +1,35 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> + +<head> + <title>tilde.institute :: Sign Up</title> + {{HEADER}} +</head> + +<body> + <div id="container"> + {{LOGONAV}} + <div id="content" class="signup"> + <h1>Request an Account</h1> + <p> + If you haven't received the welcome email within 24 hours, please check your spam folder. + </p> + <p> + <form action="submit.php"> + <h3>Desired Username:<br /></h3> + <input type="text" size="48" name="username" /> + <h3>Your Email Address:<br /></h3> + <input type="email" size="48" name="email" /> + <h3>What interests you about + tilde.institute?<br /></h3> + <input type="text" size="48" name="interest" /> + <h3>Paste Your SSH Key in OpenSSH Format:<br /></h3> + <input type="text" size="48" name="sshkey" /><br /> + <input type="submit" value="Submit" /> + </form> + </p> + </div> + </div> +</body> + +</html> \ No newline at end of file diff --git a/html/stats.php b/html/stats.php new file mode 100755 index 0000000..3ed3a27 --- /dev/null +++ b/html/stats.php @@ -0,0 +1,26 @@ +<!DOCTYPE html PUBLIC + "-//W3C//DTD XHTML 1.1//EN" + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> + <title>tilde.institute :: Stats</title> + {{HEADER}} +</head> +<body> +<div id="container"> + {{LOGONAV}} + <div id="content"> + <br /> + <!--<p><code><?php include("table.weekconns"); ?></code> unique users logged in this week (resets Saturdays <code>00:00 UTC</code>)</p>--> + <div style="max-width: 25%; margin: 0 auto;"> + <p style="text-align: center;">Connected Users (<code>5min</code>):</p> + <?php include("table.connusers"); ?> + </div> + <div class="userlist"> + <p>Registered Users (<code>1hr</code>):</p> + <?php include("table.regusers"); ?> + </div> + </div> +</div> +</body> +</html> diff --git a/html/submit.php b/html/submit.php new file mode 100755 index 0000000..1b297e8 --- /dev/null +++ b/html/submit.php @@ -0,0 +1,144 @@ +<!DOCTYPE html PUBLIC + "-//W3C//DTD XHTML 1.1//EN" + "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> + <title>tilde.institute :: Sign Up</title> + {{HEADER}} +</head> +<body> +<div id="container"> + {{LOGONAV}} + <div id="content" style="text-align: center;"> +<?php +require_once('bannedusers.php'); + +if ($_SERVER["SERVER_NAME"] != "localhost") + require_once "ultimate-email/support/smtp.php"; +function isTaken($istaken) { + return in_array($istaken, file("userlist", FILE_IGNORE_NEW_LINES)); +} +function forbidden_name($name) { + return in_array($name, [ + '0x0', + 'abuse', + 'admin', + 'admins', + 'administrator', + 'auth', + 'autoconfig', + 'bbj', + 'broadcasthost', + 'copy', + 'forum', + 'ftp', + 'git', + 'gopher', + 'hostmaster', + 'imap', + 'info', + 'irc', + 'is', + 'isatap', + 'it', + 'localdomain', + 'localhost', + 'lounge', + 'mail', + 'mailer-daemon', + 'marketing', + 'marketting', + 'mis', + 'news', + 'nntp', + 'nobody', + 'noc', + 'noreply', + 'pop', + 'pop3', + 'postmaster', + 'retro', + 'root', + 'sales', + 'security', + 'smtp', + 'ssladmin', + 'ssladministrator', + 'sslwebmaster', + 'staging', + 'support', + 'sysadmin', + 'team', + 'usenet', + 'uucp', + 'webmaster', + 'wpad', + 'www', + ]); +} +$message = ""; +if (isset($_REQUEST["username"]) && isset($_REQUEST["email"])) { + // Check the name. + $name = trim($_REQUEST["username"]); + if ($name == "") + $message .= "<li>please fill in your desired username</li>"; + if (strlen($name) > 32) + $message .= "<li>username too long (32 character max)</li>"; + if (!preg_match('/^[A-Za-z][A-Za-z0-9]{2,31}$/', $name)) + $message .= "<li>username contains invalid characters (lowercase only, must start with a letter)</li>"; + if (isTaken($name) || forbidden_name($name) || bannedUsers($name)) + $message .= "<li>sorry, the username $name is unavailable</li>"; + + // Check the e-mail address. + $email = trim($_REQUEST["email"]); + if ($email == "") + $message .= "<li>please fill in your email address</li>"; + else { + $result = SMTP::MakeValidEmailAddress($_REQUEST["email"]); + if (!$result["success"]) + $message .= "<li>invalid email address: " . htmlspecialchars($result["error"]) . "</li>"; + elseif ($result["email"] != $email) + $message .= "<li>invalid email address. did you mean: " . htmlspecialchars($result["email"]) . "</li>"; + } + + if ($_REQUEST["sshkey"] == "") { + $message .= "<li>ssh key required: please create one and submit the public key</li>"; + } + + + if ($message == "") { // no validation errors + + // remember: + $username = $_REQUEST["username"]; + $email = $_REQUEST["email"]; + $interest = $_REQUEST["interest"]; + $sshkey = $_REQUEST["sshkey"]; + + $newuserfile = fopen("newusers.dat", "a"); + fwrite($newuserfile, "$username $email \"$sshkey\"\n\n"); + fclose($newuserfile); + $fuzzyfile = fopen("fuzzies.log", "a"); + fwrite($fuzzyfile, "$username $email $interest\n"); + fclose($fuzzyfile); +?> + +<br /><h3>Thank you for signing up! Please allow up to 24 hours for an account to become active. If you have any questions or issues, please email <a href="mailto:admins@tilde.institute">admins@tilde.institute</a>.</h3> + +<?php + + } else { + ?> + <div class="alert alert-warning" role="alert"> + <br /><br /><h3>Please correct the following errors: </h3><br /> + <h4> + <?=$message?> + </h4> + </div> + <?php + } +} +?> +</div> +</div> +</body> +</html> |