From 82b253f63ea0dfc4fd9b8b523a3a1bec63a9b872 Mon Sep 17 00:00:00 2001 From: Ailin Nemui Date: Sat, 27 Dec 2025 22:27:11 +0100 Subject: [PATCH] run syncdocs.sh added New-users and qna, removed faq and startup-HOWTO from sync --- docs/New-users.html | 110 +++++++++++++++++++++++++ docs/New-users.txt | 193 ++++++++++++++++++++++++++++++++++++++++++++ docs/qna.html | 52 ++++++++++++ docs/qna.txt | 111 +++++++++++++++++++++++++ utils/syncdocs.sh | 58 +++++++------ 5 files changed, 501 insertions(+), 23 deletions(-) create mode 100644 docs/New-users.html create mode 100644 docs/New-users.txt create mode 100644 docs/qna.html create mode 100644 docs/qna.txt diff --git a/docs/New-users.html b/docs/New-users.html new file mode 100644 index 00000000..496f319e --- /dev/null +++ b/docs/New-users.html @@ -0,0 +1,110 @@ + +

New users guide

+
+

New to IRC

+

Internet Relay Chat was created in 1988 and has hardly changed. It can be used to exchange text messages (one message = single line) with other people, either privately (called query, PM, private message, MSG) or in a room (channel). Pictures are shared by uploading them to a temporary host like https://pomf.lain.la/ and then pasting the HTTP links. Code snippets or longer texts are shared by pasting them to a Pastebin like https://paste.opensuse.org/ and then sharing the HTTP link.

+

IRC does not have message history. You can only receive replies while your computer is turned on and connected to the channel you want to follow. Some people run their IRC programs on remote servers for that reason.

+

IRC is organised into networks. Each network consists of many servers. It (mostly) does not matter which server you connect to as long as it belongs to the network you want to use. Irssi supports connections to many networks at the same time.

+

Each network contains many channels, rooms that are often dedicated to discussing a specific topic. You can find many channels on https://netsplit.de/ or using a search engine with the keyword “IRC”. Irssi supports joining many channels at the same time.

+

There is a rather large IRC network catering to free and open-source software and peer directed projects at https://libera.chat/ and a smaller one at https://www.oftc.net/ – many free software projects still have support channels on these IRC networks (although some have moved to Matrix or proprietary platforms like Discord).

+
+
+

First start

+

After (compiling and) installing Irssi, to start it, open a shell (Terminal) and type:

+
irssi
+
+
+

You should be greeted by a blinking cursor behind [(status)]. You are now in the status window of Irssi. Window is the Irssi name for what you might nowadays call a “Web browser tab”.

+

If you’re confused about what you are seeing on the Irssi screen, you can find an annotated screenshot of it at User interface.

+

If you want, you can pick a nick name (handle) that will be shown to others reading your messages now, by typing

+
/set nick whatyouwant
+
+
+

Each command or message can be sent by pressing Enter. Commands in Irssi start with a /. If there is no /, then the line that you wrote will be sent as a message to the channel that you have open, for everyone to see.

+
+

Leaving

+

Type /quit to get out of Irssi.

+
+
+
+

Connecting to a network

+

Irssi comes with some predefined networks. You can see the current list of networks by typing

+
/network
+
+
+

(the list will be shown in your status window)

+

To connect to one of the networks in the list, type /connect networkname, for example:

+
/connect liberachat
+
+
+

You should see several messages scroll by. After a while, you should be connected to the Libera Chat network.

+
+

Attention

+

Irssi version 1.2 or older may be lacking the liberachat network entry. See https://github.com/shabble/irssi-docs/wiki/liberachat for how to add it.

+
+
+

Nickname registration

+

Many IRC networks (but not all) offer a way to register a user account. Sometimes (but not on all networks) the account registration also includes reserving a nick for you. How to register also differs by network. Some channels only allow users with registered accounts to join them, so it may be very important for you to register a user account.

+

User accounts are always specific to a network.

+

For the Libera Chat network, you can find instructions how to register and set up your account with Irssi on https://github.com/shabble/irssi-docs/wiki/liberachat#configure-sasl-automated-log-in

+
+
+
+

Joining a channel

+

Once you are connected to a network, you can join channels by typing /join #channelname, for example:

+
/join #irssi
+
+
+

Now, a new window will open and you can send messages to the channel.

+
+

Changing windows

+

You can change between windows using the Ctrl+n or Ctrl+p keys, or–if your terminal is configured properly–using Alt+1, Alt+2, … See bind -list for a list of all default key bindings.

+
+
+

Removing clutter

+

By default, Irssi shows when someone joins or leaves a channel. These messages can waste a lot of lines and obscure the actual chat. To hide them, type

+
/window hidelevel +joins +parts +quits
+
+
+

To get them back

+
/window hidelevel -joins -parts -quits
+
+
+

If you want to hide them by default, /set window_default_hidelevel hidden joins parts quits

+
+
+
+

Adding a new network

+

If you want to join a network that is not there, you first need to find at least one server of that network. Let’s say you have found the room #hackint on netsplit.de and want to join it. Then you can find that the server is irc.hackint.org, port 6697, SSL (TLS) on. To add it to Irssi, use the commands:

+
/network add hackint
+/server add -tls -network hackint irc.hackint.org 6697
+
+
+

Then, you can connect to the newly added network with

+
/connect hackint
+
+
+
+

Multiple networks

+

If you are connected to multiple networks, you can change which one you are “talking” to (which one to send commands) by using the Ctrl+x key in the status window.

+
+
+
+

On-line help

+

Most /commands have a help page, you can read it with

+
/help commandname
+
+
+

or on-line.

+

The settings that can be changed with /SET are described on Settings Documentation – the settingshelp script can be used to read it from within /help

+
+
+

About Scripts

+

You can enhance your Irssi by installing scripts. Many Perl scripts written by other Irssi users can be found on https://scripts.irssi.org/

+

Most of them should be compatible with Irssi 1.4 (but some may not, also see the Full Change log for some incompatible ones)

+
+
+

About Themes

+

Irssi’s look can be thoroughly changed with themes. Many themes created by other Irssi users can be found on https://themes.irssi.org/

+

If you want to modify the look of Irssi yourself, the default theme which can be found in your ~/.irssi folder is a good starting point. It also has a few comments explaining what some of the abstracts are used for

+
\ No newline at end of file diff --git a/docs/New-users.txt b/docs/New-users.txt new file mode 100644 index 00000000..5c5a268c --- /dev/null +++ b/docs/New-users.txt @@ -0,0 +1,193 @@ +# New users guide # + +## New to IRC ## + +Internet Relay Chat was created in 1988 and has hardly changed. It can be used +to exchange text messages (one message = single line) with other people, either +privately (called query, PM, private message, MSG) or in a room (channel). +Pictures are shared by uploading them to a temporary host like [1]https:// +pomf.lain.la/ and then pasting the HTTP links. Code snippets or longer texts +are shared by pasting them to a Pastebin like [2]https://paste.opensuse.org/ +and then sharing the HTTP link. + +IRC does not have message history. You can only receive replies while your +computer is turned on and connected to the channel you want to follow. Some +people run their IRC programs on remote servers for that reason. + +IRC is organised into networks. Each network consists of many servers. It +(mostly) does not matter which server you connect to as long as it belongs to +the network you want to use. Irssi supports connections to many networks at the +same time. + +Each network contains many channels, rooms that are often dedicated to +discussing a specific topic. You can find many channels on [3]https:// +netsplit.de/ or using a search engine with the keyword “IRC”. Irssi supports +joining many channels at the same time. + +There is a rather large IRC network catering to free and open-source software +and peer directed projects at [4]https://libera.chat/ and a smaller one at [5] +https://www.oftc.net/ – many free software projects still have support channels +on these IRC networks (although some have moved to Matrix or proprietary +platforms like Discord). + +## First start ## + +After (compiling and) installing Irssi, to start it, open a shell (Terminal) +and type: + +irssi + +You should be greeted by a blinking cursor behind [(status)]. You are now in +the status window of Irssi. Window is the Irssi name for what you might +nowadays call a “Web browser tab”. + +If you’re confused about what you are seeing on the Irssi screen, you can find +an annotated screenshot of it at [6]User interface. + +If you want, you can pick a nick name (handle) that will be shown to others +reading your messages now, by typing + +/set nick whatyouwant + +Each command or message can be sent by pressing Enter. Commands in Irssi start +with a /. If there is no /, then the line that you wrote will be sent as a +message to the channel that you have open, for everyone to see. + +### Leaving ### + +Type /quit to get out of Irssi. + +## Connecting to a network ## + +Irssi comes with some predefined networks. You can see the current list of +networks by typing + +/network + +(the list will be shown in your status window) + +To connect to one of the networks in the list, type /connect networkname, for +example: + +/connect liberachat + +You should see several messages scroll by. After a while, you should be +connected to the Libera Chat network. + +Attention + +Irssi version 1.2 or older may be lacking the liberachat network entry. See [7] +https://github.com/shabble/irssi-docs/wiki/liberachat for how to add it. + +### Nickname registration ### + +Many IRC networks (but not all) offer a way to register a user account. +Sometimes (but not on all networks) the account registration also includes +reserving a nick for you. How to register also differs by network. Some +channels only allow users with registered accounts to join them, so it may be +very important for you to register a user account. + +User accounts are always specific to a network. + +For the Libera Chat network, you can find instructions how to register and set +up your account with Irssi on [8]https://github.com/shabble/irssi-docs/wiki/ +liberachat#configure-sasl-automated-log-in + +## Joining a channel ## + +Once you are connected to a network, you can join channels by typing /join # +channelname, for example: + +/join #irssi + +Now, a new window will open and you can send messages to the channel. + +### Changing windows ### + +You can change between windows using the Ctrl+n or Ctrl+p keys, or–if your +terminal is configured properly–using Alt+1, Alt+2, … See [9]bind -list for a +list of all default key bindings. + +### Removing clutter ### + +By default, Irssi shows when someone joins or leaves a channel. These messages +can waste a lot of lines and obscure the actual chat. To hide them, type + +/window hidelevel +joins +parts +quits + +To get them back + +/window hidelevel -joins -parts -quits + +If you want to hide them by default, /set window_default_hidelevel hidden joins +parts quits + +## Adding a new network ## + +If you want to join a network that is not there, you first need to find at +least one server of that network. Let’s say you have found the room [10]# +hackint on netsplit.de and want to join it. Then you can find that the [11] +server is irc.hackint.org, port 6697, SSL (TLS) on. To add it to Irssi, use the +commands: + +/network add hackint +/server add -tls -network hackint irc.hackint.org 6697 + +Then, you can connect to the newly added network with + +/connect hackint + +### Multiple networks ### + +If you are connected to multiple networks, you can change which one you are +“talking” to (which one to send commands) by using the Ctrl+x key in the status +window. + +## On-line help ## + +Most /commands have a help page, you can read it with + +/help commandname + +or [12]on-line. + +The settings that can be changed with /SET are described on [13]Settings +Documentation – the settingshelp [14]script can be used to read it from within +/help + +## About Scripts ## + +You can enhance your Irssi by installing scripts. Many Perl scripts written by +other Irssi users can be found on [15]https://scripts.irssi.org/ + +Most of them should be compatible with Irssi 1.4 (but some may not, also see +the Full Change log for some incompatible ones) + +## About Themes ## + +Irssi’s look can be thoroughly changed with themes. Many themes created by +other Irssi users can be found on [16]https://themes.irssi.org/ + +If you want to modify the look of Irssi yourself, the default theme which can +be found in your ~/.irssi folder is a good starting point. It also has a few +comments explaining what some of the abstracts are used for + + +References: + +[1] https://pomf.lain.la/ +[2] https://paste.opensuse.org/ +[3] https://netsplit.de/ +[4] https://libera.chat/ +[5] https://www.oftc.net/ +[6] https://irssi.org/User-interface/ +[7] https://github.com/shabble/irssi-docs/wiki/liberachat +[8] https://github.com/shabble/irssi-docs/wiki/liberachat#configure-sasl-automated-log-in +[9] https://irssi.org/documentation/help/bind_-list/ +[10] https://netsplit.de/channels/details.php?room=%23hackint&net=hackint +[11] https://netsplit.de/servers/?net=hackint +[12] https://irssi.org/documentation/help/ +[13] https://irssi.org/documentation/settings/ +[14] https://irssi.org/New-users/#about-scripts +[15] https://scripts.irssi.org/ +[16] https://themes.irssi.org/ diff --git a/docs/qna.html b/docs/qna.html new file mode 100644 index 00000000..a61ee40d --- /dev/null +++ b/docs/qna.html @@ -0,0 +1,52 @@ + + +

Right-aligned nicks

+

To create a “tabular” effect of the chat view, or to align nick names in a column, you can use Irssi’s theme/format system. The basic commands are the following:

+
/format own_msg {ownmsgnick $2 {ownnick $[-9]0}}$1
+/format own_msg_channel {ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2
+/format pubmsg_me {pubmsgmenick $2 {menick $[-9]0}}$1
+/format pubmsg_me_channel {pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2
+/format pubmsg_hilight {pubmsghinick $0 $3 $[-9]1}$2
+/format pubmsg_hilight_channel {pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3
+/format pubmsg {pubmsgnick $2 {pubnick $[-9]0}}$1
+/format pubmsg_channel {pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2
+
+
+

These are copied from the default theme’s default values, which are responsible for displaying your own messages sent to a channel (own_msg) as well as received messages (pubmsg) and the two basic highlightings (me and hilight).

+

Then, in front of the argument that contains the nick name ($0 in most cases, but $1 in pubmsg_hilight), an alignment modifier (see Appendix B: Special Variables and Expandos) has been added: [-9]. This means that the nicks will be right-aligned and truncated to 9 characters.

+

Note: Modifiers only work in the /format section of a theme (this may change in the future)

+

There are also some scripts that try to do the alignment for you, like: nm, nm2.

+

There are also some nice themes that extend the alignment to further formats, like: weed.

+

Automatic log-in to NickServ

+

Please check here => Automatic log-in to NickServ

+

CertFP Log-in

+

CertFP, short for Certificate Finger Print, is another method to log you in to NickServ. Instead of a password, it uses a Client Certificate.

+

In order to use it, you

+ +

Irssi does not have built-in certificate management commands, so you need to use an external tool like openssl to create the certificate.

+

A step-by-step guide for the Libera Chat network can be found here => https://github.com/shabble/irssi-docs/wiki/liberachat_certfp

+

It is necessary that the certificate be available as a file; PKCS#11 is not supported.

+

Tor (The Onion Router)

+

Tor is an overlay network for anonymous communication. It operates a local SOCKS proxy for applications to use.

+

Unfortunately, Irssi currently does not support SOCKS proxies natively. As a workaround, you can install the ProxyChains-NG program (note, it must be the NG version).

+

Afterwards, you can launch Irssi like this:

+
proxychains4 irssi
+
+
+

Now your connections will go through the Proxy configured in ProxyChains-NG (Tor by default).

+

IRC networks may have different requirements to be able to connect via Tor. For the Libera Chat network, you will first need to set up CertFP Log-in using a clearnet connection, and then connect to their Onion Service palladium.libera.chat. More detailed instructions can be found here => https://github.com/shabble/irssi-docs/wiki/liberator

+

The following signatures were invalid: EXPKEYSIG

+

If you see such a message

+
Err:4 home:/ailin_nemui:/irssi-an  InRelease
+  The following signatures were invalid: EXPKEYSIG EDB7AED941EEDB57 home:ailin_nemui OBS Project <home:ailin_nemui@build.opensuse.org>
+
+
+

this means that the automatic signing key used by the Open Build Service expired. OBS renews the key periodically, but Debian does not support this.

+
+

Fix

+

Download the key again, following the regular OBS instructions. If it still does not work, verify if there is a second expired copy of the key in /etc/apt/trusted.gpg.d or in apt-key list and remove it as well.

+
\ No newline at end of file diff --git a/docs/qna.txt b/docs/qna.txt new file mode 100644 index 00000000..92f4f64c --- /dev/null +++ b/docs/qna.txt @@ -0,0 +1,111 @@ +# Right-aligned nicks # + +To create a “tabular” effect of the chat view, or to align nick names in a +column, you can use Irssi’s theme/format system. The basic commands are the +following: + +/format own_msg {ownmsgnick $2 {ownnick $[-9]0}}$1 +/format own_msg_channel {ownmsgnick $3 {ownnick $[-9]0}{msgchannel $1}}$2 +/format pubmsg_me {pubmsgmenick $2 {menick $[-9]0}}$1 +/format pubmsg_me_channel {pubmsgmenick $3 {menick $[-9]0}{msgchannel $1}}$2 +/format pubmsg_hilight {pubmsghinick $0 $3 $[-9]1}$2 +/format pubmsg_hilight_channel {pubmsghinick $0 $4 $[-9]1{msgchannel $2}}$3 +/format pubmsg {pubmsgnick $2 {pubnick $[-9]0}}$1 +/format pubmsg_channel {pubmsgnick $3 {pubnick $[-9]0}{msgchannel $1}}$2 + +These are copied from the default theme’s default values, which are responsible +for displaying your own messages sent to a channel (own_msg) as well as +received messages (pubmsg) and the two basic highlightings (me and hilight). + +Then, in front of the argument that contains the nick name ($0 in most cases, +but $1 in pubmsg_hilight), an alignment modifier (see [1]Appendix B: Special +Variables and Expandos) has been added: [-9]. This means that the nicks will be +right-aligned and truncated to 9 characters. + +Note: Modifiers only work in the /format section of a theme (this may change in +the future) + +There are also some scripts that try to do the alignment for you, like: nm, +nm2. + +There are also some nice themes that extend the alignment to further formats, +like: [2]weed. + +# Automatic log-in to NickServ # + +Please check here => [3]Automatic log-in to NickServ + +# CertFP Log-in # + +CertFP, short for Certificate Finger Print, is another method to log you in to +NickServ. Instead of a password, it uses a [4]Client Certificate. + +In order to use it, you + + • first need a certificate, + + • then configure Irssi to use this certificate, + + • and finally register the certificate with NickServ. + +Irssi does not have built-in certificate management commands, so you need to +use an external tool like openssl to create the certificate. + +A step-by-step guide for the Libera Chat network can be found here => [5]https: +//github.com/shabble/irssi-docs/wiki/liberachat_certfp + +It is necessary that the certificate be available as a file; PKCS#11 is not +supported. + +# Tor (The Onion Router) # + +[6]Tor is an overlay network for anonymous communication. It operates a local +[7]SOCKS proxy for applications to use. + +Unfortunately, Irssi currently does not support SOCKS proxies natively. As a +workaround, you can install the [8]ProxyChains-NG program (note, it must be the +NG version). + +Afterwards, you can launch Irssi like this: + +proxychains4 irssi + +Now your connections will go through the Proxy configured in ProxyChains-NG +(Tor by default). + +IRC networks may have different requirements to be able to connect via Tor. For +the Libera Chat network, you will first need to set up [9]CertFP Log-in using a +clearnet connection, and then connect to their [10]Onion Service +palladium.libera.chat. More detailed instructions can be found here => [11] +https://github.com/shabble/irssi-docs/wiki/liberator + +# The following signatures were invalid: EXPKEYSIG # + +If you see such a message + +Err:4 home:/ailin_nemui:/irssi-an InRelease + The following signatures were invalid: EXPKEYSIG EDB7AED941EEDB57 home:ailin_nemui OBS Project + +this means that the automatic signing key used by the Open Build Service +expired. OBS renews the key periodically, but Debian does not support this. + +## Fix ## + +Download the key again, following the regular OBS instructions. If it still +does not work, verify if there is a second expired copy of the key in /etc/apt/ +trusted.gpg.d or in apt-key list and remove it as well. + + +References: + +[1] https://irssi.org/documentation/settings/#a-b +[2] https://github.com/ronilaukkarinen/weed +[3] https://irssi.org/documentation/manual/automation/#automatic-log-in-to-nickserv +[4] https://en.wikipedia.org/wiki/Client_certificate +[5] https://github.com/shabble/irssi-docs/wiki/liberachat_certfp +[6] https://www.torproject.org/ +[7] https://en.wikipedia.org/wiki/SOCKS +[8] https://github.com/rofl0r/proxychains-ng +[9] https://irssi.org/documentation/qna/certfp/ +[10] https://libera.chat/guides/connect#accessing-liberachat-via-tor +[11] https://github.com/shabble/irssi-docs/wiki/liberator diff --git a/utils/syncdocs.sh b/utils/syncdocs.sh index 77ac93bf..73c69c03 100755 --- a/utils/syncdocs.sh +++ b/utils/syncdocs.sh @@ -1,19 +1,22 @@ #!/bin/sh -e -# Run this to download FAQ and startup-HOWTO from irssi.org +# Run this to download QNA and New-users from irssi.org PKG_NAME="Irssi" +export LC_ALL=en_IE.utf8 site=https://irssi.org -faq=$site/documentation/faq/ -howto=$site/documentation/startup/ -design=$site/documentation/design/ +qna=$site/documentation/qna/ +howto=$site/New-users/ +#design=$site/documentation/design/ # remove everything until H1 and optionally 2 DIVs before the # FOOTER. May need to be adjusted as the source pages change pageclean_regex='s{.*(?=)?\s*(\s*){0,3})}{\1\2}g;' +s{(\s*)?\s*((\r?\n)*\s*\s*)?(\s*){0,3})}{\1\2}g; +s{}{}g; +s{(.*?)}{\1}g;' srcdir=`dirname "$0"` test -z "$srcdir" && srcdir=. @@ -45,6 +48,7 @@ else any=false fi +addheadermark="perl -p -e s{\\K}{(q:#:x\$1).q: :}ge;s{(?=)}{q: :.(q:#:x\$1)}ge" if type w3m >/dev/null 2>&1 ; then converter="w3m -o display_link_number=1 -dump -T text/html" any=true @@ -83,25 +87,33 @@ download_it() { mv "$3".tmp "$3" } -download_it "FAQ" "$faq" "$srcdir"/docs/faq.html -download_it "Startup How-To" "$howto" "$srcdir"/docs/startup-HOWTO.html -download_it "Design" "$design" "$srcdir"/docs/design.html +download_it_nested() { + name=$1; shift + src=$1; shift + dest=$1; shift + download_it "$name" "$src" "$dest".nest + echo > "$dest" + eval $(perl -n -0777 -e 'print qq{download_it "\$name ($2)" "\${src}$1/" "\${dest}.$1"; +cat "\${dest}.$1" >> "\${dest}.tmp"; +rm "\${dest}.$1";\n} + while(m{(.*?)}g)' "$dest".nest) + rm "$dest".nest + perl -i -0777 -p -e 's{}{}g;s{\A}{\n}' "$dest".tmp + mv "$dest".tmp "$dest" +} + +download_it_nested "QNA" "$qna" "$srcdir"/docs/qna.html +download_it "New users guide" "$howto" "$srcdir"/docs/New-users.html +#download_it "Design" "$design" "$srcdir"/docs/design.html # .html -> .txt with lynx or elinks -echo "Documentation: html -> txt..." +echo "Documentation: html -> txt... [converter: $converter]" -cat "$srcdir"/docs/faq.html \ - | LC_ALL=en_IE.utf8 $converter \ - | perl -pe ' - s/^ *//; - if ($_ eq "\n" && $state eq "Q") { $_ = ""; } - elsif (/^([QA]):/) { $state = $1 } - elsif ($_ ne "\n") { $_ = " $_"; }; -' > "$srcdir"/docs/faq.txt +cat "$srcdir"/docs/qna.html \ + | $addheadermark | $converter > "$srcdir"/docs/qna.txt -cat "$srcdir"/docs/startup-HOWTO.html \ - | perl -pe "s/\\bhref=([\"\'])#.*?\\1//" \ - | LC_ALL=en_IE.utf8 $converter > "$srcdir"/docs/startup-HOWTO.txt +cat "$srcdir"/docs/New-users.html \ + | $addheadermark | $converter > "$srcdir"/docs/New-users.txt -cat "$srcdir"/docs/design.html \ - | LC_ALL=en_IE.utf8 $converter > "$srcdir"/docs/design.txt +#cat "$srcdir"/docs/design.html \ +# | $addheadermark | $converter > "$srcdir"/docs/design.txt