Adding the wiki pages

This commit is contained in:
Ubergeek 2019-07-12 22:37:28 +00:00
parent 8363ecf396
commit c6f5232846
27 changed files with 1099 additions and 0 deletions

View File

@ -15,6 +15,12 @@ Manual pages for thunix
1Chat /man/chat thunix.net 70
1Ansible /man/ansible thunix.net 70
_________________________________________________________________
Internal Links
1About Thunix about thunix.net 70
1Thunix Wiki /wiki/ thunix.net 70
_________________________________________________________________
Please check out our other gopher users

26
wiki/Thunix/contribdir.md Normal file
View File

@ -0,0 +1,26 @@
# Contributions/Contributors Directory.
### This is a directory of who is contributing to what, and ETC. Reference the Table of Contents for full names/directories.
- Please contact these people for the respective Topic/Subtopic. DO NOT Contact Thunix Staff, unless they are a listed contrib.
- Have your name listed by contributing! See Chapter 3, Topic 3 for more info!
- If you cannot contact the relevant person for a given topic (say, after a week.)m Or otherwise N/A; contact ``dovahkin`` on IRC
###### Dovahkin (xdovahkinx) - Wiki Maintainer.
- Ch 3
- Ch 4
- Ch 1, Top 4&6.
###### Ubergeek (Ub3rg33k) - Thunix Staff.
- Ch 1
###### TechEmporium
- Ch 2
### Legend
- Chapter = "Ch." (Or Parent Topic, Ex: SSH)
- Top = "Topic"
- Sub = "Subtopic"
Example:
- Ch 1, Top 2, Sub 3 = Chapter 1, Topic 2, Subtopic 3

19
wiki/admintools.md Normal file
View File

@ -0,0 +1,19 @@
# Admin tools
There's a set of tools to ease system administration. These tools can be found in the poorly named repo [makeuser](https://tildegit.org/thunix/makeuser).
- makeuser: adds a user to our system
```makeuser {username} {email address} {ssh key}```
- rmuser: Removes user account, terminates processes, archives home directory
```rmuser {username}```
- makedb: Creates a db for a user, and emails the credentials and connection info to their thunix email address.
```makedb {username}```
- dbremove : Removes a db created by a user, after generating an mysqldump of it
```dbremove {username}```

View File

@ -0,0 +1,16 @@
## Contributing to the wiki
Just do a PR on [tildegit](https://tildegit.org/thunix/wiki)
We divide things into Topics and Subtopics, each with their own Folders. So for example: ./wiki/ssh/general/howto.md
^ ^ ^
Topic Subtopic File
Note that Subtopic isnt required, but makes for nice sorting of different topics in a topic, so generic SSH guides are not confused with different SSH topics on how SSH works within thunix itself or etc…
There is also an “Unsorted” directory (located ./wiki/unsorted/), which has three purposes; These are:
* A “Hodge-Podge” for anything that doesnt have/need a specific directory
* A temporary storage area for files not classified into a category. NOTE; Maintainer/Contribs would sort these and be responsible for ensuring that any files that refer to files that have been resorted properly)

38
wiki/contrib/top1.md Normal file
View File

@ -0,0 +1,38 @@
# What is "Contributing"?
### Definitions:
      [My Favorite](https://www.urbandictionary.com/define.php?term=contributing)
      [The Actual Definition](https://www.dictionary.com/browse/contributing)
### The Answer to the Title.
      Contributing is the act of helping further the given environment/community by means of labor or assistance, over other methods; such as Moderating or Donating.
The most classic way of doing so is through means like Bughunting, Bug Reporting, Patches, or other meaningful contributions, such as this nice wiki you are reading.
The basic goal is to ease off some of the pressure on the given leadership of the community; in the case of Thunix, the SysAdmins/Staff. As such, contributing is really any task that accomplishes that goal.
      Contributing is a great way to give back to a community you love and support where you cannot be part of the staff team or compensate some other way, usually financially.
It is understandable that everyone cannot pitch in through these other means, as everyone is on their own walks of life, so these little things add up and help make a community like Thunix what it is.
Take my personal case for example:
I (dovahkin) have been part of Thunix for a good while, about 2(ish) years. I was part of the original Thunix, and honestly was shocked when I heard about the service!
I mean, who wouldn't be?!?! A completely free SSH Shell that offers no caps on pretty much anything, Where the SysAdmins are a message away, with only rudimentary rules? Not to mention an active community, often which is friendly enough to help you when you are doing something stupid or unfamiliar?
HELLS YES. I'll take two! (Anyhow, I digress...)
I honestly should've contributed more; and I feel that could be said for a majority of the service at the time.
(Mad props to ``hexhaxtron`` for putting up with us on his own time, btw.)
Anyhow; that's a mistake I made sure not to repeat. When I heard about the re-launch of Thunix, I immediately sent 5$ as a donation.
It isn't much when you consider the cost of the bottom line of what it takes to operate Thunix as we know it, but it was what I could spare; and I know it was appreciated :).
Seeing how my financial situation doesn't exactly allow me to be sending donations every month, I put my brain to work on how I might contribute by other means.
I proposed I head and maintain the wiki, as a sort of weekend project; just something to do in my spare time. Look at how it expanded!
      Instead of some random things every week/other week, we have three contributors! All making more pushes to the wiki than I can bear listening to the notifications for!
Something so innocuous, as this little weekend project, turned into a major part of Thunix, and set an example of how powerful small contributions are.
With every push to this wiki, is one less thing that the SysAdmins have to explain to the skid asking questions in IRC (Which is usually me, lets be real....).
At this point, I am rambling... You get the poimt? Contributing is an effective means to help where one cannot by other means.
### Cool story bro, now how the fuck is that relevant to outside of Thunix?
      The point was this; No matter how big or small a contribution might be, it has the potential to really affect the entire ecosystem.
Now, let's talk about the giant in the room, being the way most might be familiar with contributing to; [Git/Version Control.](/wiki/contrib/top1_sub1). Prepare yourself for a crash-course and generic overview of Git. (We will probably release a dedicated topic for just git Eventually <sup>TM</sup>)

24
wiki/databases.md Normal file
View File

@ -0,0 +1,24 @@
# Databases
There are some database technologies available on Thunix.
* MySQL/MariaDB
* Sqlite
## Sqlite
In the spirit of minimalism, the recommended database technology to use here is sqlite. Sqlite DB's exist as a single, atomic file, and are a good use for light applications, with low to medium concurrent loads.
As an example, [tildegit](https://tildegit.org) is backed by a sqlite database. It also allows for greater flexibility, and segregation for your application's data: You can create as many sqlite databases as you need.
## MySQL/MariaDB
We have MariaDB server running on Thunix, and should you desire, we can provision a database for you. In order to minimize admin overhead, the database will be named the same as your user account. It's recommended that in order to segregate your applications in the single DB, use table-prefixes.
### Requesting a MySQL/MariaDB Database
Either opening an issue on [tildegit](https://tildegit.org/thunix), shooting an email to root, or asking in IRC is the way to get a DB created for your.
### Admin notes
The makedb and dbremove commands are used to create and destroy their respective databases. See [makedb](/wiki/makedb) and [dbremove](/wiki/dbremove) for more information.

3
wiki/dbremove.md Normal file
View File

@ -0,0 +1,3 @@
# dbremove
Coming soon

33
wiki/email.md Normal file
View File

@ -0,0 +1,33 @@
## Your Thunix Email
---
Every thunix account comes with a functional email address and mail box. This email address is the same as your SSH login name and your password is that which you received from the server's staff, in your signup confirmation email. However, if need to change your password on your thunix SSH account, use the `PASSWD` command through SSH. Though your SSH account has a password, this will NOT affect how you log into your account using SSH or an SFTP client, as your public/private key pair will always work. The account password, however, will affect only your thunix email address and ZNC IRC bouncer.
Your email can be accessed in one of three ways:
1. Running the Mutt or Alpine email clients through your SSH account
2. Logging into your email account from our [Rainloop web mail](https://www.thunix.net/webmail/) service
3. Through an email client program installed on your computer, using IMAP
Unlike the email services provided by Microsoft, Yahoo, Google and other providers, who intrusively spy on its users beyond reasonable law enforcement and advertising tactics, thunix email services will always respect user privacy, as you can see through our [GDPR Statement and Privacy Policy](https://www.thunix.net/gdpr.php).
## Mutt and Alpine Email Clients
---
Both Mutt and Alpine email clients are installed on thunix's server. They're open and accessible to every user, simply by running either the command `mutt` or `alpine` through SSH. For further assistance with either of these programs, it's highly suggested to read their man pages on the server; do this by running either `man mutt` or `man alpine` through SSH. The server is set up in such a way that allows both Mutt and Alpine to be able to fetch and send emails, so no manual configuration is required.
## Rainloop Web Mail Service
---
Thunix uses the Rainloop web interface to give users email access through their web browsers. Logging in requires the same username and password as your SSH account. Rainloop's interface is very easy to navigate, comparable to those of Microsoft Outlook, Google Mail or other browser-based email services, with utilities for organising your inbox, reporting spam and writing new messages.
## Email Client Setup with IMAP
---
You can also access thunix email using your favourite client software, including but not limited to Mozilla Thunderbird, Microsoft Office Outlook, Claws Mail or any email client that supports IMAP. The below picture illustrates the settings needed to configure your email client to fetch mail from thunix. Though it shows Thunderbird's configuration menu, this applies to all email client programs.
![Email settings in a Thunderbird dialog](https://www.thunix.net/images/mail.png)

11
wiki/gophermap Normal file
View File

@ -0,0 +1,11 @@
Wiki Pages Created by Our Users
1Email /wiki/email.md
1Databases /wiki/databases.md
1SSH /wiki/ssh.md
1Iris /wiki/iris.md
1dbremove /wiki//dbremove.md
1Contributing /wiki/contrib/contributing.md
1Don't Be Impatient /wiki/unsorted/ubergeek/impatient.md
1Don't Just Say Hello /wiki/unsorted/ubergeek/nohello.md
1Asking To Ask /wiki/unsorted/ubergeek/askingtoask.md

14
wiki/iris.md Normal file
View File

@ -0,0 +1,14 @@
# Iris
Iris is a command-line based forum software. If you've ever used a BBS in the past, you'll fine this interface quite similar to forums of that style. Not quite as complicated as bboard.
## Usage
To use iris, once logged into your shell account, just type `iris`.
Once there, type `t` to see the topics. To read a topic, just type the topic number. To reply, `r` followed by the topic number.
To quite, just type `q`.
## See Also
* [iris](/wiki/system/iris)

13
wiki/main.md Normal file
View File

@ -0,0 +1,13 @@
# Current List of Pages
### Page will be depreciated once Table of Contents is in full swing, as that is the effective point of this page, and etc.
###### Links here MAY break depending on updates to the ToC. We will try to reflect those changes here.
* ~~Contributing to the wiki~~ (See Table of Contents)
* [How to use email](/wiki/email)
* [Using SSH with thunix](/wiki/ssh)
* [Iris](/wiki/iris)
* [Databases](/wiki/databases)
* [Admin Tools](/wiki/admintools)
* ~~Unsorted~~ (See Table of Contents)

3
wiki/makedb.md Normal file
View File

@ -0,0 +1,3 @@
# Makedb
Coming soon.

29
wiki/ssh.md Normal file
View File

@ -0,0 +1,29 @@
## SSH and Thunix (And magic!)
---
When you [sign up](https://www.thunix.net/signup.php) for an account on thunix, you'll be given remote access to a Linux shell server, with web hosting, gopher hosting and email. And because of our [GDPR and privacy policy](https://www.thunix.net/gdpr.php), we take security seriously. This is why we use SSH key pairs to grant access to our server through SSH or SFTP.
On our signup page, you'll seen an entry for a "Public SSH Key." SSH key pairs work on the basis of having two files; one is a public key that you can send to us when we create your account, while the other is a private key that you keep on your computer, away from public knowledge. If you're wondering where to find these things, you have to generate them yourself.
Generating SSH key pairs requires software that also allows you to connect to a shell server using SSH (such as OpenSSH or PuTTY). On Windows and UNIX-like operating systems with OpenSSH Client software installed, including all Linux variants, BSD variants and macOS, the terminal command:
`ssh-keygen`
Will generate both the public and private SSH key files for you. You would be prompted for a file name to save the key files as, then a passphrase to help generate the files from. Then, out of the two files, open the public key file (the file with the file suffix \*.pub) in your favourite text editor, copy all its text and paste it in the Public SSH Key section of our signup page when submitting your registration form.
PuTTY handles key generation differently, as the PuTTYGen program is graphical. However, the interface makes key generation very self-explanatory (it simply involves moving your mouse cursor around your screen). The resulting key files can be saved and, as with the public key file saved by OpenSSH's shh-keygen program, open your new public key file in your favourite text editor, copy all its text and paste it in the Public SSH Key section of our signup page when submitting your registration form.
## Logging into Thunix through SSH
---
Now that you have an account with us, it's time for you to connect to our server with an SSH client program. On all operating systems using OpenSSH Client, it's a simple matter of opening a terminal and running the command:
`ssh -i [path_to-private_key] [username]@thunix.net`
Where `[path_to-private_key]` is the directory path to your previously generated private SSH key and where `[username]` is the username you registered when signing up for our services.
Logging into your account with PuTTY is also quite simple. When you first run PuTTY, simply fill in `[username]@thunix.net` as your host name, where '[username]` is the username you registered when signing up for our services. Then, in the Category column of PuTTY's interface, expand the SSH category, select the Auth category and look for a text field called Private Key for Authentication; click on the Browse button, open the private key that you generated earlier and click on the Open button at the bottom of the program window.
If everything has been done correctly, you should see a BASH terminal prompt; you're not logged into Thunix!

42
wiki/system/ansible.md Normal file
View File

@ -0,0 +1,42 @@
man(8) Ansible on Thunix man(8)
NAME Ansible on Thunix - how we manage the server
SYNOPSIS ansible-pull
DESCRIPTION We use ansible to manage the servers running the systems and
services for Thunix. Ansible consists of a "playbook" of YAML files,
that declare the state of the system.
The first step is to clone the repo used to manage the environment:
git clone git@ttm.sh:thunix/ansible.git (You will need a tidegit account for this, and a key loaded into your account there)
From there, the typical github-type workflow is used:
* Create a local branch, to track your issue's changes.
* Commit changes to your local branch.
* Send a URI pointing to your repo, with branch name to someone with merge permissions
Inside of the tildegit interface:
* Create a new branch, selecting option to create a branch and pull request
* Make changes in your branch
* Update PR
* Wait for someone to merge your changes
Hourly, a job runs that pulls the latest version of the repo, and the runs ansible-playbook against the playbook. A sudoer can manually run this job, if desired,
and it's located at /etc/cron.hourly/ansible-pull.
SEE ALSO tildegit.org(8), git(8), ansible-playbook(8)
BUGS No known bugs.
AUTHOR Uber Geek (ubergeek@thunix.net)
1.1 19 February 2019 man(8)

19
wiki/system/chat.md Normal file
View File

@ -0,0 +1,19 @@
man(8) Thunix chat man(8)
NAME chat - chat script
SYNOPSIS chat
DESCRIPTION This is a simple script to launch weechat for new users, and
get them into the correct channel for chat and support.
BUGS \* If you have a customized list of servers in your weechat config
already, this may try to connect you twice, and you'll have two nicks
going at once, which will be confusing. Once you've customized weechat
to your liking, just invoke 'weechat' or 'weechat-curses'.
SEE ALSO weechat(8)
AUTHOR Uber Geek (ubergeek@thunix.net)
1.1 19 February 2019 man(8)

562
wiki/system/iris.md Normal file
View File

@ -0,0 +1,562 @@
# Iris
## Serverless text-based forum for tilde-likes
Iris is a tiny bit of shared message and file convention that pretends to be forum software.
It is a fully usable message system, designed for use between different users on a single server.
Iris is strictly text-based, requiring no GUI or web servers.
* [Installation](#installation)
* [Usage](#usage)
* [Commands](#commands)
* [Command-line Options](#command-line-options)
* [Text Features/Markup](#text-featuresmarkup)
* [Philosophy](#philosophy)
* [Technical Bits](#technical-bits)
* [License](#license)
## Installation
At its core, Iris is simply a single, executable Ruby script. It has been tested and is known to work with Ruby 2.3.5. No extra gems or libraries are required.
Copy or symlink `iris.rb` somewhere the whole server can use it; `/usr/local/bin` is a good candidate:
```
chmod 755 ./iris.rb
mv ./iris.rb /usr/local/bin/iris
```
## Usage
Iris has a readline interface that can be used to navigate the message corpus.
### Readline Interface Example
```
%> iris
Welcome to Iris v. 1.0.7. Type "help" for a list of commands.; Ctrl-D or 'quit' to leave.
| ID | U | TIMESTAMP | AUTHOR | TITLE
| 1 | | 2018-01-24T05:49:53Z | jimmy_foo@ctrl-c.club | Welcome!
| 2 | 1 | 2018-01-24T16:13:05Z | jerry_berry@ctrl-c.club | Suggestions for imp...
jimmy_foo@ctrl-c.club>
```
## Commands
* [[t]opics](#topics)
* [Display topic](#display-topic)
* [[c]ompose](#compose)
* [[r]eply](#reply)
* [[e]dit](#edit)
* [[d]elete and un[d]elete](#delete)
* [[f]reshen](#freshen)
* [reset OR clear](#reset-or-clear)
* [[i]nfo](#info)
* [[h]elp](#help)
---
### [t]opics
`topics, t - List all topics`
This outputs a list of top-level topics that have been composed by everyone on the server.
```
jimmy_foo@ctrl-c.club> topics
| ID | U | TIMESTAMP | AUTHOR | TITLE
| 1 | | 2018-01-24T05:49:53Z | jimmy_foo@ctrl-c.club | Welcome!
| 2 | 1 | 2018-01-24T16:13:05Z | jerry_berry@ctrl-c.club | Suggestions for i...
```
1. The first column is the topic index. This is the reference number to use when displaying or replying to a topic.
1. The second column is unread count. This shows how many messages under this topic you haven't seen.
1. The third column is the timestamp. This is the server-local time when the topic was composed or last replied to.
1. The fourth column is the author. This is the user who composed the topic.
1. The fifth column is the title. This is the truncated first line of the topic.
---
### Display topic
`# (topic id) - Read specified topic`
Type in the index of the topic you wish to read. This will display the topic and all its replies.
```
jimmy_foo@ctrl-c.club> topics
| ID | U | TIMESTAMP | AUTHOR | TITLE
| 1 | | 2018-01-24T05:49:53Z | jimmy_foo@ctrl-c.club | Welcome!
| 2 | 1 | 2018-01-24T16:13:05Z | jerry_berry@ctrl-c.club | Suggestions for i...
jimmy_foo@ctrl-c.club> 1
*** [1] On 2018-01-24T05:49:53Z, jimmy_foo@ctrl-c.club posted...-----------------
Welcome!
It's good to see everyone here!
---------------------------------------------------------------------------------
| === [M2] On 2018-01-30T22:50:38Z, jerry_berry@ctrl-c.club replied...---------
| Thanks!
| -----------------------------------------------------------------------------
```
---
### [c]ompose
`compose, c - Add a new topic`
This allows you to add a new top-level topic to the board. The first line of your new topic will be used as the topic title.
The line editor is quite basic. Enter your message, line-by-line, and type a single period on a line by itself to end the message.
If you post an empty message, the system will discard it.
```
jimmy_foo@ctrl-c.club~> compose
Writing a new topic. Type a period on a line by itself to end message.
new~> How do I spoo the fleem?
new~> It's not in the docs and my boss is asking. Any help is appreciated!
new~> .
Topic saved!
jimmy_foo@ctrl-c.club~> topics
| ID | U | TIMESTAMP | AUTHOR | TITLE
| 1 | | 2018-01-24T05:49:53Z | jimmy_foo@ctrl-c.club | Welcome!
| 2 | | 2018-01-24T16:13:05Z | jerry_berry@ctrl-c.club | Suggestions for i...
| 3 | 1 | 2018-01-23T00:13:44Z | jimmy_foo@ctrl-c.club | How do I spoo the...
```
---
### [r]eply
`reply #, r # - Reply to a specific topic`
Replies are responses to a specific topic -- they only appear when displaying the topic.
The line editor is quite basic. Enter your message, line-by-line, and type a single period on a line by itself to end the message.
If you post an empty message, the system will discard it.
```
jennie_minnie@ctrl-c.club~> reply 3
Writing a reply to topic 'How do I spoo the fleem?'.
Type a period on a line by itself to end message.
reply~> Simple, you just boondoggle the flibbertigibbet. That should be in the manual.
reply~> .
Reply saved!
jennie_minnie@ctrl-c.club~> 3
*** [3] On 2018-01-23T00:13:44Z, jimmy_foo@ctrl-c.club posted...-----------------
How do I spoo the fleem?
It's not in the docs and my boss is asking. Any help is appreciated!
---------------------------------------------------------------------------------
| === [M5] On 2018-01-31T05:59:27Z, jennie_minnie@ctrl-c.club replied...-------
| Simple, you just boondoggle the flibbertigibbet. That should be in the
| manual.
| -----------------------------------------------------------------------------
```
---
### [e]dit
`edit #, e # - Edit a topic or message`
Editing a message or topic will replace the message you select with an all-new message.
To select the message you wish to edit, use either the topic index or the message number.
The message number will always start with the capital letter "M", message "M5" for example.
A topic ID will always be strictly numeric, "3" in the following example.
The message or topic ID can be found in square brackets in the informational text above each message.
The line editor is quite basic. Enter your edited message, line-by-line, and type a single period on a line by itself to end the message.
If you post an empty message, the system will discard it and the edit will be ignored.
After an edit, a status flag will appear on the message, letting others know the content of the message has been changed.
```
jennie_minnie@ctrl-c.club~> 3
*** [3] On 2018-01-23T00:13:44Z, jimmy_foo@ctrl-c.club posted...-----------------
How do I spoo the fleem?
It's not in the docs and my boss is asking. Any help is appreciated!
---------------------------------------------------------------------------------
| === [M5] On 2018-01-31T05:59:27Z, jennie_minnie@ctrl-c.club replied...-------
| Simple, you just boondoggle the flibbertigibbet. That should be in the
| manual.
| -----------------------------------------------------------------------------
jennie_minnie@ctrl-c.club~> edit M5
Editing message 'Simple, you just boondoggle the flibbertigibbet. That shoul...'
Type a period on a line by itself to end message.
edit~> Simple, you just boondoggle the flibbertigibbet. That's in the manual on page 45.
edit~> .
Message edited!
jennie_minnie@ctrl-c.club~> 3
*** [3] On 2018-01-23T00:13:44Z, jimmy_foo@ctrl-c.club posted...-----------------
How do I spoo the fleem?
It's not in the docs and my boss is asking. Any help is appreciated!
---------------------------------------------------------------------------------
| === [M5] (edited) On 2018-01-31T05:59:27Z, jennie_minnie@ctrl-c.club repli...
| Simple, you just boondoggle the flibbertigibbet. That's in the manual on
| page 45.
| -----------------------------------------------------------------------------
```
---
### [d]elete
`delete #, d #, undelete # - Delete or undelete a topic or message`
Deleting a message or topic will remove the message you select.
To select the message you wish to delete, use either the topic index or the message number.
The message number will always start with the capital letter "M", message "M5" for example.
A topic ID will always be strictly numeric, "3" in the following example.
The message or topic ID can be found in square brackets in the informational text above each message.
After a deletion, a status flag will appear on the message, letting others know the content of the message has been deliberately removed.
If you wish to revert your deletion, "delete" the deleted message or topic ID to restore it.
The `undelete` command is provided as a mnemonic convenience; it is identical in function to the `delete` command.
```
jennie_minnie@ctrl-c.club~> 3
*** [3] On 2018-01-23T00:13:44Z, jimmy_foo@ctrl-c.club posted...-----------------
How do I spoo the fleem?
It's not in the docs and my boss is asking. Any help is appreciated!
---------------------------------------------------------------------------------
| === [M5] On 2018-01-31T05:59:27Z, jennie_minnie@ctrl-c.club replied...-------
| Simple, you just boondoggle the flibbertigibbet. That should be in the
| manual.
| -----------------------------------------------------------------------------
jennie_minnie@ctrl-c.club~> delete M5
Deleted message 'Simple, you just boondoggle the flibbertigibbet. That shoul...'
jennie_minnie@ctrl-c.club~> 3
*** [3] On 2018-01-23T00:13:44Z, jimmy_foo@ctrl-c.club posted...-----------------
How do I spoo the fleem?
It's not in the docs and my boss is asking. Any help is appreciated!
---------------------------------------------------------------------------------
| === [M5] (deleted) On 2018-01-31T05:59:27Z, jennie_minnie@ctrl-c.club repl...
| -----------------------------------------------------------------------------
jennie_minnie@ctrl-c.club~> undelete M5
Undeleted message 'Simple, you just boondoggle the flibbertigibbet. That sho...'
jennie_minnie@ctrl-c.club~> 3
*** [3] On 2018-01-23T00:13:44Z, jimmy_foo@ctrl-c.club posted...-----------------
How do I spoo the fleem?
It's not in the docs and my boss is asking. Any help is appreciated!
---------------------------------------------------------------------------------
| === [M5] On 2018-01-31T05:59:27Z, jennie_minnie@ctrl-c.club replied...-------
| Simple, you just boondoggle the flibbertigibbet. That should be in the
| manual.
| -----------------------------------------------------------------------------
```
---
### [f]reshen
`freshen, f - Reload to get any new messages`
This command reloads all users' message files to get any new messages that might have come in since you started the program.
---
### reset OR clear
`reset, clear - Fix screen in case of text corruption`
This clears the screen and resets the cursor. If you experience screen corruption due to wide characters or terminal resizing, this may fix your visual issues.
---
### [i]nfo
`info, i - Display Iris version and message stats`
This outputs the current version of Iris, along with messsage, topic, and author counts.
```
jennie_minnie@ctrl-c.club~> info
Iris 1.0.7
13 topics, 0 unread.
50 messages, 0 unread.
10 authors.
```
---
### [h]elp
`help, h, ? - Display help text`
This displays helpful reminders of the commands that Iris supports.
## Command-line Options
There are a few options you can pass in from the command-line:
* [--version, -v](#--version-v)
* [--stats, -s](#--stats-s)
* [--interactive, -i](#--interactive-i)
* [--dump, -d](#--dump-d)
* [--help, -h](#--help-h)
### --version/-v
This displays the current version of Iris and exits.
```
iris --version
```
```
Iris 1.0.7
```
---
### --stats/-s
This outputs the current version of Iris, along with messsage, topic, and author counts.
This command does not enter Iris' interactive mode.
```
iris --stats
```
```
Iris 1.0.7
13 topics, 0 unread.
50 messages, 0 unread.
10 authors.
```
---
### --interactive/-i
This command enters Iris' interactive mode, the default mode with which users can compose and read topics and replies.
This is the mode that Iris enters if no options are passed on the command-line.
---
### --dump/-d
This reads the entire message corpus and outputs it as a stream of JSON data, suitable for piping into a backup file, `jq` parser, or similar.
This command does not enter Iris' interactive mode.
---
### --help/-h
This command displays a complete list of options that Iris recognizes.
## Text Features/Markup
### Color
Iris supports 7 colors and 4 text features.
#### Colors
| Marker | Color |
|:------:|:--------|
| r | Red |
| g | Green |
| y | Yellow |
| b | Blue |
| m | Magenta |
| c | Cyan |
| w | White |
#### Text Features
| Marker | Feature |
|:------:|:-----------|
| n | Normal |
| i | Intense |
| u | Underlined |
| v | Reversed |
#### Markup
Colors and Text Features are applied by a simple markup. Surround the text you want colored with an opening curly brace (`{`), add some number of text modification markers (`riu`, for example), and `}`), and close with a closing curly brace (`}`).
For example, if you have the text:
```
The blue fox and the yellow dog
```
...and you wanted to color it appropriately, you would wrap the text "blue fox" and "yellow dog" like so:
```
The {b blue fox} and the {y yellow dog}
```
The result, in your final message, would look like:
![blue_fox_and_yellow_dog.png](docs/images/blue_fox_and_yellow_dog.png)
---
Text features can be added as well:
```
The {b blue fox} {u will} jump over the {y yellow dog}
```
![blue_fox_jumping.png](docs/images/blue_fox_jumping.png)
---
A color can be combined with multiple text features:
```
The {b blue fox} {riuv will} jump over the {y yellow dog}
```
![blue_fox_really_jumping.png](docs/images/blue_fox_really_jumping.png)
---
Marker order does not matter. These two statements are equivalent:
```
The {bv blue fox} {riuv will} jump over the {yi yellow dog}
The {vb blue fox} {uirv will} jump over the {iy yellow dog}
```
---
If you want to type a curly brace, preface it with a backslash (`\`):
```
No colors for me, please. I just want to \{ write: code \}
```
...yields:
```
No colors for me, please. I just want to { write: code }
```
---
#### Color and Text Feature Sample
![color_and_text_feature_sample.png](docs/images/color_and_text_feature_sample.png)
---
#### Caveats
Color and text feature markup cannot be nested. It won't break anything, but it will probably not look like you are expecting.
## Philosophy
Iris must:
* Be a single file
* There should be no specific directory structure or complicated setup required.
* Run a single file, answer one question, and you should be going with Iris!
* Not require administrator intervention to install
* Any user on a tilde, or with his or her own server, should be able to start using Iris just by running the file.
* Not require any other software to function
* No databases, web servers, GUIs, or frameworks are require to use Iris fully.
* Require only Ruby
* Not everybody uses Ruby or is familiar with the Ruby ecosystem.
* Installing gems and libraries can be a major hassle if you don't have admin access or if there are library version conflicts.
* Iris needs no extra gems or libraries to function.
* Be durable
* A user deleting or modifying his or her messages or message file should not break Iris.
* Deleted or edited messages should leave flags or placeholders for other users to know that other content was there before.
* The Iris client should expect that any message file could be missing, altered, or corrupted, and should handle those cases gracefully.
* Be portable
* All Iris files should be human-readable (and -editable, in a pinch)
* The use of the official Iris client should be optional for a user to manage his or her messages. A text editor should suffice.
* Other clients which follow the Iris file format should work seamlessly with the official Iris client.
* Be secure
* Message files should be owned and only editable by their author.
* Iris should warn the user if this is not the case.
* Be a teacher
* Code should be clean, well-organized, and readable.
* Be limited in scope
* The source code should not exceed 1,000 LOC
## Technical Bits
* [Conventions](#conventions)
* [Message Files](#message-files)
* [Messages](#messages)
* [Message Hash](#message-hash)
* [Bad Hashes](#bad-hashes)
* [Edit Chain](#edit-chain)
* [Deleted Messages](#deleted-messages)
* [Topic List](#topic-list)
* [Replies](#replies)
### Conventions
Iris leans heavily on convention. Iris' security and message authentication is provided by filesystem permissions and message hashing.
### Message Files
Each user has their own message file. This is a JSON file containing all the messages that the user has authored. It is named `.iris.messages` and is located in the user's home directory.
`/home/jimmy_foo/.iris.messages`
In order to operate correctly and safely, this file _must_ be:
* World-readable
* Owner-writable
* Non-executable
* Owned by the user account that will be storing messages for
```
%> ls -la ~/.iris.messages
-rw-r--r-- 1 jimmy_foo jimmy_foo /home/jimmy_foo/.iris.messages
```
### Messages
#### Message Hash
##### Bad Hashes
#### Edit Chain
#### Deleted Messages
### Topic List
###Replies
## License
GPLv2

9
wiki/system/main.md Normal file
View File

@ -0,0 +1,9 @@
# List of System Generated Pages
These documents are autogenerated from our man pages, and various readmes used here on thunix.
* [ansible](/wiki/system/ansible)
* [chat](/wiki/system/chat)
* [thunix](/wiki/system/thunix)
* [tildegit.org](/wiki/system/tildegit.org)
* [iris](/wiki/system/iris)

120
wiki/system/thunix.md Normal file
View File

@ -0,0 +1,120 @@
man(8) Thunix man(8)
NAME Thunix - a public Linux server
SYNOPSIS ssh thunix.net
ADMINISTRATORS List of system adminstrators are:
* amcclure - Email: amcclure@thunix.net
IRC: amcclure/irc.tilde.chat, amcclure/irc.freenode.net
* naglfar - Email: naglfar@thunix.net
IRC: Naglfar/irc.tilde.chat, Naglfar/irc.freenode.net
* ubergeek - Email: ubergeek@thunix.net, ubergeek@yourtilde.com
- IRC: ubergeek/irc.tilde.chat, ub3g33k/irc.freenode.net
* fosslinux - Email: fosslinux@thunix.net
- IRC: fosslinux/irc.tilde.chat
DESCRIPTION Thunix is a publicly accesible Linux server, running Debian
9, and managed using ansible playbooks.
There are many optional things to do on Thunix. There is IRC chat availble with the weechat client. Most build tools are available to you as well, to include
git, make, gcc, go, python, and perl. Mail facilties are also available for you to use via alpine, mutt, or even mailx.
To enter chat, just type 'chat' and hit enter. You'll be dropped into the #thunix chat room on the irc.tilde.chat network.
You should create an account at tildegit.org, where Thunix's git repos are hosted, to include the system configuration definition files.
Ansible is the tool we use to configure the systems that comprise Thunix. Git and ansible are two tools your should familiarize yourself with.
Purpose The goal of Thunix is to be an open and collaborative
environment, conducive to learning the principles of \*Nix operating
systems, regarding how they work, how to administer them, how to use
them, and how to collaborate using them.
Thunix tries to adhere to the values and philosophy of the Hacker Ethic whenever possible. The hacker ethics and beliefs as described by Levy are:
* Access to computers - and anything which might teach you something about the way the world works - should be unlimited and total. Always yield to the
Hands-On Imperative!
* All information should be free
* Mistrust authority - promote decentralization
* Hackers should be judged by their hacking, not criteria such as degrees, age, race, sex, or position
* You can create art and beauty on a computer
* Computers can change your life for the better
Thunix will never use proprietary software but users can do that if they wish. This is something they should avoid however.
Terms of Service Nothing is without its rules and regulations; thunix is
no exception. Below are the site's service terms. Everything in this
page should be clear to everyone who wishes to use thunix's services;
failure to abide by these terms can result in penalties such as service
bans and may result in legal action against any offending users,
depending on the severity of each case and any other individuals who may
have been affected. Thunix may conduct investigations on any suspected
violations, and we will cooperate with law enforcement agencies with
their investigations. Be sure to read this page carefully and understand
it.
You are responsibe for checking your local mail account from time to time. This email address is the only one we retain, and as such, any warnings and notices
regarding your account, or service status will be sent to this account.
* Deliberately defacing the accounts of other users
* Deliberately trying to disrupt thunix's server
* Using thunix as a launch pad for disrupting other servers
* Using thunix to impersonate other websites and businesses for criminal purposes
* Storing/distributing pornography of any genre and medium (especially child pornography)
* Storing/distributing content that defames any individual
* Promoting racial, ethnic, religious, political and other forms of bigotry
* Storing/distributing, promoting, or encouraging use of pirated/cracked software, license keys, license/registration circumvention programs, or any ques
tionable programs/scripts that can risk causing unauthorized modifications, or disrupts network services for any programs or devices.
* Mining cryptocurrencies
* Spamming on any forums, mailing lists, irc channels, newsgroups, etc.
* Leaking or publishing any user's or individual's personal information without that person's consent.
Copyright infringement is not allowed on thunix, and we will not allow any illegal content to be distributed. It's also expected that all users respect the copy
rights of those who produce original content of any kind and only share if the author or license grants you permission. Content hosted on accounts used for exter
nal file storage must also follow copyright law.
If you want to request for content you own the copyright for to be removed from thunix, please refer to our abuse reporting page (https://www.thu
nix.net/abuse.php). In the email, please identify who you are, if you are the copyright holder or legally representing them, the exact files you want removed with
links to the files and infringed content, and contact information such as phone numbers or a reply-to email address.
Users that repeatedly violate the Terms of Service will have their account removed. Depending on the degree of the offense, their account may be removed immedi
ately. These terms also apply to communication services such as forums, mailing lists, irc channels, newsgroups, and any other service either hosted on or used
for thunix. If you come across anything that violates the terms of service, please let us know with the abuse reporting page (https://www.thunix.net/abuse.php).
Architecture The Thunix system consists of one server, running Debian 9,
which runs inside of an LXD container. This allows for an out-of-band
administration of the host, in case of configuration-gone-awry.
Hourly, thunix reaches out to tildegit, pull down the latest version of the configuration, and run the configuration tool, ensuring it is in a known, and easily
replicable state.
All repos for system configuration, Thunix-supplied/ran code is hosted on tildegit.org. Thunix users are recommended to create accounts on tildegit, and contrib
ute pull requests to make their desired changes to the system, or very minimally, submit issues for problems and/or requests.
SEE ALSO ssh(8), weechat(8), git(8), make(8), gcc(8), go(8), python(8),
perl(8), alpine(8), mutt(8), mailx(8), ansible-playbook(8),
tildegit.org(8)
AUTHOR Uber Geek (ubergeek@thunix.net) amcclure (amcclure@thunix.net)
1.5 24 May 2019 man(8)

View File

@ -0,0 +1,29 @@
man(8) tildegit.org" man(8)
NAME tildegit.org - a public web based source repository for the
tildeverse
SYNOPSIS https://tildegit.org
DESCRIPTION Tildegit is a web based source control system available for
the tildeverse, that runs gitea. Thunix uses tildegit.org for all source
control.
The following git repos are used:
* ansible (https://tildegit.org/thunix/ansible) This repo stores the configuration spec for all machines comprising Thunix. The repo consists of declarative YAML
files that describes the state the machines should be in.
* www (https://tildegit.org/thunix/www) This repo stores the source code that makes up the https:/thunix.net website. It's mostly php.
* documentation (https://tildegit.org/thunix/documentation) This repo stores the man pages, and accompanying documentation for the system.
* thunix_gopher (https://tildegit.org/thunix/thunix_gopher) This repo houses our gopher hole
SEE ALSO git(8), ansible(8)
BUGS No known bugs.
AUTHOR Uber Geek (ubergeek@thunix.net)
1.2 24 May 2019 man(8)

View File

@ -0,0 +1 @@
# WIP

View File

@ -0,0 +1 @@
# WIP

View File

@ -0,0 +1 @@
# WIP

View File

@ -0,0 +1 @@
# WIP

6
wiki/unsorted/main.md Normal file
View File

@ -0,0 +1,6 @@
# Unsorted Wiki Pages
* ubergeek
* [Don't Say Hello](/wiki/unsorted/ubergeek/nohello)
* [Don't Be Impatient](/wiki/unsorted/ubergeek/impatient)
* [Don't Ask to Ask](/wiki/unsorted/ubergeek/askingtoask)

View File

@ -0,0 +1,28 @@
# Don't Ask to Ask
Don't ask to ask a question in [chat](/wiki/system/chat), or on [iris](/wiki/iris). Just ask your question!
Asking to ask is pointless. Either someone will answer your question, or they wont. Corollary: [Don't be Impatient](/wiki/unsorted/ubergeek/impatient). Sometimes, people are busy, and might take more than 10 seconds to respond.
Bad Convo Example:
```
9:00 You: Can I get some help with something?
... waiting ...
9:10 You: can I get someone to help me?
9:15 ubergeek: My bad, I was busy... What do you need?
9:18 You: My foo isn't bar'ing! And I have no idea what to do.
9:19 ubergeek: Oh, you have to flim the flam, and then foo will bar.
```
Good Convo Example:
```
9:00 You: I need some help, my foo isn't bar'ing. Anyone to lend a hand?
9:15 ubergeek: Sorry, was busy. But you need to flim the flam, then your foo will bar.
9:16 You: Thanks! I owe you a beer!
```
In bad convo, your resolution took longer, and you likely irritated ubergeek by being impatient. In Good Convo, your problem was resolved a bit quicker, and ubergeek was happy to help!
PS [Ubergeek](https://thunix.net/~ubergeek) is happy to help, regardless.

View File

@ -0,0 +1,9 @@
# Don't Be Impatient
Being impatient in getting help on Thunix will score you no points at all in credibility... For a few reasons:
* Thunix is ran by an all-volunteer team. We don't get paid to do this. We get some donations, but usually, not even enough to break even.
* Thunix is self-documented, generally (If it's not, it's a bug, and an issue should be submitted [here](https://tildegit.org/thunix/documentation) or a new wiki page made [here](https://tildegit.org/thunix/wiki).
* Thunix is maintained by a set of automation scripts. If something isn't working, a PR [here](https://tildegit.org/thunix/ansible) can be done, to fix the problem.
So, if you ask a question in [#thunix](https://web.tilde.chat/?join=thunix), be patient. There's generally not a lot of chatter, and it just takes a bit to catch up. If it's been "too long", feel free to open an issue in [the pertinent repo](https://tildegit.org/thunix) or email the admin team at root at thunix.net.

View File

@ -0,0 +1,36 @@
# Don't Just Say 'Hello' In Chat
For another article about this, see [nohello.com](http://nohello.com).
Just saying "Hello", and nothing else in a chat room is just as bad as [asking to ask](askingtoask). Just saying "Hello" does two kinda bad things:
* Interrupts the person you're asking.
* The person you're interrupting is likely in the middle of something. A chat client "pings" them, and they go to check (Stopping what they are doing).
* If you just say,"Hello", you've given them no information, and thusly, interrupted them needlessly.
* It wastes time to resolution for your problem
* If you say,"Hello", you wait 30-60 seconds, for the other person to say "Hi back". Then they spend 30-60 seconds waiting for you to say what it is you need. That's 60 second to 120 seconds to even begin researching the answer.
* If instead, you say,"Hello, I have a problem with my key. Here is the pastebin for it, can you check, please?", instantly that person has all the info to begin answering your question. We saved 60-120 seconds of everyone's time!
Example of bad convo:
```
9:00 Person 1: Hi.
9:01 Person 2: Hai back!
9:02 Person 1: I have a problem with my key? Can you check on it?
9:03 Person 2: Sure!
9:04 Person 2: All fixed!
9:05 Person 1: Yep, looks good! Thanks a bunch!
```
Example of good convo:
```
9:00 Person 1: Hi, I have an issue with my key, can you check on it? Here is what I think it is: pastebinurls.com/XYZZY
9:01 Person 2: Sure, hang on a sec...
9:01 Person 2: All fixed! Give it a try!
9:02 Person 1 Yep, all good, thanks a bunch!
```
In Bad Convo, it took 5 minutes to resolution. In Good Convo, took 2 minutes. See why it's better?
It very well seems rude, because you don't just jam a person up with a question right when you see them face-to-face. But face-to-face convos have a lot of nuance to them, that is lacking in IRC. And, while maybe rude, it allows for asynchronous communication, whereas Bad Convo demands a serialized communication. Asynch is better :)