Signed-off-by: keyboardan <keyboardan@tilde.club>

This commit is contained in:
keyboardan
2026-07-28 19:36:21 +00:00
committed by deepend
parent 5fd93ce40f
commit 88e1e38d1f
32 changed files with 309 additions and 337 deletions

View File

@@ -8,14 +8,14 @@ category: tutorials
To get started, run the following command: To get started, run the following command:
setup-2fa setup-2fa
Allow the command to update your Two-Factor Authentication. After running the Allow the command to update your Two-Factor Authentication. After running the
command, youll be asked a couple of questions, the first one being: command, youll be asked a couple of questions, the first one being:
This one you need to answer 'yes'(y). This one you need to answer 'yes'(y).
Do you want authentication tokens to be time-based (y/n) Do you want authentication tokens to be time-based (y/n)
Youll then be presented with a secret key and multiple “scratch codes”. Youll then be presented with a secret key and multiple “scratch codes”.
We strongly suggest saving these emergency scratch codes in a safe place, We strongly suggest saving these emergency scratch codes in a safe place,
like a password manager. These codes are the only way to regain access if like a password manager. These codes are the only way to regain access if
@@ -25,55 +25,53 @@ only be used once, so they really are in case of emergency.
Youll then be prompted with several questions, The choices are all Youll then be prompted with several questions, The choices are all
about balancing security with ease-of-use. It begins with: about balancing security with ease-of-use. It begins with:
Do you want me to update your "~/.google_authenticator" file (y/n) Do you want me to update your "~/.google_authenticator" file (y/n)
You will need to answer 'yes'(y) for two-factor authentication to work with your login. You will need to answer 'yes'(y) for two-factor authentication to work with your login.
Next question we also suggest answering yes to prevent a replay attack: Next question we also suggest answering yes to prevent a replay attack:
Do you want to disallow multiple uses of the same authentication Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it token? This restricts you to one login about every 30s, but it
increases your chances to notice or even prevent increases your chances to notice or even prevent
man-in-the-middle attacks (y/n) man-in-the-middle attacks (y/n)
For security reasons we strongly suggest answering 'no'(n) to this next question: For security reasons we strongly suggest answering 'no'(n) to this next question:
By default, tokens are good for 30 seconds and in order to By default, tokens are good for 30 seconds and in order to
compensate for possible time-skew between the client and the server, compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. If you we allow an extra token before and after the current time. If you
experience problems with poor time synchronization, you can increase experience problems with poor time synchronization, you can increase
the window from its default size of 1:30min to about 4min. the window from its default size of 1:30min to about 4min.
Do you want to do so (y/n) Do you want to do so (y/n)
On the next question we suggest answering 'yes'(y) since rate-limiting On the next question we suggest answering 'yes'(y) since rate-limiting
means that a remote attacker can only attempt a certain number of guesses means that a remote attacker can only attempt a certain number of guesses
before being blocked. before being blocked.
If the computer that you are logging into isn't hardened against If the computer that you are logging into isn't hardened against
brute-force login attempts, you can enable rate-limiting for the brute-force login attempts, you can enable rate-limiting for the
authentication module. By default, this limits attackers to no more authentication module. By default, this limits attackers to no more
than 3 login attempts every 30s. than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) Do you want to enable rate-limiting (y/n)
Now you're configured. You can now login without an SSH key. Make sure you Now you're configured. You can now login without an SSH key. Make sure you
know your account password because login using two-factor authentication will know your account password because login using two-factor authentication will
still require your password before letting you in. still require your password before letting you in.
# Two-Factor Authentication (2FA) on Tilde.Club Webmail # Two-Factor Authentication (2FA) on Tilde.Club Webmail
You can now enable 2FA in our webmail that is offered to users. You can now enable 2FA in our webmail that is offered to users.
1. Log into the RainLoop user interface at: 1. Log into the RainLoop user interface at:
[https://webmail.tilde.club](https://webmail.tilde.club) [https://webmail.tilde.club](https://webmail.tilde.club)
2. After your logged in you can go directly to: 2. After your logged in you can go directly to:
[https://webmail.tilde.club/#/settings/security](https://webmail.tilde.club/#/settings/security) [https://webmail.tilde.club/#/settings/security](https://webmail.tilde.club/#/settings/security)
3. There should be a link titled "Configurate 2-Step Authentication". 3. There should be a link titled "Configurate 2-Step Authentication".
Click it, and click the Activate button that appears. Click it, and click the Activate button that appears.
# 2FA Mobile Applications # 2FA Mobile Applications

View File

@@ -1,12 +1,11 @@
--- ---
title: bashblog (blog platform) title: bashblog (blog platform)
author: author:
- deepend - deepend
- benharri - benharri
category: software category: software
--- ---
## Usage ## Usage
1. To show the available commands type `bb` 1. To show the available commands type `bb`
@@ -27,7 +26,6 @@ The script will handle the rest.
When youre done, access the public URL for that folder (https://tilde.club/~username/blog) and you should see the index file and a new page for that post! When youre done, access the public URL for that folder (https://tilde.club/~username/blog) and you should see the index file and a new page for that post!
## advanced ## advanced
edit the `.config` file to change the name and url and other settings for your blog edit the `.config` file to change the name and url and other settings for your blog

View File

@@ -154,10 +154,10 @@ would be noted in each example.
#!/usr/bin/awk -E #!/usr/bin/awk -E
BEGIN { BEGIN {
print "Status: 200" print "Status: 200"
print "Content-Type: text/plain" print "Content-Type: text/plain"
print print
print "Hello World!" print "Hello World!"
} }
- Lua - Lua
(also works with <q><samp>.lua</samp></q> extension): (also works with <q><samp>.lua</samp></q> extension):
@@ -178,10 +178,10 @@ would be noted in each example.
#!/usr/bin/sbcl --script #!/usr/bin/sbcl --script
(progn (progn
(princ "Status: 200") (terpri) (princ "Status: 200") (terpri)
(princ "Content-Type: text/plain") (terpri) (princ "Content-Type: text/plain") (terpri)
(terpri) (terpri)
(princ "Hello World!") (terpri) (princ "Hello World!") (terpri)
) )
Pick the language you like, Pick the language you like,
@@ -214,25 +214,25 @@ Output of your CGI programs is expected to have two parts:
will be treated as HTTP response headers fields: will be treated as HTTP response headers fields:
- The only exception is the <q>`Status:`</q> pseudo-header, - The only exception is the <q>`Status:`</q> pseudo-header,
which will not be output as a real response header, which will not be output as a real response header,
but its value will be rather used as HTTP status code of the response. but its value will be rather used as HTTP status code of the response.
- When <q>`Status:`</q> pseudo-header is omitted, - When <q>`Status:`</q> pseudo-header is omitted,
the HTTP status code of your response would be 200. the HTTP status code of your response would be 200.
- Your program ought **NOT** to output this as a real HTTP response line - Your program ought **NOT** to output this as a real HTTP response line
(<q>`HTTP/1.0 200 OK`</q> and suchlike). (<q>`HTTP/1.0 200 OK`</q> and suchlike).
Doing so is off-spec; Doing so is off-spec;
and while some servers handle this okay, and while some servers handle this okay,
Tilde.club doesn't. Tilde.club doesn't.
- You **MUST** output <q>`Content-Type:`</q> header; - You **MUST** output <q>`Content-Type:`</q> header;
or else the server would reject your program's output or else the server would reject your program's output
and give HTTP 502 error to the client instead. and give HTTP 502 error to the client instead.
- A blank line ends the headers section. - A blank line ends the headers section.
- You should output headers - You should output headers
(including the blank line terminating the headers) (including the blank line terminating the headers)
in platform's native line ending, in platform's native line ending,
which is LF in case of Tilde.club and other GNU/Linux hosts; which is LF in case of Tilde.club and other GNU/Linux hosts;
but in practice, but in practice,
CR/LF is accepted as well. CR/LF is accepted as well.
1. And what you output after the first blank line 1. And what you output after the first blank line
is your response body (i.e. content). is your response body (i.e. content).
@@ -269,9 +269,9 @@ in the environment variables:
would be passed to your CGI program would be passed to your CGI program
as the value of environment variable `QUERY_STRING`. as the value of environment variable `QUERY_STRING`.
- This variable will always be present. - This variable will always be present.
If the request URI had no <q>`?`</q>, If the request URI had no <q>`?`</q>,
or there was nothing after <q>`?`</q>; or there was nothing after <q>`?`</q>;
the value would be empty. the value would be empty.
- Each request headers field's name would be converted to uppercase, - Each request headers field's name would be converted to uppercase,
prepended with <q>`HTTP_`</q>, prepended with <q>`HTTP_`</q>,
and set as environment variable and set as environment variable
@@ -327,7 +327,7 @@ but are set for CGI programs in Tilde.club:
checking for `HTTPS` value <q>`on`</q> is to be used checking for `HTTPS` value <q>`on`</q> is to be used
if you expect your CGI program to be portable to Apache HTTP Server. if you expect your CGI program to be portable to Apache HTTP Server.
- This can be used for ensuring a correct version of Atom or RSS feed - This can be used for ensuring a correct version of Atom or RSS feed
got served on a right protocol. got served on a right protocol.
Program Execution Program Execution
----------------- -----------------

View File

@@ -1,12 +1,11 @@
--- ---
title: code of conduct title: code of conduct
author: benharri author: benharri
category: tilde.club category: tilde.club
--- ---
> **tl;dr** learn by doing and helping. be excellent to each other. have fun! > **tl;dr** learn by doing and helping. be excellent to each other. have fun!
## 1. purpose ## 1. purpose
a primary goal of Tilde.club is to be inclusive to the largest number of a primary goal of Tilde.club is to be inclusive to the largest number of
@@ -20,7 +19,6 @@ in our community, as well as the consequences for unacceptable behavior.
we invite all those who participate in Tilde.club to help us create safe we invite all those who participate in Tilde.club to help us create safe
and positive experiences for everyone. and positive experiences for everyone.
## 2. Tilde.club mission ## 2. Tilde.club mission
**tilde.club exists to foster an engaged community for socializing, learning, **tilde.club exists to foster an engaged community for socializing, learning,
@@ -34,39 +32,36 @@ to that end, Tilde.club strives to be a radically inclusive community where
people of all backgrounds and all technological experience levels can come people of all backgrounds and all technological experience levels can come
together to learn, to teach, and to delight in one another's creations. together to learn, to teach, and to delight in one another's creations.
## 3. expected behavior ## 3. expected behavior
the following behaviors are expected and requested of all community members: the following behaviors are expected and requested of all community members:
* participate in an authentic and active way. in doing so, you contribute * participate in an authentic and active way. in doing so, you contribute
to the health and longevity of this community. to the health and longevity of this community.
* exercise consideration and * exercise consideration and
respect in your speech and actions. respect in your speech and actions.
* attempt collaboration before conflict. * attempt collaboration before conflict.
* refrain from demeaning, discriminatory, or harassing behavior and speech. * refrain from demeaning, discriminatory, or harassing behavior and speech.
* be mindful of your surroundings and of your fellow participants. * be mindful of your surroundings and of your fellow participants.
* teach when people need help. don't do it for them. * teach when people need help. don't do it for them.
## 4. unacceptable behavior ## 4. unacceptable behavior
the following behaviors are considered harassment and are unacceptable within the following behaviors are considered harassment and are unacceptable within
our community: our community:
* violence, threats of violence or violent language directed against another * violence, threats of violence or violent language directed against another
person. person.
* sexist, racist, homophobic, transphobic, ableist or otherwise * sexist, racist, homophobic, transphobic, ableist or otherwise
discriminatory jokes and language. discriminatory jokes and language.
* posting or displaying sexually explicit or violent material. * posting or displaying sexually explicit or violent material.
* posting or threatening to post other people's personally identifying * posting or threatening to post other people's personally identifying
information ("doxing"). information ("doxing").
* personal insults, particularly those related to gender, sexual orientation, * personal insults, particularly those related to gender, sexual orientation,
race, religion, or disability. race, religion, or disability.
* unwelcome sexual attention. this includes sexualized comments or jokes. * unwelcome sexual attention. this includes sexualized comments or jokes.
* deliberate intimidation, stalking or following. * deliberate intimidation, stalking or following.
## 5. consequences of unacceptable behavior ## 5. consequences of unacceptable behavior
unacceptable behavior from any community member, including sponsors and unacceptable behavior from any community member, including sponsors and
@@ -79,7 +74,6 @@ organizers may take any action they deem appropriate, up to and including
a temporary ban or permanent expulsion from Tilde.club without warning a temporary ban or permanent expulsion from Tilde.club without warning
(meaning your account will be terminated and all user data deleted). (meaning your account will be terminated and all user data deleted).
## 6. reporting guidelines ## 6. reporting guidelines
if you are subject to or witness unacceptable behavior, or have any other if you are subject to or witness unacceptable behavior, or have any other
@@ -87,22 +81,19 @@ concerns, please contact an admin (see info below).
additionally, help engaging with law enforcement is available. additionally, help engaging with law enforcement is available.
## 7. addressing grievances ## 7. addressing grievances
if you feel you have been falsely or unfairly accused of violating this if you feel you have been falsely or unfairly accused of violating this
code of conduct, use the contact info below to send a concise description code of conduct, use the contact info below to send a concise description
of your grievance. of your grievance.
## 8. scope ## 8. scope
we expect all Tilde.club members to abide by this code of conduct while: we expect all Tilde.club members to abide by this code of conduct while:
* engaging with other members * engaging with other members
* publishing content on Tilde.club * publishing content on Tilde.club
## 9. contact info ## 9. contact info
Tilde.club admins: Tilde.club admins:
@@ -111,14 +102,13 @@ you can also send a mail to [root@tilde.club](mailto:root@tilde.club) to
make sure we all get it. make sure we all get it.
* [benharri](https://tilde.club/~benharri/): * [benharri](https://tilde.club/~benharri/):
- [benharri@tilde.club](mailto:benharri@tilde.club) - [benharri@tilde.club](mailto:benharri@tilde.club)
- on irc `/query - on irc `/query
ben hello` ben hello`
* [deepend](https://tilde.club/~deepend/): * [deepend](https://tilde.club/~deepend/):
- [deepend@tilde.club](mailto:deepend@tilde.club) - [deepend@tilde.club](mailto:deepend@tilde.club)
- on irc `/query deepend hello` - on irc `/query deepend hello`
## 10. license and attribution ## 10. license and attribution
this code of conduct is based on this code of conduct is based on
@@ -126,4 +116,3 @@ this code of conduct is based on
and [tilde.town coc](http://tilde.town/wiki/conduct.html) and [tilde.town coc](http://tilde.town/wiki/conduct.html)
under the terms of the [creative commons attribution-sharealike under the terms of the [creative commons attribution-sharealike
license](http://creativecommons.org/licenses/by-sa/3.0/). license](http://creativecommons.org/licenses/by-sa/3.0/).

View File

@@ -5,4 +5,4 @@ category: software
--- ---
connect to [crawl.tildeverse.org](https://crawl.tildeverse.org) to play dungeon connect to [crawl.tildeverse.org](https://crawl.tildeverse.org) to play dungeon
crawl stone soup, a roguelike game with leaderboards and the ability to crawl stone soup, a roguelike game with leaderboards and the ability to
spectate other players. Also available with full images on the web! spectate other players. Also available with full images on the web!

View File

@@ -21,13 +21,13 @@ These are currently the methods you can donate financially to Tilde.club. (All m
[![Github Sponsors](https://img.shields.io/badge/GitHub%20Sponsors-30363D?&logo=GitHub-Sponsors&logoColor=EA4AAA)](https://github.com/sponsors/tildeclub) [![Github Sponsors](https://img.shields.io/badge/GitHub%20Sponsors-30363D?&logo=GitHub-Sponsors&logoColor=EA4AAA)](https://github.com/sponsors/tildeclub)
[Web Hosting Canada](https://clients.whc.ca/aff.php?aff=7560) Buying any service/domain helps Tilde.club. [Web Hosting Canada](https://clients.whc.ca/aff.php?aff=7560) Buying any service/domain helps Tilde.club.
**NOTE: Please E-Mail root@tilde.club to notify that you have donated so we can add you to the gold star supporters list. **NOTE: Please E-Mail root@tilde.club to notify that you have donated so we can add you to the gold star supporters list.
## Be Involved! ## Be Involved!
Best thing to do is be involved in the community. Best thing to do is be involved in the community.
Eg. Create a PR on Tilde.club's github, Chat on IRC, create awesome webpages, Eg. Create a PR on Tilde.club's github, Chat on IRC, create awesome webpages,
develop software using the many tools available to you on Tilde.club. develop software using the many tools available to you on Tilde.club.
Tilde.club does cost money to run, however it all makes it worth it if the community is active and enjoying what we offer. Tilde.club does cost money to run, however it all makes it worth it if the community is active and enjoying what we offer.

View File

@@ -20,4 +20,3 @@ Note: If at any time you feel you made a mistake in editing, you can exit and n
There's more info here about the nano editor; if you're familiar with There's more info here about the nano editor; if you're familiar with
emacs or vim they are here too. emacs or vim they are here too.

View File

@@ -27,12 +27,12 @@ connection settings:
please remember to use only your tilde username as the login name, excluding the `@tilde.club`; for example `invalid` instead of `invalid@tilde.club` please remember to use only your tilde username as the login name, excluding the `@tilde.club`; for example `invalid` instead of `invalid@tilde.club`
if you'd like your @tilde.club mail forwarded elsewhere, you can put an email if you'd like your @tilde.club mail forwarded elsewhere, you can put an email
address in a file called `~/.forward` address in a file called `~/.forward`
## sieve filtering ## sieve filtering
our dovecot configuration supports [sieve](http://sieve.info/) and our dovecot configuration supports [sieve](http://sieve.info/) and
[managesieve](https://wiki1.dovecot.org/ManageSieve). [managesieve](https://wiki1.dovecot.org/ManageSieve).
this means that you should put your scripts in a `~/sieve/` directory, this means that you should put your scripts in a `~/sieve/` directory,
@@ -50,7 +50,7 @@ https://webmail.tilde.club/#/settings/filters) to configure your filters.
we now have an official mailing list! we now have an official mailing list!
if your account is old (pre sept 2019), you should be subscribed with the email if your account is old (pre sept 2019), you should be subscribed with the email
you originally signed up with. if your account is newer (post sept 2019), then you originally signed up with. if your account is newer (post sept 2019), then
you should be subscribed with your @tilde.club address. if you don't fit either you should be subscribed with your @tilde.club address. if you don't fit either
of those categories, you can subscribe by visiting the [web portal]( of those categories, you can subscribe by visiting the [web portal](
https://lists.tildeverse.org/postorius/lists/tildeclub.lists.tildeverse.org/) https://lists.tildeverse.org/postorius/lists/tildeclub.lists.tildeverse.org/)
@@ -172,9 +172,9 @@ Tips:
when changing folder. when changing folder.
For example, For example,
use command: use command:
folder +.sent-mail folder +.sent-mail
to view the emails you have sent. to view the emails you have sent.
(See [mailbox format](#mailbox-format) (See [mailbox format](#mailbox-format)
below for the default folders available) below for the default folders available)

View File

@@ -7,5 +7,3 @@ category: tutorials
All users can now setup their own custom 404 error page. Just add a file named `404.html` in `~/public_html` All users can now setup their own custom 404 error page. Just add a file named `404.html` in `~/public_html`
An example of one user's custom 404: [~benharri](http://tilde.club/~benharri/not_here). An example of one user's custom 404: [~benharri](http://tilde.club/~benharri/not_here).

View File

@@ -4,15 +4,15 @@ author: ford (updated by deepend)
category: tilde.club category: tilde.club
--- ---
_______________________________________ _______________________________________
/ WELCOME TO TILDE.CLUB A place for web \ / WELCOME TO TILDE.CLUB A place for web \
\ pages / \ pages /
--------------------------------------- ---------------------------------------
\ ^__^ \ ^__^
\ (oo)\_______ \ (oo)\_______
(__)\ )\/\ (__)\ )\/\
||----w | ||----w |
|| || || ||
Looking to join? We can\'t wait to meet you! Looking to join? We can\'t wait to meet you!
-------------------------------------------- --------------------------------------------
@@ -39,7 +39,7 @@ new to all of this. In the meantime\...
- DON\'T HACK THE GIBSON. - DON\'T HACK THE GIBSON.
- no drama. be respectful. have fun. we\'re all trying, and we\'re all - no drama. be respectful. have fun. we\'re all trying, and we\'re all
in this together :) in this together :)
Got it, don\'t be a jerk. But how do I, like, do things? Got it, don\'t be a jerk. But how do I, like, do things?
-------------------------------------------------------- --------------------------------------------------------
@@ -47,11 +47,11 @@ Got it, don\'t be a jerk. But how do I, like, do things?
Here are some good places to start Here are some good places to start
- [the unofficial official tilde - [the unofficial official tilde
primer](http://tilde.club/~anthonydpaul/primer.html) primer](http://tilde.club/~anthonydpaul/primer.html)
- [some more quick - [some more quick
tips](http://tilde.club/~pfhawkins/tipsntricks.html) tips](http://tilde.club/~pfhawkins/tipsntricks.html)
- [how do I usenet in - [how do I usenet in
Tilde.club](http://tilde.club/wiki/usenet-news.html)? Tilde.club](http://tilde.club/wiki/usenet-news.html)?
- [help me understand \'screen\'](http://tilde.club/~jonathan/screen/) - [help me understand \'screen\'](http://tilde.club/~jonathan/screen/)
Who are all these folks and what are they up to? Who are all these folks and what are they up to?
@@ -59,9 +59,9 @@ Who are all these folks and what are they up to?
- [tell me some lore](http://tilde.club/~joeld/tildelore.html)? - [tell me some lore](http://tilde.club/~joeld/tildelore.html)?
- [who is online right - [who is online right
now](http://tilde.club/~whitneymcn/whoville.shtml)? now](http://tilde.club/~whitneymcn/whoville.shtml)?
- [who updated their websites - [who updated their websites
recently](http://tilde.club/tilde.24h.php)? recently](http://tilde.club/tilde.24h.php)?
- [can you give me a blogroll](http://tilde.club/~_/)? - [can you give me a blogroll](http://tilde.club/~_/)?
Disk Quotas Now Enforced Disk Quotas Now Enforced
@@ -111,7 +111,7 @@ TIL-dee.
We can\'t wait to meet you. Seriously. We can\'t wait to meet you. Seriously.
__ .' '. __ .' '.
_/__) . . . _/__) . . .
(8|)_}}- . . . (8|)_}}- . . .
`\__) '. . ' ' . . ' `\__) '. . ' ' . . '

View File

@@ -28,8 +28,8 @@ Tilde.club account. Use the email address that you used to create your
GitHub account. You can register multiple accounts with GitHub if GitHub account. You can register multiple accounts with GitHub if
needed. needed.
git config --global user.name "Your Name Here" git config --global user.name "Your Name Here"
git config --global user.email youremail@example.org git config --global user.email youremail@example.org
You will also want to create a `.gitignore` file. This file defines what You will also want to create a `.gitignore` file. This file defines what
things you want git to ignore, such as editor temporary files or things you want git to ignore, such as editor temporary files or
@@ -40,13 +40,13 @@ project directory.
Here is an example `.gitignore` file: Here is an example `.gitignore` file:
# files being edited # files being edited
*~ *~
*swp *swp
# Generated files # Generated files
tilde_graphs tilde_graphs
# Private files # Private files
diary.txt diary.txt
Now go create a repository on GitHub. In our examples we are using Now go create a repository on GitHub. In our examples we are using
mytildeweb as the repo name, but you can choose whatever name works for mytildeweb as the repo name, but you can choose whatever name works for
@@ -55,22 +55,22 @@ with the proper one.
Now we should be ready to create and upload the repository. Now we should be ready to create and upload the repository.
cd public_html/ cd public_html/
# This will initialize public_html as a repository # This will initialize public_html as a repository
git init git init
# Adds all files to the repo. "." means "the current directory" (public_html, in this case) # Adds all files to the repo. "." means "the current directory" (public_html, in this case)
# Note: you can also add files one at a time # Note: you can also add files one at a time
git add . git add .
# Commits files to local repo # Commits files to local repo
git commit -m "first commit of tildeweb" git commit -m "first commit of tildeweb"
# Tells git where your remote repo is # Tells git where your remote repo is
git remote add origin https://github.com/<yourgithubuser>/mytildeweb.git git remote add origin https://github.com/<yourgithubuser>/mytildeweb.git
# Uploads to the remote repo # Uploads to the remote repo
git push -u origin master git push -u origin master
Your files should now be on GitHub. If you make a change and you want to Your files should now be on GitHub. If you make a change and you want to
update, do the following after making your edits: update, do the following after making your edits:
git add index.html git add index.html
git commit -m "updated blog" git commit -m "updated blog"
git push origin master git push origin master

View File

@@ -26,7 +26,7 @@ A simple, shared guestbook hosted at **guestbook.tilde.club** that you can link
```html ```html
<a href="https://guestbook.tilde.club/index.php?user=<your_username>&theme=default"> <a href="https://guestbook.tilde.club/index.php?user=<your_username>&theme=default">
Sign my guestbook Sign my guestbook
</a> </a>
``` ```
@@ -70,7 +70,7 @@ When you pass a `theme`, **only your CSS is loaded** (the default stylesheet is
* Make sure the link is on `https://tilde.club/~<your_username>/...` (not just the domain root). * Make sure the link is on `https://tilde.club/~<your_username>/...` (not just the domain root).
* Check that browser extensions or privacy settings arent stripping referrers. * Check that browser extensions or privacy settings arent stripping referrers.
* On Firefox: Make sure in your about:config that `network.http.referer.XOriginTrimmingPolicy` is set to 0. * On Firefox: Make sure in your about:config that `network.http.referer.XOriginTrimmingPolicy` is set to 0.
* The error page will display what referrer was received and the expected pattern. * The error page will display what referrer was received and the expected pattern.
## Example links ## Example links

View File

@@ -8,16 +8,16 @@ author: deepend
Welcome! This Help Desk system provides a quick, self-serve way to: Welcome! This Help Desk system provides a quick, self-serve way to:
1. **Request or redeem a new SSH key** for your tilde account. 1. **Request or redeem a new SSH key** for your tilde account.
2. **Reset your account password** (if you've forgotten it). 2. **Reset your account password** (if you've forgotten it).
Below youll find step-by-step instructions on how to use the help desk system when you **SSH** into the `help` user. Below youll find step-by-step instructions on how to use the help desk system when you **SSH** into the `help` user.
--- ---
## Accessing the Help Desk ## Accessing the Help Desk
1. Open a terminal on your local machine. 1. Open a terminal on your local machine.
2. **SSH** into the **help** account (adjust the hostname to your actual tilde server name): 2. **SSH** into the **help** account (adjust the hostname to your actual tilde server name):
```bash ```bash
ssh help@tilde.club ssh help@tilde.club
@@ -30,8 +30,8 @@ Below youll find step-by-step instructions on how to use the help desk system
After logging in, youll see three main options: After logging in, youll see three main options:
1. **SSH Key Help** 1. **SSH Key Help**
2. **Password Help** 2. **Password Help**
3. **Exit** 3. **Exit**
Select the option that applies by typing its corresponding number and pressing **Enter**. Select the option that applies by typing its corresponding number and pressing **Enter**.
@@ -42,24 +42,24 @@ Select the option that applies by typing its corresponding number and pressing *
When you choose **SSH Key Help** at the main menu, youll see another menu: When you choose **SSH Key Help** at the main menu, youll see another menu:
1. **Request a new SSH key** 1. **Request a new SSH key**
2. **Redeem a code** for a new SSH key 2. **Redeem a code** for a new SSH key
3. **Return** to the previous menu 3. **Return** to the previous menu
### 1.1 Request a New SSH Key ### 1.1 Request a New SSH Key
1. Pick **“I want to request a new SSH key”** (option 1). 1. Pick **“I want to request a new SSH key”** (option 1).
2. **Enter the email** you registered with your tilde account. The system does a simple check to ensure its valid. 2. **Enter the email** you registered with your tilde account. The system does a simple check to ensure its valid.
3. If the email matches an existing account, youll receive a **“request code”** at that address. 3. If the email matches an existing account, youll receive a **“request code”** at that address.
4. After receiving that code, **log out** or press **Enter** to return to the main menu. 4. After receiving that code, **log out** or press **Enter** to return to the main menu.
### 1.2 Redeem a New SSH Key ### 1.2 Redeem a New SSH Key
1. Back in the **SSH Key Help** menu, choose **“I have a code from my email and need to redeem it.”** 1. Back in the **SSH Key Help** menu, choose **“I have a code from my email and need to redeem it.”**
2. Paste in the **request code** you received. 2. Paste in the **request code** you received.
3. The system confirms your username. 3. The system confirms your username.
4. When prompted, **paste your new public SSH key** (the part that starts with `ssh-ed25519` or `ssh-rsa` or similar). 4. When prompted, **paste your new public SSH key** (the part that starts with `ssh-ed25519` or `ssh-rsa` or similar).
5. The system appends your key to your `~/.ssh/authorized_keys`. 5. The system appends your key to your `~/.ssh/authorized_keys`.
6. Youll see a success message, and you can then **log in** to your tilde with that new key. 6. Youll see a success message, and you can then **log in** to your tilde with that new key.
--- ---
@@ -68,22 +68,22 @@ When you choose **SSH Key Help** at the main menu, youll see another menu:
At the main menu, choosing **Password Help** displays: At the main menu, choosing **Password Help** displays:
1. **Request a password reset code** 1. **Request a password reset code**
2. **Redeem a password reset code** 2. **Redeem a password reset code**
3. **Return** to the previous menu 3. **Return** to the previous menu
### 2.1 Request a Password Reset Code ### 2.1 Request a Password Reset Code
1. Choose **“Request a password reset code.”** 1. Choose **“Request a password reset code.”**
2. **Enter your email** address. 2. **Enter your email** address.
3. The system sends a **reset code** to your email if the account matches. 3. The system sends a **reset code** to your email if the account matches.
4. Exit or return to the menu once you have the code. 4. Exit or return to the menu once you have the code.
### 2.2 Redeem a Password Reset Code ### 2.2 Redeem a Password Reset Code
1. Choose **“Redeem a password reset code.”** 1. Choose **“Redeem a password reset code.”**
2. **Paste in** the code from your email. 2. **Paste in** the code from your email.
3. Enter a **new password** for your tilde account, then **confirm** it. 3. Enter a **new password** for your tilde account, then **confirm** it.
4. Upon success, the system updates your accounts password immediately. 4. Upon success, the system updates your accounts password immediately.
--- ---
@@ -96,9 +96,9 @@ Simply choose **“Id like to leave this help desk”** (option 3 in the main
## Tips & Troubleshooting ## Tips & Troubleshooting
- **Time Limit**: Each prompt has a 2-minute inactivity timer. If you wait too long, the help desk **exits** automatically. Just log in again to resume. - **Time Limit**: Each prompt has a 2-minute inactivity timer. If you wait too long, the help desk **exits** automatically. Just log in again to resume.
- **Email Didnt Arrive?** Check your spam folder. If you still dont see it, contact root@tilde.club. - **Email Didnt Arrive?** Check your spam folder. If you still dont see it, contact root@tilde.club.
- **Invalid Email**: If you mistype an email or use an unrecognized domain, youll see an error. Double-check your address. - **Invalid Email**: If you mistype an email or use an unrecognized domain, youll see an error. Double-check your address.
- **Incorrect Code**: If the code was typed incorrectly or expired, the system will refuse it. Request a new one if needed. - **Incorrect Code**: If the code was typed incorrectly or expired, the system will refuse it. Request a new one if needed.
--- ---

View File

@@ -51,21 +51,21 @@ To get started:
1. In WeeChat: 1. In WeeChat:
* Set your relay password using `/secure`: * Set your relay password using `/secure`:
* `/secure set relay mysupersecretpassword` * `/secure set relay mysupersecretpassword`
* `/set relay.network.password "${sec.data.relay}"` * `/set relay.network.password "${sec.data.relay}"`
* Create the UNIX-socket relay. * Create the UNIX-socket relay.
* **Tilde.clubs nginx proxy expects the socket in your home dir:** * **Tilde.clubs nginx proxy expects the socket in your home dir:**
* `/relay add unix.weechat ~/.weechat/relay_socket` * `/relay add unix.weechat ~/.weechat/relay_socket`
2. At your shell (permissions): 2. At your shell (permissions):
* Ensure nginx can traverse to the socket (execute-only is enough): * Ensure nginx can traverse to the socket (execute-only is enough):
* `chmod o+x ~/.weechat` * `chmod o+x ~/.weechat`
* After WeeChat creates the socket, allow nginx to read/write it: * After WeeChat creates the socket, allow nginx to read/write it:
* `setfacl -m u:nginx:rw ~/.weechat/relay_socket` * `setfacl -m u:nginx:rw ~/.weechat/relay_socket`
3. In your relay client (WebSocket via Tilde.club proxy): 3. In your relay client (WebSocket via Tilde.club proxy):
@@ -73,16 +73,16 @@ To get started:
(The Tilde.club proxy endpoint should handle this mapping for you.) (The Tilde.club proxy endpoint should handle this mapping for you.)
* [glowing-bear](https://glowingbear.tilde.club/): * [glowing-bear](https://glowingbear.tilde.club/):
- relay host: `username.tildecities.com:443/weechat` - relay host: `username.tildecities.com:443/weechat`
- relay port: `443` - relay port: `443`
- your relay password - your relay password
* [weechat-android](https://github.com/ubergeek42/weechat-android) and [lith](https://github.com/lithapp/lith): * [weechat-android](https://github.com/ubergeek42/weechat-android) and [lith](https://github.com/lithapp/lith):
- connection type: WebSocket (SSL/TLS) - connection type: WebSocket (SSL/TLS)
- relay host: `username.tildecities.com` - relay host: `username.tildecities.com`
- relay port: `443` - relay port: `443`
- websocket path: `/weechat` - websocket path: `/weechat`
- your relay password - your relay password
### Removing old relays ### Removing old relays
@@ -94,7 +94,6 @@ Delete a relay:
(Example: `/relay del unix.weechat`.) (Example: `/relay del unix.weechat`.)
## IRC Bouncer (ZNC) ## IRC Bouncer (ZNC)
NOTE: Email deepend or message him on IRC if you require ZNC access. NOTE: Email deepend or message him on IRC if you require ZNC access.

View File

@@ -5,4 +5,4 @@ category: links
`leafnode` is a news client suitable for "leaf" nodes, that is nodes that have no downstream feeds. `leafnode` is a news client suitable for "leaf" nodes, that is nodes that have no downstream feeds.
[http://leafnode.sourceforge.net/](http://leafnode.sourceforge.net/) [http://leafnode.sourceforge.net/](http://leafnode.sourceforge.net/)

View File

@@ -34,7 +34,7 @@ TMUX has sessions, windows, and panes. Each of these things will have a terminal
## windows ## windows
Your tmux bar should look like: Your tmux bar should look like:
`[tildemux] 0:bash*` `[tildemux] 0:bash*`
@@ -56,7 +56,7 @@ To move between panes in the current window, use `PREFIX <up,down,left,right>`.
## more ## more
I'm not the best writer or teacher. Just google anything that doesn't make sense. I'm not the best writer or teacher. Just google anything that doesn't make sense.
[Or take a look at this tmux guide](http://robots.thoughtbot.com/a-tmux-crash-course) [Or take a look at this tmux guide](http://robots.thoughtbot.com/a-tmux-crash-course)
@@ -71,4 +71,3 @@ Or, if you don't like it - try [screen](screen.html)
It's pretty handy. [tmux](tmux.html) does a similar set of things. It's pretty handy. [tmux](tmux.html) does a similar set of things.
a nice [screen tutorial](http://tilde.club/~jonathan/screen/) from ~jonathan will walk you through it. a nice [screen tutorial](http://tilde.club/~jonathan/screen/) from ~jonathan will walk you through it.

View File

@@ -10,7 +10,7 @@ category: tilde.club
## Details ## 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. 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/wiki/safe-scripting-the-tilde-way.html) More about [scripting netiquette here](http://tilde.club/wiki/safe-scripting-the-tilde-way.html)

View File

@@ -38,7 +38,7 @@ Backups will be taken regularly and the quilt will never be reset. The quilt is
append-only. Old messages are never edited or overwritten (spam and nastiness may be spray-painted over but I trust you folk to be better than this). append-only. Old messages are never edited or overwritten (spam and nastiness may be spray-painted over but I trust you folk to be better than this).
The quilt grows without bound in all four directions. The quilt grows without bound in all four directions.
Be creative. Use your 150 characters wisely. If you didn't use them wisely, try again. Hold a conversation. Vent a thought. Be creative. Use your 150 characters wisely. If you didn't use them wisely, try again. Hold a conversation. Vent a thought.
Play correspondence chess. Golf some perl. Branch off into the void. Play correspondence chess. Golf some perl. Branch off into the void.
Early adopters who snag the low messages IDs will be venerated by the generations to come. Early adopters who snag the low messages IDs will be venerated by the generations to come.

View File

@@ -17,10 +17,10 @@ As Paul says:
What does that mean with respect to scripting and programming on a shared host? What does that mean with respect to scripting and programming on a shared host?
- DOs - DOs
- Respect shared CPU/Disk/Network resources - Respect shared CPU/Disk/Network resources
- Keep things that require a Tilde.club login local to the server (don't post publicly), like home directory files: - Keep things that require a Tilde.club login local to the server (don't post publicly), like home directory files:
- Note that exceptions could include an opt-in file or special permissions from the user. - Note that exceptions could include an opt-in file or special permissions from the user.
- Respect `robots.txt` when writing web crawlers - Respect `robots.txt` when writing web crawlers
In short use your common sense and consider how your actions may affect others. In short use your common sense and consider how your actions may affect others.
@@ -39,13 +39,13 @@ Before exposing data such as this to the world, it should check for an opt in fi
#### Shared Resources #### Shared Resources
- In general - In general
- Consider executing long running processes during overnight hours when fewer users are on the system - Consider executing long running processes during overnight hours when fewer users are on the system
- CPU - CPU
- Use the `nice` command to keep intensive processes from affecting others - 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. - 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` - 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` - Change the priority of process 923 (also known as "re-nicing a process") : `renice -17 -p923`
- Disk - Disk
- On any commands that will heavily use disk, consider using the `ionice` command so that scripts will not affect interactive users - 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. - 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` - You can also run a command or script: `ionice -c3 -t ~/bin/command`

View File

@@ -4,12 +4,12 @@ author: michaelcoyote. updated by deepend
category: tutorials category: tutorials
--- ---
> "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 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: 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 ~ cd ~
chmod 711 . 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. 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.
@@ -19,24 +19,24 @@ What is a user? For starters, you are a user and so is every other person on the
There are several attributes that define a user. There are several attributes that define a user.
- username - username
This is your login id and the name of your homedir This is your login id and the name of your homedir
- user id (or uid) - 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. 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) - 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 collaborate on large projects. This is a unique numerical id number for your primary user group on the system. User groups are the traditional way that users would collaborate on large projects.
For now we only need to know about the username. For now we only need to know about the username.
#### Welcome to Tilde.club, your new home (and homedir) #### 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: 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$
sh-4.1$ ls -l public_html/index.html That's boring so type the command `ls -l public_html/index.html`
rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 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? You'll notice that your login shows up, but what does this actually show us?
@@ -44,84 +44,82 @@ First of all `ls` is a command to list files and directories. We've given it the
What does this long file listing of `my_file` show us? What does this long file listing of `my_file` show us?
-rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 my_file -rw-rw-r-- 1 youruser youruser 177 Oct 13 04:51 my_file
---------- --- ------- -------- ----- ------------ ------------- ---------- --- ------- -------- ----- ------------ -------------
| | | | | | | | | | | | | |
| | | | | +--- Modification Time | | | | | +--- Modification Time
| | | | +------------- Size (in bytes) | | | | +------------- Size (in bytes)
| | | +----------------------- Group owner | | | +----------------------- Group owner
| | +-------------------------------- User owner | | +-------------------------------- User owner
| +-------------------------------------- Number of links | +-------------------------------------- Number of links
+---------------------------------------------- File Permissions +---------------------------------------------- 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. 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 - Homework
- Run `ls -la` in your home directory and note the users and permissions of the various files - 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 - 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 ### Basics about file and directory permissions
-rwxrwxrwx -rwxrwxrwx
---------- ----------
| | | | | | | |
| | | +--- Other Read/Write/Execute permissions | | | +--- Other Read/Write/Execute permissions
| | +------ Group Read/Write/Execute permissions | | +------ Group Read/Write/Execute permissions
| +--------- User Read/Write/Execute permissions | +--------- User Read/Write/Execute permissions
+----------- Directory/Special flag +----------- 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. 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 #### Types of permissions
There are three major types of permissions (and a hand full of others) There are three major types of permissions (and a hand full of others)
- Read - Read
Read permission is represented as an `r` and will allow a listing of a directory and reading a file. Read permission is represented as an `r` and will allow a listing of a directory and reading a file.
- Write - Write
Write permission is represented with a `w` and allows a file or directory to be written to or deleted. Write permission is represented with a `w` and allows a file or directory to be written to or deleted.
- Execute - 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" 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` - 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. - `-` 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. - `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. - `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, and in general should be used only if the proper precautions are taken. Serious consequences can come about if a shell script/program is poorly written and given setuid permissions, as it could lead to an escalation to root privileges or a more privileged user. - `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, and in general should be used only if the proper precautions are taken. Serious consequences can come about if a shell script/program is poorly written and given setuid permissions, as it could lead to an escalation to root privileges or a more privileged user.
#### Three classes of access permissions #### Three classes of access permissions
- User 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. 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 - 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. 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 - 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. 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` #### Changing file and directory permissions using `chmod`
Examples Examples
- Homework - Homework
- `mkdir -p test/01` and then try the following `chmod` commands - `mkdir -p test/01` and then try the following `chmod` commands
chmod u+rwx test chmod u+rwx test
echo "hello world" > test/a_file echo "hello world" > test/a_file
ls -l test ls -l test
chmod ugo-rw test chmod ugo-rw test
ls -l test ls -l test
ls -l test/a_file ls -l test/a_file
#### Basics about the `finger` and `chfn` commands #### Basics about the `finger` and `chfn` commands
How to see others in the system using `finger` How to see others in the system using `finger`
Type the command `finger` Type the command `finger`
Type the command `finger $USER` Type the command `finger $USER`
How others see you. How others see you.
@@ -129,35 +127,34 @@ Changing the information people see about you using `chfn`
creating a `~/.plan` and `~/.project` file that's readable creating a `~/.plan` and `~/.project` file that's readable
#### More advanced topics #### 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. 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 - Homework
- `head -10 /etc/passwd` - `head -10 /etc/passwd`
- `grep $USER /etc/passwd` - `grep $USER /etc/passwd`
- Note the columns in the `/etc/passwd` file. Note the columns and the `:` separator between them. - 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`: Back at our command line, lets type the command `id`:
sh-4.1$ id sh-4.1$ id
uid=501(youruser) gid=501(youruser) groups=501(youruser)` 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. 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 - Homework
- Run `id` in your own directory, then run - Run `id` in your own directory, then run
- Run `id -u root` - Run `id -u root`
- use the `grep` command to find your uid in the `/etc/passwd` file - use the `grep` command to find your uid in the `/etc/passwd` file
As noted above, we can obtain our group id using the `id` command. Try locating your group in `/etc/group` using the commands that were specified above; your group name will probably be the same as your user (although at times this might not be true depending on the configuration of the system). As noted above, we can obtain our group id using the `id` command. Try locating your group in `/etc/group` using the commands that were specified above; your group name will probably be the same as your user (although at times this might not be true depending on the configuration of the system).
#### Using your personal group for collaboration (`groupmems`) #### Using your personal group for collaboration (`groupmems`)
On this tilde server, each user normally has a *personal* group with the same name as their login. For example: On this tilde server, each user normally has a *personal* group with the same name as their login. For example:
- user: `youruser` - user: `youruser`
- primary group: `youruser` - primary group: `youruser`
You can use this personal group to give trusted friends access to files and directories you own, without making them world-readable. You can use this personal group to give trusted friends access to files and directories you own, without making them world-readable.
@@ -166,21 +163,21 @@ To make this easier, the server provides a helper command you use with `sudo`:
- List who is in your personal group: - List who is in your personal group:
```sh ```sh
sudo self-groupmems list sudo self-groupmems list
``` ```
- Add another user to your group: - Add another user to your group:
```sh ```sh
sudo self-groupmems add otheruser sudo self-groupmems add otheruser
``` ```
- Remove a user from your group: - Remove a user from your group:
```sh ```sh
sudo self-groupmems del otheruser sudo self-groupmems del otheruser
``` ```
This only affects membership of **your** personal group. It does **not** change your primary group, and it does not let you modify other system groups. This only affects membership of **your** personal group. It does **not** change your primary group, and it does not let you modify other system groups.

View File

@@ -8,4 +8,3 @@ category: links
Documentation for slrn can be found at [http://slrn.sourceforge.net](http://slrn.sourceforge.net) Documentation for slrn can be found at [http://slrn.sourceforge.net](http://slrn.sourceforge.net)
Tilde-specific slrn info is on [http://tilde.club/~joeld/slrn.html](http://tilde.club/~joeld/slrn.html) Tilde-specific slrn info is on [http://tilde.club/~joeld/slrn.html](http://tilde.club/~joeld/slrn.html)

View File

@@ -4,7 +4,6 @@ title: How to connect using SSH (secure shell)
category: tutorials category: tutorials
--- ---
_or, how to tell other computers to do cool things_ _or, how to tell other computers to do cool things_
--- ---
@@ -25,7 +24,7 @@ mosh user@tilde.club
ssh is also available on port 443 using the address `ssh.tilde.club`: ssh is also available on port 443 using the address `ssh.tilde.club`:
ssh -p 443 user@ssh.tilde.club ssh -p 443 user@ssh.tilde.club
this is useful if you're on a limited public network that blocks non-http this is useful if you're on a limited public network that blocks non-http
ports. ports.
@@ -75,7 +74,7 @@ be hacked) and for me, your humble sysadmin (less administration than passwords)
SSH supports a handful of types of cryptographic keys. The most used are [RSA]( SSH supports a handful of types of cryptographic keys. The most used are [RSA](
<https://en.wikipedia.org/wiki/RSA_(cryptosystem)>) and the more modern [Ed25519]( <https://en.wikipedia.org/wiki/RSA_(cryptosystem)>) and the more modern [Ed25519](
https://en.wikipedia.org/wiki/EdDSA#Ed25519). https://en.wikipedia.org/wiki/EdDSA#Ed25519).
RSA is the de-facto standard and is supported everywhere (just choose a big RSA is the de-facto standard and is supported everywhere (just choose a big
enough key like 4096 bits to be secure). Ed25519 is designed to be faster and enough key like 4096 bits to be secure). Ed25519 is designed to be faster and
@@ -143,9 +142,9 @@ where username is your username (~benharri would use `ssh benharri@tilde.club`)
#### Ensure OpenSSH is installed #### Ensure OpenSSH is installed
1. Open Settings, select Apps, then select Optional Features 1. Open Settings, select Apps, then select Optional Features
1. Scan the list to see if the OpenSSH is already installed. If not, at the top of the page, select Add a feature, then... 1. Scan the list to see if the OpenSSH is already installed. If not, at the top of the page, select Add a feature, then...
1. Find OpenSSH Client, then select Install 1. Find OpenSSH Client, then select Install
#### generating your keypair #### generating your keypair
@@ -183,7 +182,6 @@ ssh username@tilde.club
where username is your username (~benharri would use `ssh benharri@tilde.club`) where username is your username (~benharri would use `ssh benharri@tilde.club`)
Note: If you generated your key to the location above (%USERPROFILE%\\.ssh\\...) then you will be able to SSH to your tilde server without having to specify the location of the key. That folder is the default used by SSH and it will be found automatically. If you generated your keys in a different location or moved them, you will need to specify the full path to the private key. Note: If you generated your key to the location above (%USERPROFILE%\\.ssh\\...) then you will be able to SSH to your tilde server without having to specify the location of the key. That folder is the default used by SSH and it will be found automatically. If you generated your keys in a different location or moved them, you will need to specify the full path to the private key.
```cmd ```cmd

View File

@@ -9,15 +9,14 @@ On OS X:
- Download the lastest version of OSXFUSE: [http://osxfuse.github.io/](http://osxfuse.github.io/) - Download the lastest version of OSXFUSE: [http://osxfuse.github.io/](http://osxfuse.github.io/)
- `brew install sshfs` - `brew install sshfs`
Now you can mount a ssh server by issuing the following commands: Now you can mount a ssh server by issuing the following commands:
mkdir tilde.club mkdir tilde.club
sshfs jeffbonhag@tilde.club:/home/jeffbonhag tilde.club sshfs jeffbonhag@tilde.club:/home/jeffbonhag tilde.club
If you're on Linux and want to make an entry in your fstab: If you're on Linux and want to make an entry in your fstab:
mkdir -p /mnt/tilde.club mkdir -p /mnt/tilde.club
Put an entry in your `/etc/fstab` like this: Put an entry in your `/etc/fstab` like this:
@@ -25,12 +24,12 @@ jeffbonhag@tilde.club:/home/jeffbonhag /mnt/tilde.club fuse.sshfs _netdev,user,
then you can do then you can do
mount /mnt/tilde.club mount /mnt/tilde.club
If you want to use an identity file to mount instead of a password, this may If you want to use an identity file to mount instead of a password, this may
work (untested): work (untested):
jeffbonhag@tilde.club:/home/jeffbonhag /mnt/tilde.club fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USER_C/.ssh/id_rsa,allow_other,default_permissions,uid=USER_C_ID,gid=GROUP_C_ID,umask=0 0 0 jeffbonhag@tilde.club:/home/jeffbonhag /mnt/tilde.club fuse.sshfs _netdev,user,idmap=user,transform_symlinks,identityfile=/home/USER_C/.ssh/id_rsa,allow_other,default_permissions,uid=USER_C_ID,gid=GROUP_C_ID,umask=0 0 0
Although -- do you really need to do this? It just occurred to me that the Although -- do you really need to do this? It just occurred to me that the
first command is just as easy, and probably makes more sense. first command is just as easy, and probably makes more sense.

View File

@@ -12,4 +12,3 @@ for example, if you're in eastern time, add something like this
`export TZ="America/Detroit"` `export TZ="America/Detroit"`
to your `.bashrc` to your `.bashrc`

View File

@@ -5,8 +5,8 @@ author:
- ant - ant
todo: todo:
- describe the common entry prefixes on: - describe the common entry prefixes on:
- groups - groups
- threads - threads
- articles - articles
- arrange the principal keys in the way most convenient to the learner: - arrange the principal keys in the way most convenient to the learner:
- with grouping by relative function - with grouping by relative function
@@ -321,7 +321,7 @@ The most important keys are:
Key Level Action Key Level Action
---- ------ -------------------- ---- ------ --------------------
H SGTA toggle on-screen help, H SGTA toggle on-screen help,
useful for learning useful for learning
h SGTA list available commands h SGTA list available commands
@@ -361,7 +361,7 @@ c/C SGTA mark group (SG) or thread (TA) as read
and move to the next unread (C) one and move to the next unread (C) one
K GTA mark current thread (G) or article (TA) K GTA mark current thread (G) or article (TA)
as read and move to the next unread one as read and move to the next unread one
z SGA mark group/base article/article unread z SGA mark group/base article/article unread

View File

@@ -176,7 +176,7 @@ your ~/.ttbp directory entirely. **you might want to back up your
* to modify your stylesheet, edit your ~/.ttbp/config/style.css * to modify your stylesheet, edit your ~/.ttbp/config/style.css
* to modify the page header, edit your ~/.ttbp/config/header.txt * to modify the page header, edit your ~/.ttbp/config/header.txt
* there's a place marked off in the default header where you can safely put * there's a place marked off in the default header where you can safely put
custom HTML elements! custom HTML elements!
* to modify the page footer, edit your ~/.ttbp/config/footer.txt * to modify the page footer, edit your ~/.ttbp/config/footer.txt
### general tips/troubleshooting ### general tips/troubleshooting

View File

@@ -4,7 +4,7 @@ category: links
--- ---
`tunnelblick` is an application for your Mac that allows you to configure `tunnelblick` is an application for your Mac that allows you to configure
and manage VPN sessions. You can use this e.g. if you are connecting to and manage VPN sessions. You can use this e.g. if you are connecting to
Tilde.club via a network that does not allow high UDP ports; with a properly Tilde.club via a network that does not allow high UDP ports; with a properly
configured tunnel, you can still run [[mosh]] as your shell and keep on configured tunnel, you can still run [[mosh]] as your shell and keep on
truckin. truckin.

View File

@@ -46,7 +46,7 @@ You can also read the [FAQ from U Washington](http://www.washington.edu/pine/faq
If you use Pine from inside Tilde.club, If you use Pine from inside Tilde.club,
configure it by: configure it by:
1. 'S' for setup, 'C' for config, then 1. 'S' for setup, 'C' for config, then
1. set 'NNTP Server (for news)' to `localhost` 1. set 'NNTP Server (for news)' to `localhost`
1. Then go back to the main menu, and pick Folder List, 1. Then go back to the main menu, and pick Folder List,
1. A for add, ^t for list 1. A for add, ^t for list

View File

@@ -22,12 +22,12 @@ You can invoke *The Traditional Vi* in several ways
1. by the full path to the executable: 1. by the full path to the executable:
/usr/archaic/bin/vi /usr/archaic/bin/vi
2. by adding it as an alias to your shell's `rc` file 2. by adding it as an alias to your shell's `rc` file
(`~/.bashrc` for *Bash*), e.g: (`~/.bashrc` for *Bash*), e.g:
alias tvi=/usr/archaic/bin/vi alias tvi=/usr/archaic/bin/vi
and then invokng *Vi* by typing `tvi`, and then invokng *Vi* by typing `tvi`,
@@ -36,8 +36,8 @@ You can invoke *The Traditional Vi* in several ways
in your shell's profile script in your shell's profile script
(for *Bash*, `~/.bash_profile` or `~/.profile`): (for *Bash*, `~/.bash_profile` or `~/.profile`):
export PATH="/usr/archaic/bin/:$PATH" export PATH="/usr/archaic/bin/:$PATH"
export MANPATH="/usr/archaic/share/man/man:$MANPATH" export MANPATH="/usr/archaic/share/man/man:$MANPATH"
The latter method has the advantage The latter method has the advantage
of affecting subshells, of affecting subshells,
@@ -68,10 +68,10 @@ and the `EDITOR` environment variale.
[its source](https://sourceforge.net/p/ex-vi/code/). [its source](https://sourceforge.net/p/ex-vi/code/).
You only need to locate the following line in `Makefile`: You only need to locate the following line in `Makefile`:
TERMLIB = termlib TERMLIB = termlib
and replace the value with `curses` or `ncurses`, and replace the value with `curses` or `ncurses`,
depending on your preferred terminal library. depending on your preferred terminal library.
Now you can build and install the project with: Now you can build and install the project with:
make && make install make && make install

View File

@@ -3,7 +3,7 @@ title: VPN Gate
category: links category: links
--- ---
`VPN Gate` is a project from U Tsukuba in Japan that allows you to `VPN Gate` is a project from U Tsukuba in Japan that allows you to
evade censorship and filtering by setting up VPN tunnels. It was evade censorship and filtering by setting up VPN tunnels. It was
designed with the Great Firewall of China in mind. designed with the Great Firewall of China in mind.

View File

@@ -79,6 +79,6 @@ So yes, VPN services do serve a purpose - it's just one that benefits the provid
---- ----
__This post is licensed under the [WTFPL](http://cryto.net/~joepie91/blog/LICENSE.txt) or [CC0](https://creativecommons.org/publicdomain/zero/1.0/), at your choice.__ You may distribute, use, modify, translate, and license it in any way. __This post is licensed under the [WTFPL](http://cryto.net/~joepie91/blog/LICENSE.txt) or [CC0](https://creativecommons.org/publicdomain/zero/1.0/), at your choice.__ You may distribute, use, modify, translate, and license it in any way.
---- ----

View File

@@ -68,11 +68,11 @@ You can do this right from the Github GUI!
1. Grab a copy of the site's source code 1. Grab a copy of the site's source code
git clone https://github.com/tildeclub/site tilde.club && cd tilde.club/wiki git clone https://github.com/tildeclub/site tilde.club && cd tilde.club/wiki
1. Make a new article or update an existing one. Make sure that you create the 1. Make a new article or update an existing one. Make sure that you create the
title, author, and category keys in the yaml frontmatter (see an existing title, author, and category keys in the yaml frontmatter (see an existing
article for an example). article for an example).
3. submit the code via a PR on github or with git-send-email(1) to root@tilde.club 3. submit the code via a PR on github or with git-send-email(1) to root@tilde.club
see [git-send-email.io](https://git-send-email.io) for more info on how to use see [git-send-email.io](https://git-send-email.io) for more info on how to use
@@ -98,16 +98,16 @@ of technological liberation...
In case you prefer to work on your edits directly inside Tilde.club, In case you prefer to work on your edits directly inside Tilde.club,
run a command like this to clone the repository: run a command like this to clone the repository:
git clone /usr/share/nginx/html tildeclub-site git clone /usr/share/nginx/html tildeclub-site
If you prefer to clone to your local machine via SSH instead, If you prefer to clone to your local machine via SSH instead,
use **one** of the following commands: use **one** of the following commands:
git clone ssh://USERNAME@tilde.club/usr/share/nginx/html tildeclub-site git clone ssh://USERNAME@tilde.club/usr/share/nginx/html tildeclub-site
git clone USERNAME@tilde.club:/usr/share/nginx/html tildeclub-site git clone USERNAME@tilde.club:/usr/share/nginx/html tildeclub-site
* Don't forget to substitute <var>USERNAME</var> with your Tilde.club username * Don't forget to substitute <var>USERNAME</var> with your Tilde.club username
(else SSH would fail logging you in for the access). (else SSH would fail logging you in for the access).
* The first command works even with a very old Git version. * The first command works even with a very old Git version.
Note that you cannot issue <q>`git push`</q> from a repository cloned these ways Note that you cannot issue <q>`git push`</q> from a repository cloned these ways
@@ -117,11 +117,11 @@ of technological liberation...
* This Git repository is also officially available online at two places: * This Git repository is also officially available online at two places:
* [GitHub](https://github.com/tildeclub/site/) * [GitHub](https://github.com/tildeclub/site/)
(requires JavaScript and latest browser to view) (requires JavaScript and latest browser to view)
* [Tildeforge](https://tildeforge.dev/TildeClub/site) * [Tildeforge](https://tildeforge.dev/TildeClub/site)
(read-only mirror, (read-only mirror,
replicates from GitHub; replicates from GitHub;
do not need JavaScript to view) do not need JavaScript to view)
The <q>`git clone`</q> command also work directly with these URLs; The <q>`git clone`</q> command also work directly with these URLs;
although note that pull requests are accepted only on GitHub. although note that pull requests are accepted only on GitHub.
@@ -144,9 +144,9 @@ of technological liberation...
(and text files on Tilde.club's Gopher site) (and text files on Tilde.club's Gopher site)
is specified in <q>`wiki/Makefile`</q> in the repository. is specified in <q>`wiki/Makefile`</q> in the repository.
* The Gophermap of the wiki * The Gophermap of the wiki
is generated dynamically on Gopher request however; is generated dynamically on Gopher request however;
see <q>`wiki/gophermap`</q> and <q>`wiki/txtlist.sh`</q> in the repository see <q>`wiki/gophermap`</q> and <q>`wiki/txtlist.sh`</q> in the repository
for this part. for this part.
* The copyright license of this repository is * The copyright license of this repository is
[GNU General Public License](https://www.gnu.org/licenses/gpl.html), [GNU General Public License](https://www.gnu.org/licenses/gpl.html),
_any version_ _any version_