start importing wiki articles from github

This commit is contained in:
root 2019-09-15 14:42:17 -04:00
parent ada1e6032c
commit f0cbce70a4
32 changed files with 995 additions and 14 deletions

View File

@ -27,12 +27,12 @@ include __DIR__."/../header.php";
<div>
<p>what interests you about tilde.club? we want to make sure you're a real human being :)</p>
<textarea class="form-control" name="interest" id="" cols="30" rows="10"><?=$_REQUEST["interest"] ?? ""?></textarea>
<textarea required class="form-control" name="interest" id="" cols="40" rows="7"><?=$_REQUEST["interest"] ?? ""?></textarea>
</div>
<div>
<p>SSH public key</p>
<textarea required class="form-control" name="sshkey" id="" cols="30" rows="10"><?=$_REQUEST["sshkey"] ?? ""?></textarea>
<textarea required class="form-control" name="sshkey" id="" cols="40" rows="10"><?=$_REQUEST["sshkey"] ?? ""?></textarea>
<p>if you don't have a key, don't worry! <a href="https://tilde.club/wiki/ssh.html">check out our guide to ssh keys</a> and make sure that you only put your pubkey here</p>
</div>

View File

@ -97,18 +97,20 @@ if (isset($_REQUEST["username"]) && isset($_REQUEST["email"])) {
// no validation errors
if ($message == "") {
$makeuser = "makeuser {$_REQUEST["username"]} {$_REQUEST["email"]} \"{$_REQUEST["sshkey"]}\"";
$msgbody = "
username: {$_REQUEST["username"]}
email: {$_REQUEST["email"]}
reason: {$_REQUEST["interest"]}
makeuser {$_REQUEST["username"]} {$_REQUEST["email"]} \"{$_REQUEST["sshkey"]}\"
$makeuser
";
if (mail('root', 'new tilde.club signup', $msgbody)) {
echo '<div class="alert alert-success" role="alert">
email sent! we\'ll get back to you soon (usually within a day) with login instructions! <a href="/">back to tilde.club home</a>
</div>';
file_put_contents("/var/signups", $makeuser.PHP_EOL, FILE_APPEND);
} else {
echo '<div class="alert alert-danger" role="alert">
something went wrong... please send an email to <a href="mailto:root@tilde.club">root@tilde.club</a> with details of what happened

View File

@ -0,0 +1,83 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="michaelcoyote" />
<title>safe scripting the tilde way</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">safe scripting the tilde way</h1>
<p>authors:</p>
<p class="author"><a href="/~michaelcoyote/">~michaelcoyote</a></p>
</header>
<p>Welcome to tilde.club. For many of you this may be your first multi-user host and for even more of you this may be your <em>first</em> host. Welcome to all of you.</p>
<p>Whether you are used to Unix, Linux and programming or a complete beginner please consider this an invitation to create and build new things.</p>
<p>Its important when creating however that we respect the shared environment and that we respect the boundaries of others.</p>
<p>As Paul says:</p>
<blockquote>
<p>no drama. be respectful. have fun.</p>
</blockquote>
<p>What does that mean with respect to scripting and programming on a shared host?</p>
<ul>
<li>DOs
<ul>
<li>Respect shared CPU/Disk/Network resources</li>
<li>Keep things that require a tilde.club login local to the server (dont post publicly) :
<ul>
<li>Finger info</li>
<li>local home directory files such as <code>~/.plan</code> and <code>~/.profile</code> files</li>
<li>Note that exceptions could include an opt-in file or special permissions from the user.</li>
</ul></li>
<li>Respect <code>robots.txt</code> when writing web crawlers</li>
</ul></li>
</ul>
<p>In short use your common sense and consider how your actions may affect others.</p>
<p>If you are unsure if something is a good idea or not, head to irc or message using the <code>wall</code> command and ask others what they think.</p>
<p>If you want a conclusive answer, contact one of the system operators.</p>
<h5 id="thinking-privacy">Thinking privacy</h5>
<p>Consider the source of the data.</p>
<p>E.g. We know that finger data might contain personal data such as phone numbers, and other identifying information and is not generally available without a tilde.club login.</p>
<p>Before exposing data such as this to the world, it should check for an opt in file such as the .public file file test before presenting info to the outside world.</p>
<h4 id="shared-resources">Shared Resources</h4>
<ul>
<li>In general
<ul>
<li>Consider executing long running processes during overnight hours when fewer users are on the system</li>
</ul></li>
<li>CPU
<ul>
<li>Use the <code>nice</code> command to keep intensive processes from affecting others
<ul>
<li>The <code>nice -n19 -p$$</code> placed in a script will make sure it runs at the lowest priority.</li>
<li>Run a long command at the lowest CPU priority: <code>nice -n 19 ~/bin/command</code></li>
<li>Change the priority of process 923 (also known as “re-nicing a process”) : <code>renice -17 -p923</code></li>
</ul></li>
</ul></li>
<li>Disk
<ul>
<li>On any commands that will heavily use disk, consider using the <code>ionice</code> command so that scripts will not affect interactive users
<ul>
<li>By adding the <code>ionice -c3 -p$$</code> command to any script, it will only use disk when idle.</li>
<li>You can also run a command or script: <code>ionice -c3 -t ~/bin/command</code></li>
</ul></li>
</ul></li>
</ul>
</body>
</html>

View File

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>setting up email</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">setting up email</h1>
</header>
<p>Your shiny, new tilde.club account comes with an email account you can use only between tilde.club members. <code>pine</code> is a command-line email application to use it, as is <code>mutt</code>. Good old-fashioned <code>mail</code> works too, although its a little cryptic.</p>
<p><code>pine</code> is menu driven, and the menus are self-explanatory; its surprisingly easy to learn, and surprisingly powerful when you want to customize it.</p>
<p>From the command line (after logged in via SSH), type: <code>pine</code> and <code>[return]</code> Follow instructions and use the menus at the bottom and top. (Note: When you see the ^ in front of the letter it means you need to use CTRL, otherwise just use the letter.)</p>
</body>
</html>

32
wiki/Time-zone.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>time zones</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">time zones</h1>
</header>
<p>The timezone by default on the server is UTC.</p>
<p>If you want to make it so that your shell prints out dates in localtime for you, run <code>tzselect</code> to find the correct timezone name that youll need to export as the <code>TZ</code> environment variable.</p>
<p>for example, if youre in eastern time, add something like this <code>export TZ=&quot;America/Detroit&quot;</code></p>
<p>to your <code>.bashrc</code> .</p>
</body>
</html>

35
wiki/Usenet-news.html Normal file
View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>usenet news</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">usenet news</h1>
</header>
<h2 id="this-is-out-of-date-and-the-netnews-server-is-down">this is out of date and the netnews server is down</h2>
<p>Were working on it. Youll need a news server to read news, and its up; its <code>news.tilde.club</code>.</p>
<p>[[slrn]] is a newsreader; see http://slrn.sourceforge.net/ for details.</p>
<p>[[pine]] can read news; this <a href="tutorial">http://www.chebucto.ns.ca/Help/News/PineNews.html</a> might help. You can also read the <a href="http://www.washington.edu/pine/faq/news.html">FAQ from U Washington</a>.</p>
<p>In Pine do S for setup, C for config, then set NNTP Server (for news) to news.tilde.club Then go back to the main menu, and pick Folder List, A for add, ^t for list</p>
<p><code>M-x gnus</code> in [[emacs]] can read news, but you better know [[emacs]] first before you start.</p>
<p>[[lynx]] reads news, a la <code>lynx news://news.tilde.club/tilde.general</code>. It can even post news, but you have to design your own headers.</p>
</body>
</html>

34
wiki/chat.html Normal file
View File

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="vielmetti" />
<title>Chatting</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">Chatting</h1>
<p>authors:</p>
<p class="author"><a href="/~vielmetti/">~vielmetti</a></p>
</header>
<p>Back on the command line, you may want to participate in chat. There is some great chat, likely, or you have questions.</p>
<p>Type: <code>wall</code> and <code>[return]</code> to tell Terminal you are ready to chat Type your message to the world and <code>[return]</code> <code>CTRL+D</code> to post or <code>CTRL+C</code> to change your mind and cancel Have fun!</p>
<p>If youre tired of reading chats in a window, <code>mesg n</code> will turn it off, and <code>mesg y</code> will turn it back on again. And if you want to see more people, look for IRC.</p>
</body>
</html>

41
wiki/edit_index.html Normal file
View File

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="vielmetti" />
<title>Editing your index.html file</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">Editing your index.html file</h1>
<p>authors:</p>
<p class="author"><a href="/~vielmetti/">~vielmetti</a></p>
</header>
<p>Type: <code>nano</code> index.html to open your index.html file and begin editing</p>
<figure>
<img src="https://tilde.club/~annika/static/nano.png" alt="screenshot of the nano editor" /><figcaption>screenshot of the nano editor</figcaption>
</figure>
<p>Edit your file, willy nilly</p>
<p>When done editing, use <code>CTRL+X</code> to close the file</p>
<p>Youll be asked if you want to save; say y and [return] to return to the command line</p>
<p>Refresh your tilde page in your browser to see your new website</p>
<p>Note: If at any time you feel you made a mistake in editing, you can exit and n to not save.</p>
<p>Theres more info here about the nano editor; if youre familiar with emacs or vim they are here too.</p>
</body>
</html>

34
wiki/email.html Normal file
View File

@ -0,0 +1,34 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="vielmetti" />
<title>Setting up email</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">Setting up email</h1>
<p>authors:</p>
<p class="author"><a href="/~vielmetti/">~vielmetti</a></p>
</header>
<p>Your shiny, new tilde.club account comes with an email account you can use between tilde.club members as well as internet email. <code>alpine</code> is a command-line email application to use it, as is <code>mutt</code>. Good old-fashioned <code>mail</code> works too, although its a little cryptic.</p>
<p><code>alpine</code> is menu driven, and the menus are self-explanatory; its surprisingly easy to learn, and surprisingly powerful when you want to customize it.</p>
<p>From the command line (after logged in via SSH), type: <code>alpine</code> and <code>[return]</code> Follow instructions and use the menus at the bottom and top. (Note: When you see the ^ in front of the letter it means you need to use CTRL, otherwise just use the letter.)</p>
</body>
</html>

View File

@ -4,7 +4,7 @@
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="paul ford" />
<meta name="author" content="ford" />
<title>faq</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
@ -23,7 +23,7 @@ div.column{display: inline-block; vertical-align: top; width: 50%;}
<h1 class="title">faq</h1>
<p>authors:</p>
<p class="author"><a href="/~paul ford/">~paul ford</a></p>
<p class="author"><a href="/~ford/">~ford</a></p>
</header>
<pre><code> _______________________________________

35
wiki/finding_index.html Normal file
View File

@ -0,0 +1,35 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>finding your index.html</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">finding your index.html</h1>
</header>
<p>There are some basic command line commands youll want to Google and learn, but for this tutorial you only need a few:</p>
<p><code>ls</code> = list files and folders in current directory</p>
<p><code>cd</code> = change directories</p>
<p><code>vim</code>, <code>emacs</code>, <code>nano</code> = a text editor</p>
<p>Type: <code>ls</code> to see where you are; you should see a directory called “public_html”</p>
<p>Type: <code>cd public_html</code> to browse into that folder</p>
<p>Type: <code>ls</code> to see where you are; you should see your index.html file</p>
</body>
</html>

View File

@ -7,10 +7,13 @@ include __DIR__."/../header.php";
<p>here's the articles on our wiki:</p>
<ul>
<?php foreach (glob("source/*.md") as $article) {
$article = basename($article, ".md"); ?>
<li><a href="/wiki/<?=$article?>.html"><?=$article?></a></li>
<?php } ?>
<?php foreach (glob("source/*.md") as $file) {
$article = basename($file, ".md");
$title = preg_match("/title: (.*)/i", file_get_contents($file), $matches)
? $matches[1] : $article;
?>
<li><a href="/wiki/<?=$article?>.html"><?=$title?></a></li>
<?php } ?>
</ul>
<?php include __DIR__."/../footer.php";

44
wiki/netiquette.html Normal file
View File

@ -0,0 +1,44 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>tilde.club netiquette</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">tilde.club netiquette</h1>
</header>
<h2 id="two-phrases-we-use-a-lot">Two phrases we use a lot</h2>
<ul>
<li>DONT HACK THE GIBSON</li>
<li>No drama. Be respectful. Have fun. Were all trying, and were all in this together :)</li>
</ul>
<h2 id="details">Details</h2>
<p>First things first, explore and have fun! But remember, this is a single linux server trying to support the weight of several hundred nerds. Dont host servers, dont run heavy processes, dont host giant files. In short, be gentle.</p>
<p>More about <a href="http://tilde.club/#WHEREISTHIS">scripting netiquette here</a></p>
<p>Now lets talk about drama. There is a Mary J. Blige song called “No More Drama.” If Mary J. Blige would think it was drama, it is drama. No flamewars about emacs/vi, no matter how historically accurate they may be. No guilting people, shaming them, or making them feel bad. More benefit of the doubt and less “are you kidding me?”</p>
<h2 id="fords-sacred-vows-to-the-community">~fords SACRED VOWS to the community</h2>
<p>I will do my best to do the following things:</p>
<ol type="1">
<li><p>I will make a weekly backup of the <code>public_html</code> directories so when some teen in Estonia decides to hack in and ruin everything we can bring up a new server and limp back to life.</p></li>
<li><p>I wont shut things down without a month of warning and once its shut down Ill make sure a file with all the <code>public_html</code> directories is uploaded to archive.org.</p></li>
<li><p>If any community forms at all (DUBIOUS BUT SURPRISE ME) I promise I wont blow up the community without, like, first pointing everyone to some free IRC channel or something.</p></li>
</ol>
</body>
</html>

31
wiki/screen.html Normal file
View File

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>terminal multiplexers</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">terminal multiplexers</h1>
</header>
<p><code>screen</code> is a unix utility that lets you manage multiple shells from within a single window. You switch between them with a few keystrokes. When you disconnect it keeps the processes alive, and you can reconnect from another login.</p>
<p>Its pretty handy. [[tmux]] does a similar set of things.</p>
<p>a nice <a href="http://tilde.club/~jonathan/screen/">screen tutorial</a> from ~jonathan will walk you through it.</p>
</body>
</html>

134
wiki/security.html Normal file
View File

@ -0,0 +1,134 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="michaelcoyote" />
<title>Editing Basic UNIX Security the Tilde way</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">Editing Basic UNIX Security the Tilde way</h1>
<p>authors:</p>
<p class="author"><a href="/~michaelcoyote/">~michaelcoyote</a></p>
</header>
<blockquote>
<p>“Unix is public by default. This means that other people who use the server can see your files. You can change that on a file-by-file basis. You can also change the default behavior for you. It is totally okay to keep your stuff private. Let us show you how.”</p>
</blockquote>
<p>Unix was built with a fairly open security policy. Its the kind of system you might expect a bunch of Berkley hippies to design. That said, if it bugs you that someone might be able to look the files in your home directory and you dont want to read any more of this document then run these commands:</p>
<pre><code>cd ~
chmod 711 .</code></pre>
<p>Those will keep anyone on the system from looking at your directory while still allowing your <code>~youruser</code> site to work. If you want to have more control over who can view what in your directory, then please read on. You can even come back and read this later, well be here.</p>
<h3 id="users-and-groups">Users and Groups</h3>
<p>What is a user? For starters, you are a user and so is every other person on the system. Sometimes special user accounts are used for running specific processes (such as the web server) or for handling special administrative tasks.</p>
<p>There are several attributes that define a user.</p>
<ul>
<li>username This is your login id and the name of your homedir</li>
<li>user id (or uid) This is your unique numerical id number on the system. This is how the system keeps track of you, your processes, and your files.</li>
<li>group id (or gid) This is a unique numerical id number for your primary user group on the system. User groups are the traditional way that users would colaberate on large projects.</li>
</ul>
<p>For now we only need to know about the username.</p>
<h4 id="welcome-to-tilde.club-your-new-home-and-homedir">Welcome to tilde.club, your new home (and homedir)</h4>
<p>When you registered for the system, you got an email that contained many things. One of those things was a username, and another was a password. When you logged into the server you were presented with what we call a prompt, and it looked a bit like this:</p>
<pre><code>sh-4.1$</code></pre>
<p>Thats boring so type the command <code>ls -l public_html/index.html</code></p>
<pre><code>sh-4.1$ ls -l public_html/index.html
rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 public_html/index.html</code></pre>
<p>Youll notice that your login shows up, but what does this actually show us?</p>
<p>First of all <code>ls</code> is a command to list files and directories. Weve given it the command line switch <code>-l</code> that tells the <code>ls</code> command that we want a long listing of the file or directory attributes, and finally weve given it the filename <code>my_file</code> so that we can see its file attributes.</p>
<p>What does this long file listing of <code>my_file</code> show us?</p>
<pre><code>-rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 my_file
---------- --- ------- -------- ----- ------------ -------------
| | | | | | |
| | | | | | File Name
| | | | | +--- Modification Time
| | | | +------------- Size (in bytes)
| | | +----------------------- Group owner
| | +-------------------------------- User owner
| +-------------------------------------- Number of links
+---------------------------------------------- File Permissions</code></pre>
<p>This seems like a lot to take in, but for the purpose of talking about files and security, well only need three things: the file permissions, the group owner and the user owner.</p>
<ul>
<li>Homework
<ul>
<li>Run <code>ls -la</code> in your home directory and note the users and permissions of the various files</li>
<li>Run <code>ls -l /etc/passwd</code> and <code>ls -l /var/log/messages</code> and compare the permissions and ownership to that of your homedir</li>
</ul></li>
</ul>
<h3 id="basics-about-file-and-directory-permissions">Basics about file and directory permissions</h3>
<pre><code>-rwxrwxrwx
----------
| | | |
| | | +--- Other Read/Write/Execute permissions
| | +------ Group Read/Write/Execute permissions
| +--------- User Read/Write/Execute permissions
+----------- Directory/Special flag</code></pre>
<p>The first column at first glance looks like a bunch of alphabet soup, however if you look over a few of them, a pattern begins to emerge. Some lines begin with <code>d</code> and there are repeating instances of <code>r</code>, <code>w</code> and <code>x</code>. You might notice that the lines beginning with <code>d</code> refer to directories and that many files have <code>rw-</code> at the start of the column and <code>r--</code> or even <code>---</code> at the end of the column. These are important and indicate to the computer and to users how that file can be accessed.</p>
<h4 id="types-of-permissions">Types of permissions</h4>
<p>There are three major types of permissions (and a hand full of others) - Read Read permission is represented as an <code>r</code> and will allow a listing of a directory and reading a file. - Write Write permission is represented with a <code>w</code> and allows a file or directory to be written to or deleted. - Execute Execute permission is represented as an <code>x</code> and allows a file (such as a script) to be executed and it allows for a directory to be “traversed”</p>
<ul>
<li>Other special permissions and notations in <code>ls -l</code>
<ul>
<li><code>-</code> means that the permission for that place isnt set. If its at the beginning of the line, it means its a normal file.</li>
<li><code>d</code> at the start of a line isnt a permission really. It just denotes a directory.</li>
<li><code>b</code> or <code>c</code> isnt a permission either, it probably means you did an <code>ls -l</code> of the <code>/dev</code> directory as those indicate block or character devices.</li>
<li><code>s</code> is a setuid/setgid permission. Its a special setting that allows you to run a script file or program as a user or a group. It can be used on a directory to make sure files are written as a user/group Its rare to see.</li>
</ul></li>
</ul>
<h4 id="three-classes-of-access-permissions">Three classes of access permissions</h4>
<ul>
<li><p>User permissions This set of access controls define what an owner can do to her own files or directories. These controls are most often useful to set on a script file you want to run or a file you want to protect from deletion or overwriting.</p></li>
<li><p>Group permissions This set of access controls define what the group can do to a file or directory. This tends not to matter much in your homedir, but it can matter a lot when working with other users on shared projects.</p></li>
<li><p>Others These access controls are what you use to allow and others who are not listed as an owner or group member to do to a file or directory. For example, if you remove read permissions from others on your ~/public_html/index.html`, the webserver process will be unable to read your web page.</p></li>
</ul>
<h4 id="changing-file-and-directory-permissions-using-chmod">Changing file and directory permissions using <code>chmod</code></h4>
<p>Examples</p>
<ul>
<li>Homework
<ul>
<li><code>mkdir -p test/01</code> and then try the following <code>chmod</code> commands chmod u+rwx test echo “hello world” &gt; test/a_file ls -l test chmod ugo-rw test ls -l test ls -l test/a_file</li>
</ul></li>
</ul>
<h4 id="basics-about-the-finger-and-chfn-commands">Basics about the <code>finger</code> and <code>chfn</code> commands</h4>
<p>How to see others in the system using <code>finger</code></p>
<pre><code>Type the command `finger`
Type the command `finger $USER`</code></pre>
<p>How others see you.</p>
<p>Changing the information people see about you using <code>chfn</code></p>
<p>creating a <code>~/.plan</code> and <code>~/.project</code> file thats readable</p>
<h4 id="more-advanced-topics">More advanced topics</h4>
<p>Lets look at the <code>/etc/passwd</code> file. What is it? Its a file that contains most of the information about users in the system.</p>
<ul>
<li>Homework
<ul>
<li><code>head -10 /etc/passwd</code></li>
<li><code>grep $USER /etc/passwd</code></li>
<li>Note the columns in the <code>/etc/passwd</code> file. Note the columns and the <code>:</code> separator between them.</li>
</ul></li>
</ul>
<p>Back at our command line, lets type the command <code>id</code>:</p>
<pre><code>sh-4.1$ id
uid=501(youruser) gid=501(youruser) groups=501(youruser)`</code></pre>
<p>The <code>id</code> command is a tool to show us how the system keeps track of us. From this we can see that according to the system, our user ID (or uid) is 501, and our group id is also 501.</p>
<pre><code>- Homework
- Run `id` in your own directory, then run
- Run `id -u root`
- use the `grep` command to find your uid in the `/etc/passwd` file</code></pre>
</body>
</html>

31
wiki/slrn.html Normal file
View File

@ -0,0 +1,31 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>slrn</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">slrn</h1>
</header>
<p><code>slrn</code> is a news reader for [[Usenet]].</p>
<p>Documentation for slrn can be found at http://slrn.sourceforge.net</p>
<p>Tilde-specific slrn info is on http://tilde.club/~joeld/slrn.html</p>
</body>
</html>

View File

@ -0,0 +1,52 @@
---
title: safe scripting the tilde way
author: michaelcoyote
---
Welcome to tilde.club. For many of you this may be your first multi-user host and for even more of you this may be your *first* host. Welcome to all of you.
Whether you are used to Unix, Linux and programming or a complete beginner please consider this an invitation to create and build new things.
It's important when creating however that we respect the shared environment and that we respect the boundaries of others.
As Paul says:
> no drama. be respectful. have fun.
What does that mean with respect to scripting and programming on a shared host?
- DOs
- Respect shared CPU/Disk/Network resources
- Keep things that require a tilde.club login local to the server (don't post publicly) :
- Finger info
- local home directory files such as `~/.plan` and `~/.profile` files
- Note that exceptions could include an opt-in file or special permissions from the user.
- Respect `robots.txt` when writing web crawlers
In short use your common sense and consider how your actions may affect others.
If you are unsure if something is a good idea or not, head to irc or message using the `wall` command and ask others what they think.
If you want a conclusive answer, contact one of the system operators.
##### Thinking privacy
Consider the source of the data.
E.g. We know that finger data might contain personal data such as phone numbers, and other identifying information and is not generally available without a tilde.club login.
Before exposing data such as this to the world, it should check for an opt in file such as the .public file file test before presenting info to the outside world.
#### Shared Resources
- In general
- Consider executing long running processes during overnight hours when fewer users are on the system
- CPU
- Use the `nice` command to keep intensive processes from affecting others
- The `nice -n19 -p$$` placed in a script will make sure it runs at the lowest priority.
- Run a long command at the lowest CPU priority: `nice -n 19 ~/bin/command`
- Change the priority of process 923 (also known as "re-nicing a process") : `renice -17 -p923`
- Disk
- On any commands that will heavily use disk, consider using the `ionice` command so that scripts will not affect interactive users
- By adding the `ionice -c3 -p$$` command to any script, it will only use disk when idle.
- You can also run a command or script: `ionice -c3 -t ~/bin/command`

View File

@ -0,0 +1,11 @@
---
title: setting up email
---
Your shiny, new tilde.club account comes with an email account you can use only between tilde.club members. `pine` is a command-line email application to use it, as is `mutt`. Good old-fashioned `mail` works too, although it's a little cryptic.
`pine` is menu driven, and the menus are self-explanatory; it's surprisingly easy to learn, and surprisingly powerful when you want to customize it.
From the command line (after logged in via SSH), type: `pine` and `[return]`
Follow instructions and use the menus at the bottom and top. (Note: When you see the ^ in front of the letter it means you need to use CTRL, otherwise just use the letter.)

14
wiki/source/Time-zone.md Normal file
View File

@ -0,0 +1,14 @@
---
title: time zones
---
The timezone by default on the server is UTC.
If you want to make it so that your shell prints out dates in localtime for you, run `tzselect`
to find the correct timezone name that you'll need to export as the `TZ` environment variable.
for example, if you're in eastern time, add something like this
`export TZ="America/Detroit"`
to your `.bashrc` .

View File

@ -0,0 +1,24 @@
---
title: usenet news
---
## this is out of date and the netnews server is down
We're working on it. You'll need a news server to read news, and it's up;
it's `news.tilde.club`.
[[slrn]] is a newsreader; see http://slrn.sourceforge.net/ for details.
[[pine]] can read news; this
[http://www.chebucto.ns.ca/Help/News/PineNews.html](tutorial) might help.
You can also read the [FAQ from U Washington](http://www.washington.edu/pine/faq/news.html).
In Pine do 'S' for setup, 'C' for config, then
set 'NNTP Server (for news)' to news.tilde.club
Then go back to the main menu, and pick Folder List,
A for add, ^t for list
`M-x gnus` in [[emacs]] can read news, but you better know [[emacs]] first before you start.
[[lynx]] reads news, a la `lynx news://news.tilde.club/tilde.general`. It can even post news, but you have to design your own headers.

14
wiki/source/chat.md Normal file
View File

@ -0,0 +1,14 @@
---
title: Chatting
author: vielmetti
---
Back on the command line, you may want to participate in chat. There is some great chat, likely, or you have questions.
Type: `wall` and `[return]` to tell Terminal you are ready to chat
Type your message to the world and `[return]`
`CTRL+D` to post or `CTRL+C` to change your mind and cancel
Have fun!
If you're tired of reading chats in a window, `mesg n` will turn it off, and `mesg y` will
turn it back on again. And if you want to see more people, look for IRC.

22
wiki/source/edit_index.md Normal file
View File

@ -0,0 +1,22 @@
---
title: Editing your index.html file
author: vielmetti
---
Type: `nano` index.html to open your index.html file and begin editing
![screenshot of the nano editor](https://tilde.club/~annika/static/nano.png)
Edit your file, willy nilly
When done editing, use `CTRL+X` to close the file
You'll be asked if you want to save; say y and [return] to return to the command line
Refresh your tilde page in your browser to see your new website
Note: If at any time you feel you made a mistake in editing, you can exit and n to not save.
There's more info here about the nano editor; if you're familiar with
emacs or vim they are here too.

12
wiki/source/email.md Normal file
View File

@ -0,0 +1,12 @@
---
title: Setting up email
author: vielmetti
---
Your shiny, new tilde.club account comes with an email account you can use between tilde.club members as well as internet email. `alpine` is a command-line email application to use it, as is `mutt`. Good old-fashioned `mail` works too, although it's a little cryptic.
`alpine` is menu driven, and the menus are self-explanatory; it's surprisingly easy to learn, and surprisingly powerful when you want to customize it.
From the command line (after logged in via SSH), type: `alpine` and `[return]`
Follow instructions and use the menus at the bottom and top. (Note: When you see the ^ in front of the letter it means you need to use CTRL, otherwise just use the letter.)

View File

@ -1,6 +1,6 @@
---
title: faq
author: paul ford
author: ford
---
_______________________________________

View File

@ -0,0 +1,17 @@
---
title: finding your index.html
---
There are some basic command line commands you'll want to Google and learn, but for this tutorial you only need a few:
`ls` = list files and folders in current directory
`cd` = change directories
`vim`, `emacs`, `nano` = a text editor
Type: `ls` to see where you are; you should see a directory called "public_html"
Type: `cd public_html` to browse into that folder
Type: `ls` to see where you are; you should see your index.html file

33
wiki/source/netiquette.md Normal file
View File

@ -0,0 +1,33 @@
---
title: tilde.club netiquette
---
## Two phrases we use a lot
* DON'T HACK THE GIBSON
* No drama. Be respectful. Have fun. We're all trying, and we're all in this together :)
## Details
First things first, explore and have fun! But remember, this is a single linux server trying to support the weight of several hundred nerds. Don't host servers, don't run heavy processes, don't host giant files. In short, be gentle.
More about [scripting netiquette here](http://tilde.club/#WHEREISTHIS)
Now let's talk about drama. There is a Mary J. Blige song called "No More Drama." If Mary J. Blige would think it was drama, it is drama. No flamewars about emacs/vi, no matter how historically accurate they may be. No guilting people, shaming them, or making them feel bad. More benefit of the doubt and less "are you kidding me?"
## ~ford's SACRED VOWS to the community
I will do my best to do the following things:
1) I will make a weekly backup of the `public_html` directories so when
some teen in Estonia decides to hack in and ruin everything we can
bring up a new server and limp back to life.
2) I won't shut things down without a month of warning and once it's
shut down I'll make sure a file with all the `public_html` directories
is uploaded to archive.org.
3) If any community forms at all (DUBIOUS BUT SURPRISE ME) I promise I
won't blow up the community without, like, first pointing everyone to
some free IRC channel or something.

10
wiki/source/screen.md Normal file
View File

@ -0,0 +1,10 @@
---
title: terminal multiplexers
---
`screen` is a unix utility that lets you manage multiple shells from within a single window. You switch between them with a few keystrokes. When you disconnect it keeps the processes alive, and you can reconnect from another login.
It's pretty handy. [[tmux]] does a similar set of things.
a nice [screen tutorial](http://tilde.club/~jonathan/screen/) from ~jonathan will walk you through it.

153
wiki/source/security.md Normal file
View File

@ -0,0 +1,153 @@
---
title: Editing Basic UNIX Security the Tilde way
author: michaelcoyote
---
> "Unix is public by default. This means that other people who use the server can see your files. You can change that on a file-by-file basis. You can also change the default behavior for you. It is totally okay to keep your stuff private. Let us show you how."
Unix was built with a fairly open security policy. It's the kind of system you might expect a bunch of Berkley hippies to design. That said, if it bugs you that someone might be able to look the files in your home directory and you don't want to read any more of this document then run these commands:
cd ~
chmod 711 .
Those will keep anyone on the system from looking at your directory while still allowing your `~youruser` site to work. If you want to have more control over who can view what in your directory, then please read on. You can even come back and read this later, we'll be here.
### Users and Groups
What is a user? For starters, you are a user and so is every other person on the system. Sometimes special user accounts are used for running specific processes (such as the web server) or for handling special administrative tasks.
There are several attributes that define a user.
- username
This is your login id and the name of your homedir
- user id (or uid)
This is your unique numerical id number on the system. This is how the system keeps track of you, your processes, and your files.
- group id (or gid)
This is a unique numerical id number for your primary user group on the system. User groups are the traditional way that users would colaberate on large projects.
For now we only need to know about the username.
#### Welcome to tilde.club, your new home (and homedir)
When you registered for the system, you got an email that contained many things. One of those things was a username, and another was a password. When you logged into the server you were presented with what we call a prompt, and it looked a bit like this:
sh-4.1$
That's boring so type the command `ls -l public_html/index.html`
sh-4.1$ ls -l public_html/index.html
rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 public_html/index.html
You'll notice that your login shows up, but what does this actually show us?
First of all `ls` is a command to list files and directories. We've given it the command line switch `-l` that tells the `ls` command that we want a long listing of the file or directory attributes, and finally we've given it the filename `my_file` so that we can see its file attributes.
What does this long file listing of `my_file` show us?
-rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 my_file
---------- --- ------- -------- ----- ------------ -------------
| | | | | | |
| | | | | | File Name
| | | | | +--- Modification Time
| | | | +------------- Size (in bytes)
| | | +----------------------- Group owner
| | +-------------------------------- User owner
| +-------------------------------------- Number of links
+---------------------------------------------- File Permissions
This seems like a lot to take in, but for the purpose of talking about files and security, we'll only need three things: the file permissions, the group owner and the user owner.
- Homework
- Run `ls -la` in your home directory and note the users and permissions of the various files
- Run `ls -l /etc/passwd` and `ls -l /var/log/messages` and compare the permissions and ownership to that of your homedir
### Basics about file and directory permissions
-rwxrwxrwx
----------
| | | |
| | | +--- Other Read/Write/Execute permissions
| | +------ Group Read/Write/Execute permissions
| +--------- User Read/Write/Execute permissions
+----------- Directory/Special flag
The first column at first glance looks like a bunch of alphabet soup, however if you look over a few of them, a pattern begins to emerge. Some lines begin with `d` and there are repeating instances of `r`, `w` and `x`. You might notice that the lines beginning with `d` refer to directories and that many files have `rw-` at the start of the column and `r--` or even `---` at the end of the column. These are important and indicate to the computer and to users how that file can be accessed.
#### Types of permissions
There are three major types of permissions (and a hand full of others)
- Read
Read permission is represented as an `r` and will allow a listing of a directory and reading a file.
- Write
Write permission is represented with a `w` and allows a file or directory to be written to or deleted.
- Execute
Execute permission is represented as an `x` and allows a file (such as a script) to be executed and it allows for a directory to be "traversed"
- Other special permissions and notations in `ls -l`
- `-` means that the permission for that place isn't set. If it's at the beginning of the line, it means it's a normal file.
- `d` at the start of a line isn't a permission really. It just denotes a directory.
- `b` or `c` isn't a permission either, it probably means you did an `ls -l` of the `/dev` directory as those indicate block or character devices.
- `s` is a setuid/setgid permission. It's a special setting that allows you to run a script file or program as a user or a group. It can be used on a directory to make sure files are written as a user/group It's rare to see.
#### Three classes of access permissions
- User permissions
This set of access controls define what an owner can do to her own files or directories. These controls are most often useful to set on a script file you want to run or a file you want to protect from deletion or overwriting.
- Group permissions
This set of access controls define what the group can do to a file or directory. This tends not to matter much in your homedir, but it can matter a lot when working with other users on shared projects.
- Others
These access controls are what you use to allow and others who are not listed as an owner or group member to do to a file or directory. For example, if you remove read permissions from others on your ~/public_html/index.html`, the webserver process will be unable to read your web page.
#### Changing file and directory permissions using `chmod`
Examples
- Homework
- `mkdir -p test/01` and then try the following `chmod` commands
chmod u+rwx test
echo "hello world" > test/a_file
ls -l test
chmod ugo-rw test
ls -l test
ls -l test/a_file
#### Basics about the `finger` and `chfn` commands
How to see others in the system using `finger`
Type the command `finger`
Type the command `finger $USER`
How others see you.
Changing the information people see about you using `chfn`
creating a `~/.plan` and `~/.project` file that's readable
#### More advanced topics
Let's look at the `/etc/passwd` file. What is it? It's a file that contains most of the information about users in the system.
- Homework
- `head -10 /etc/passwd`
- `grep $USER /etc/passwd`
- Note the columns in the `/etc/passwd` file. Note the columns and the `:` separator between them.
Back at our command line, lets type the command `id`:
sh-4.1$ id
uid=501(youruser) gid=501(youruser) groups=501(youruser)`
The `id` command is a tool to show us how the system keeps track of us. From this we can see that according to the system, our user ID (or uid) is 501, and our group id is also 501.
- Homework
- Run `id` in your own directory, then run
- Run `id -u root`
- use the `grep` command to find your uid in the `/etc/passwd` file

10
wiki/source/slrn.md Normal file
View File

@ -0,0 +1,10 @@
---
title: slrn
---
``slrn`` is a news reader for [[Usenet]].
Documentation for slrn can be found at http://slrn.sourceforge.net
Tilde-specific slrn info is on http://tilde.club/~joeld/slrn.html

View File

@ -1,10 +1,6 @@
---
author: benharri
published: true
title: ssh
description: ssh tutorial and background info
category:
- main
---

11
wiki/source/tin.md Normal file
View File

@ -0,0 +1,11 @@
---
title: tin
---
tin is a threaded NNTP and spool based UseNet newsreader for a variety of platforms.
http://www.tin.org/
it's under active development, with a last release on October 3, 2014. It is installed on ``tilde.club``, and should be invoked as `tin -r` to read from the remote news spool. Use <tab> to go to the next unread article and `w` to write a new article.
if you have `tin` on your local box and can do [[ssh port forwarding]], you can read news using it. (details forthcoming).

32
wiki/tin.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<title>tin</title>
<link rel="stylesheet" href="/style.css">
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<!--[if lt IE 9]>
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
<![endif]-->
</head>
<body>
<a href="/wiki/">&lt; back to wiki home</a>
<header>
<h1 class="title">tin</h1>
</header>
<p>tin is a threaded NNTP and spool based UseNet newsreader for a variety of platforms.</p>
<p>http://www.tin.org/</p>
<p>its under active development, with a last release on October 3, 2014. It is installed on <code>tilde.club</code>, and should be invoked as <code>tin -r</code> to read from the remote news spool. Use <tab> to go to the next unread article and <code>w</code> to write a new article.</p>
<p>if you have <code>tin</code> on your local box and can do [[ssh port forwarding]], you can read news using it. (details forthcoming).</p>
</body>
</html>