diff options
author | Sébastien Helleu <flashcode@flashtux.org> | 2023-05-23 21:42:51 +0200 |
---|---|---|
committer | Sébastien Helleu <flashcode@flashtux.org> | 2023-05-23 21:49:54 +0200 |
commit | ad1ae12321ff23424fdb1b9f455ac2e8039cdfe4 (patch) | |
tree | 09e3e030d17a478b3df6b3c829cbeb795d84109e /doc/en | |
parent | 64c3f3f0cdc943fcb0015b434ac16d6cbea81892 (diff) | |
download | weechat-ad1ae12321ff23424fdb1b9f455ac2e8039cdfe4.zip |
doc/user: move IRCv3 chapter outside "Servers"
Diffstat (limited to 'doc/en')
-rw-r--r-- | doc/en/weechat_user.en.adoc | 334 |
1 files changed, 167 insertions, 167 deletions
diff --git a/doc/en/weechat_user.en.adoc b/doc/en/weechat_user.en.adoc index 58a4bd131..afe472c3c 100644 --- a/doc/en/weechat_user.en.adoc +++ b/doc/en/weechat_user.en.adoc @@ -3390,8 +3390,155 @@ which can also be for example `~/.weechat`. For more information, please look at https://www.oftc.net/NickServ/CertFP/[this page ^↗^,window=_blank]. +[[irc_sasl_authentication]] +==== SASL authentication + +WeeChat supports SASL authentication, using different mechanisms: + +* _plain_: plain text password (default) +* _scram-sha-1_: SCRAM with SHA-1 digest algorithm +* _scram-sha-256_: SCRAM with SHA-256 digest algorithm +* _scram-sha-512_: SCRAM with SHA-512 digest algorithm +* _ecdsa-nist256p-challenge_: challenge with public/private key +* _external_: client side TLS cert + +Options in servers are: + +* _sasl_mechanism_: mechanism to use (see above) +* _sasl_timeout_: timeout (in seconds) for authentication +* _sasl_fail_: action to perform if authentication fails +* _sasl_username_: username (nick) +* _sasl_password_: password +* _sasl_key_: file with ECC private key (for mechanism + _ecdsa-nist256p-challenge_) + +[[irc_sasl_ecdsa_nist256p_challenge]] +===== SASL ECDSA-NIST256P-CHALLENGE + +You must generate a private key in order to authentify with the +ECDSA-NIST256P-CHALLENGE mechanism (no password is required on connection). + +You can generate the key with this command: + +---- +$ openssl ecparam -genkey -name prime256v1 -out ~/.config/weechat/ecdsa.pem +---- + +[NOTE] +You must replace `~/.config/weechat` by the path to your WeeChat config directory +which can also be for example `~/.weechat`. + +Get the public key (encoded as base64) with this command: + +---- +$ openssl ec -noout -text -conv_form compressed -in ~/.config/weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64 +---- + +Connect to the server, identify (for example with "nickserv identify") and set +your public key in your account, using nickserv (replace the base64 value with +your public key): + +---- +/connect libera +/msg nickserv identify your_password +/msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q +---- + +Configure the SASL options in the server: + +---- +/set irc.server.libera.sasl_mechanism ecdsa-nist256p-challenge +/set irc.server.libera.sasl_username "your_nickname" +/set irc.server.libera.sasl_key "${weechat_config_dir}/ecdsa.pem" +---- + +Reconnect to the server: + +---- +/reconnect libera +---- + +[[irc_servers_connection]] +==== Connection + +You can connect to server with the <<command_irc_connect,/connect>> command: + +---- +/connect libera +---- + +To disconnect: + +---- +/disconnect libera +---- + +Or just this if you are on any buffer belonging to _libera_ server (server, +channel, private): + +---- +/disconnect +---- + +When you connect to multiple servers at same time, server buffers are merged +by default and you can switch between them with the kbd:[Ctrl+x] key. + +It is possible to disable auto merge of server buffers to have independent +server buffers: + +---- +/set irc.look.server_buffer independent +---- + +[[irc_tor_sasl]] +==== Connect with Tor and SASL + +Some servers support connections with https://www.torproject.org/[Tor ^↗^,window=_blank], +a network of virtual tunnels that allows people and groups to improve their +privacy and security on the Internet. + +In first place, install Tor. For Debian (and derived): + +---- +$ sudo apt-get install tor +---- + +In WeeChat you need to add a socks5 proxy for Tor service (hostname/IP and +port depend on your Tor configuration): + +---- +/proxy add tor socks5 127.0.0.1 9050 +---- + +Now, add a new server (replace server name "irc-tor" and the address by a valid one): + +---- +/server add irc-tor this.is.the.address.onion +---- + +Set proxy for Tor: + +---- +/set irc.server.irc-tor.proxy "tor" +---- + +Set SASL authentication with ECDSA-NIST256P-CHALLENGE (see the chapter +<<irc_sasl_ecdsa_nist256p_challenge,SASL ECDSA-NIST256P-CHALLENGE>> to generate +a private key): + +---- +/set irc.server.irc-tor.sasl_mechanism ecdsa-nist256p-challenge +/set irc.server.irc-tor.sasl_username "your_nickname" +/set irc.server.irc-tor.sasl_key "${weechat_config_dir}/ecdsa.pem" +---- + +And finally, connect to the server: + +---- +/connect irc-tor +---- + [[irc_ircv3_support]] -==== IRCv3 support +=== IRCv3 support WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^,window=_blank]: @@ -3423,7 +3570,7 @@ Tables with comparison of different IRC clients, including WeeChat, are availabl on https://ircv3.net/software/clients[this page ^↗^,window=_blank]. [[irc_ircv3_account_notify]] -===== account-notify +==== account-notify Specification: https://ircv3.net/specs/extensions/account-notify[account-notify ^↗^,window=_blank] @@ -3442,7 +3589,7 @@ Examples: .... [[irc_ircv3_account_tag]] -===== account-tag +==== account-tag Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^,window=_blank] @@ -3471,7 +3618,7 @@ Message with tags: .... [[irc_ircv3_away_notify]] -===== away-notify +==== away-notify Specification: https://ircv3.net/specs/extensions/away-notify[away-notify ^↗^,window=_blank] @@ -3486,7 +3633,7 @@ with a specific color in the nicklist, using the following options: * <<option_weechat.look.item_away_message,weechat.look.item_away_message>> [[irc_ircv3_batch]] -===== batch +==== batch Specification: https://ircv3.net/specs/extensions/batch[batch ^↗^,window=_blank] @@ -3497,7 +3644,7 @@ For now, WeeChat only stores messages received in a batch and processes as usual later, when the batch ends. [[irc_ircv3_cap_notify]] -===== cap-notify +==== cap-notify Specification: https://ircv3.net/specs/extensions/capability-negotiation#the-cap-new-subcommand[cap-notify ^↗^,window=_blank] @@ -3513,7 +3660,7 @@ Examples: .... [[irc_ircv3_chghost]] -===== chghost +==== chghost Specification: https://ircv3.net/specs/extensions/chghost[chghost ^↗^,window=_blank] @@ -3531,7 +3678,7 @@ Example: .... [[irc_ircv3_draft_multiline]] -===== draft/multiline +==== draft/multiline Specification: https://ircv3.net/specs/extensions/multiline[multiline ^↗^,window=_blank] @@ -3584,7 +3731,7 @@ Display of the message sent in WeeChat: .... [[irc_ircv3_echo_message]] -===== echo-message +==== echo-message Specification: https://ircv3.net/specs/extensions/echo-message[echo-message ^↗^,window=_blank] @@ -3597,7 +3744,7 @@ it means it has been properly received by the server and propagated to other clients connected to the server as well. [[irc_ircv3_extended_join]] -===== extended-join +==== extended-join Specification: https://ircv3.net/specs/extensions/extended-join[extended-join ^↗^,window=_blank] @@ -3614,7 +3761,7 @@ Example: .... [[irc_ircv3_invite_notify]] -===== invite-notify +==== invite-notify Specification: https://ircv3.net/specs/extensions/invite-notify[invite-notify ^↗^,window=_blank] @@ -3628,7 +3775,7 @@ Example: .... [[irc_ircv3_message_tags]] -===== message-tags +==== message-tags Specification: https://ircv3.net/specs/extensions/message-tags[message-tags ^↗^,window=_blank] @@ -3638,7 +3785,7 @@ These tags can be displayed using the command `/debug tags`. It must be enabled to use <<typing_notifications,typing notifications>>. [[irc_ircv3_monitor]] -===== monitor +==== monitor Specification: https://ircv3.net/specs/extensions/monitor[monitor ^↗^,window=_blank] @@ -3648,7 +3795,7 @@ WeeChat automatically uses this extension if available when using the <<command_irc_notify,/notify>> command. [[irc_ircv3_multi_prefix]] -===== multi-prefix +==== multi-prefix Specification: https://ircv3.net/specs/extensions/multi-prefix[multi-prefix ^↗^,window=_blank] @@ -3674,14 +3821,14 @@ Example: output of `/whois alice`: .... [[irc_ircv3_sasl]] -===== SASL +==== SASL Specification: https://ircv3.net/specs/extensions/sasl-3.2[SASL 3.2 ^↗^,window=_blank] See the dedicated chapter <<irc_sasl_authentication,SASL authentication>>. [[irc_ircv3_server_time]] -===== server-time +==== server-time Specification: https://ircv3.net/specs/extensions/server-time[server-time ^↗^,window=_blank] @@ -3694,7 +3841,7 @@ so any IRC client of Relay should enable it to display the real message time in the backlog sent upon connection. [[irc_ircv3_setname]] -===== setname +==== setname Specification: https://ircv3.net/specs/extensions/setname[setname ^↗^,window=_blank] @@ -3702,14 +3849,14 @@ This capability lets you change your real name by using the <<command_irc_setname,/setname>> command. [[irc_ircv3_typing]] -===== typing +==== typing Specification: https://ircv3.net/specs/client-tags/typing[typing ^↗^,window=_blank] See the dedicated chapter <<typing_notifications,Typing notifications>>. [[irc_ircv3_userhost_in_names]] -===== userhost-in-names +==== userhost-in-names Specification: https://ircv3.net/specs/extensions/userhost-in-names[userhost-in-names ^↗^,window=_blank] @@ -3732,7 +3879,7 @@ Example of raw IRC messages received with the capability: .... [[irc_ircv3_whox]] -===== WHOX +==== WHOX Specification: https://ircv3.net/specs/extensions/whox[WHOX ^↗^,window=_blank] @@ -3740,153 +3887,6 @@ This capability lets you request additional fields in the WHO response (via the <<command_irc_who,/who>> command). + WeeChat displays all additional information received in the WHO output. -[[irc_sasl_authentication]] -==== SASL authentication - -WeeChat supports SASL authentication, using different mechanisms: - -* _plain_: plain text password (default) -* _scram-sha-1_: SCRAM with SHA-1 digest algorithm -* _scram-sha-256_: SCRAM with SHA-256 digest algorithm -* _scram-sha-512_: SCRAM with SHA-512 digest algorithm -* _ecdsa-nist256p-challenge_: challenge with public/private key -* _external_: client side TLS cert - -Options in servers are: - -* _sasl_mechanism_: mechanism to use (see above) -* _sasl_timeout_: timeout (in seconds) for authentication -* _sasl_fail_: action to perform if authentication fails -* _sasl_username_: username (nick) -* _sasl_password_: password -* _sasl_key_: file with ECC private key (for mechanism - _ecdsa-nist256p-challenge_) - -[[irc_sasl_ecdsa_nist256p_challenge]] -===== SASL ECDSA-NIST256P-CHALLENGE - -You must generate a private key in order to authentify with the -ECDSA-NIST256P-CHALLENGE mechanism (no password is required on connection). - -You can generate the key with this command: - ----- -$ openssl ecparam -genkey -name prime256v1 -out ~/.config/weechat/ecdsa.pem ----- - -[NOTE] -You must replace `~/.config/weechat` by the path to your WeeChat config directory -which can also be for example `~/.weechat`. - -Get the public key (encoded as base64) with this command: - ----- -$ openssl ec -noout -text -conv_form compressed -in ~/.config/weechat/ecdsa.pem | grep '^pub:' -A 3 | tail -n 3 | tr -d ' \n:' | xxd -r -p | base64 ----- - -Connect to the server, identify (for example with "nickserv identify") and set -your public key in your account, using nickserv (replace the base64 value with -your public key): - ----- -/connect libera -/msg nickserv identify your_password -/msg nickserv set pubkey Av8k1FOGetUDq7sPMBfufSIZ5c2I/QYWgiwHtNXkVe/q ----- - -Configure the SASL options in the server: - ----- -/set irc.server.libera.sasl_mechanism ecdsa-nist256p-challenge -/set irc.server.libera.sasl_username "your_nickname" -/set irc.server.libera.sasl_key "${weechat_config_dir}/ecdsa.pem" ----- - -Reconnect to the server: - ----- -/reconnect libera ----- - -[[irc_servers_connection]] -==== Connection - -You can connect to server with the <<command_irc_connect,/connect>> command: - ----- -/connect libera ----- - -To disconnect: - ----- -/disconnect libera ----- - -Or just this if you are on any buffer belonging to _libera_ server (server, -channel, private): - ----- -/disconnect ----- - -When you connect to multiple servers at same time, server buffers are merged -by default and you can switch between them with the kbd:[Ctrl+x] key. + -It is possible to disable auto merge of server buffers to have independent -server buffers: - ----- -/set irc.look.server_buffer independent ----- - -[[irc_tor_sasl]] -==== Connect with Tor and SASL - -Some servers support connections with https://www.torproject.org/[Tor ^↗^,window=_blank], -a network of virtual tunnels that allows people and groups to improve their -privacy and security on the Internet. - -In first place, install Tor. For Debian (and derived): - ----- -$ sudo apt-get install tor ----- - -In WeeChat you need to add a socks5 proxy for Tor service (hostname/IP and -port depend on your Tor configuration): - ----- -/proxy add tor socks5 127.0.0.1 9050 ----- - -Now, add a new server (replace server name "irc-tor" and the address by a valid one): - ----- -/server add irc-tor this.is.the.address.onion ----- - -Set proxy for Tor: - ----- -/set irc.server.irc-tor.proxy "tor" ----- - -Set SASL authentication with ECDSA-NIST256P-CHALLENGE (see the chapter -<<irc_sasl_ecdsa_nist256p_challenge,SASL ECDSA-NIST256P-CHALLENGE>> to generate -a private key): - ----- -/set irc.server.irc-tor.sasl_mechanism ecdsa-nist256p-challenge -/set irc.server.irc-tor.sasl_username "your_nickname" -/set irc.server.irc-tor.sasl_key "${weechat_config_dir}/ecdsa.pem" ----- - -And finally, connect to the server: - ----- -/connect irc-tor ----- - [[irc_channels]] === Channels |