đŸ Archived View for lord.re âș posts âș 205-irc-cest-simple âș index.gmi captured on 2023-01-29 at 04:10:32. Gemini links have been rewritten to link to archived content
âŹ ïž Previous capture (2022-06-03)
âĄïž Next capture (2024-08-18)
-=-=-=-=-=-=-
-------------------------------------------------
[24/06/2020] - ~7mins - #irc #réseau #cli
-------------------------------------------------
Rhaaa Ă chaque fois qu'on parle d'IRC on entend : *âIRC c'est compliquĂ©â*
Mais en fait, c'est plutĂŽt simple.
IRC n'est pas plus compliqué que le web.
Au contraire mĂȘme.
C'est juste que le web tout le monde l'utilise pendant des heures depuis des années mais vous ne vous rendez pas spécialement compte de la complexité de la chose.
D'autant plus que chaque site est différent avec une interface qui peut varier du tout au tout.
Alors qu'IRC c'est un ensemble de rĂ©seaux oĂč tout est identique (Ă l'exception de la gestion d'identitĂ© mais ça reste optionnel).
En apprenant juste quelques rudiments il est possible de se débrouiller sur IRC.
Bref, si vous apprenez les quelques commandes de base (moins de dix) vous pourrez vous débrouiller sur IRC (et depuis trente ans, elles n'ont pas changé et ne changeront probablement pas).
Et il existe mĂȘme des logiciels qui planquent toutes ces commandes et remplacent ça par des jolies boutons pour diminuer la courbe d'apprentissage nĂ©cessaire.
Contrairement à d'autres protocoles plus en vue comme Skype, Discord, Slack, Mattermost et pleins d'autres, IRC est défini par une RFC, c'est-à -dire une norme d'Internet.
Du coup, la façon de communiquer est strictement définie et documentée et
(en vrai il y en a plusieurs maintenant) est disponible publiquement sur le web sans inscription ni paiement ni rien.
Il est donc possible pour Ă peu prĂšs n'importe qui d'Ă©crire un logiciel compatible.
C'est pour cela qu'il existe une tripotée de logiciels différents pour se connecter à IRC.
Alors que pour les protocoles cités précédemment, il n'existe que le logiciel officiel.
Il y a bien des fois des tentatives d'avoir des logiciels alternatifs mais ceux-ci ne sont pas officiels et ont tendance Ă ne pas ĂȘtre bien vu par les Ă©diteurs des logiciels officiels qui leur mettent des bĂątons dans les roux, que ce soit techniquement ou lĂ©galement bloquĂ©.
Un autre avantage, c'est qu'IRC n'est pas contrÎlé par une seule entité.
Aucun risque d'une faillite ou d'une décision d'un point central qui impacterait les réseaux IRC.
Parce que oui, il n'y a pas 1 réseau IRC mais une myriade.
Donc dans le pire des cas 1 réseau tombe mais les autres seront toujours là .
Lorsque Microsoft décidera que Skype ne rapporte plus suffisamment, ils couperont sans trop y réfléchir ou bien rendront l'accÚs payant et c'est valable pour Discord ou les autres.
IRC n'a pas d'enjeu financier derriÚre et les réseaux sont en plus trÚs souvent maintenus par des entités à but non lucratif.
Ce qu'il faut savoir c'est qu'il y a des réseaux irc, constitués de multiples serveurs, contenant chacun de multiples salons avec dedans des utilisateurs.
On a fait le plus dur.
Et vous voulez voir Ă quel point c'est simple ?
Bon il va vous faloir un client telnet/netcat/nc ou carrĂ©ment on va ĂȘtre encore plus moderne et on va passer directement par *openssl*.
Dans un terminal entrez <kbd>openssl s_client -connect irc.geeknode.org:6697</kbd> .
<details><summary>Le serveur vous répond tout un tas de trucs</summary>
<pre>
CONNECTED(00000003)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = hivane.geeknode.org
verify return:1
---
Certificate chain
0 s:CN = hivane.geeknode.org
i:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
1 s:C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
i:O = Digital Signature Trust Co., CN = DST Root CA X3
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGlzCCBX+gAwIBAgISA6LoBQCbzTgc5LavZKLAgJ7LMA0GCSqGSIb3DQEBCwUA
MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD
ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA0MjkwMjI1MDlaFw0y
MDA3MjgwMjI1MDlaMB4xHDAaBgNVBAMTE2hpdmFuZS5nZWVrbm9kZS5vcmcwggIi
MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDo8Bnlnw3/piIVTlEPWUka+vh/
EQEiByFv0Saxn/whNXcrhiejADoEqHpx2nzUiWEcDXXW+1sUr4GqikVQmJY9R8Z5
Jx8vP86rlTLHhHsgoXp4jtAbPO8BzsvqFI0KRPf6GRu83df5qQDL6M4wamy3KpOm
e0gnwGKbjbW8SSyyE1olOtk20rJC2gZhnIKtVrbYfkwnZysM9DKGRKI0y9fvgW1O
kLltFGNdWF5gc0fppgdKyghZMG+7HNbqDDn8dOQE6V6l+6ZaZD8dGIDpebywe3cQ
ZieEseDD8+jz/95KtWEFSn8dLQptRv5lzh3IzVJvtNRZnrgn4nsnUtpvynxC1+FO
MrAbpDxK76NzzuclQhcMDF8oti/AshlznsEL49efAT6azc1xCETvkVjGi/8oVK1/
Ow/yXucnO1+nVEnVuyvNTL3kX/8UAUKvEroSDAzq7/PFCH44GaKJNrfqSr/QWMlE
vAeMgeXbZ2jB5HP54E+esFsxuQl8xNNuxWpFEb+jGjLM/32w9uIAtWXFtTjQaZUr
thUKDf1UQFai01fX9pkcskfQqIX2vc3fdvub+8VPccMVYW60i9LzUaA8NG2RHjXs
muvBangMNbx4v1ugj9SpGlArRtHZCrmNmFfMd06aR0M5RX1lD9j6pPIE1oLiu4Vq
ox1rkX2U1OWDPyNGpwIDAQABo4ICoTCCAp0wDgYDVR0PAQH/BAQDAgWgMB0GA1Ud
JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
BBShKUfc6De2x77U1WYMlTrdwqEzXTAfBgNVHSMEGDAWgBSoSmpjBH3duubRObem
RWXv86jsoTBvBggrBgEFBQcBAQRjMGEwLgYIKwYBBQUHMAGGImh0dHA6Ly9vY3Nw
LmludC14My5sZXRzZW5jcnlwdC5vcmcwLwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0
LmludC14My5sZXRzZW5jcnlwdC5vcmcvMFgGA1UdEQRRME+CE2hpdmFuZS5nZWVr
bm9kZS5uZXSCE2hpdmFuZS5nZWVrbm9kZS5vcmeCEGlyYy5nZWVrbm9kZS5vcmeC
EWlyYzYuZ2Vla25vZGUub3JnMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcGCysGAQQB
gt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5cHQub3Jn
MIIBAwYKKwYBBAHWeQIEAgSB9ASB8QDvAHUAsh4FzIuizYogTodm+Su5iiUgZ2va
+nDnsklTLe+LkF4AAAFxw/d/IgAABAMARjBEAiAFBe3+77xwVk/PUmgBOGfes86i
XoqjJWfyPIl9g28pCAIgehMPGnSo3TabsFIE50MNk0RE3kor7EBxtbUXFVua0fgA
dgBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZEwAAAXHD93/nAAAEAwBH
MEUCIQDttTwmykhjiGZvSCToiI3Wdfq4bE0Te0T7jv5YmxarSAIgdaLF2LtMW9pg
LIM3mR3Oi8ZRqLP3bKO8DT9Tj0FZ1WswDQYJKoZIhvcNAQELBQADggEBAJPyo0NZ
gsvyq28knOXevVuEz+/l5MGm4OVOLS45YZRcQkbZhrEWh6LKuAiyabIfXEIO3VqE
gUknlpab+ULFOuEc+4BR8EG63QkRBef8kahPGJI57MSO9yg6qOPIyrSWIAGy0XU9
tuEvRS8ISTUw3SyhpweAwYgzMpt6hbJ6edbuoRq+9yjgnq+/TwGxpLWhrngWJ7hZ
d6DYFb+encYcjoQt6qeDUWSEeWUubY7MDGWhDJSLpWvd5mXXmCa5QgGeWdxBNRoR
kvSk+5ZTW8oBP7s3jjYFZa+tie3bQ+tWal2Ets71Vt7SaUHU4Rt8TVILSvu8RLZ9
LWpdBOlbDJaIvos=
-----END CERTIFICATE-----
subject=CN = hivane.geeknode.org
issuer=C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
No client certificate CA names sent
Client Certificate Types: RSA sign, DSA sign, ECDSA sign
Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Shared Requested Signature Algorithms: RSA+SHA512:DSA+SHA512:ECDSA+SHA512:RSA+SHA384:DSA+SHA384:ECDSA+SHA384:RSA+SHA256:DSA+SHA256:ECDSA+SHA256:RSA+SHA224:DSA+SHA224:ECDSA+SHA224:RSA+SHA1:DSA+SHA1:ECDSA+SHA1
Peer signing digest: SHA512
Peer signature type: RSA
Server Temp Key: ECDH, P-521, 521 bits
SSL handshake has read 3714 bytes and written 516 bytes
Verification: OK
New, TLSv1.2, Cipher is ECDHE-RSA-CHACHA20-POLY1305
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-CHACHA20-POLY1305
Session-ID:
Session-ID-ctx:
Master-Key: DCB0E95A32340C7509F73CDDB93C523917F5DE1A0CD221A005C9016F4D718EB986640BA161F3DE5B3ED32E75D60AB69B
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1592556345
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: yes
</pre>
</details>
Voilà , là vous avez juste établi une connexion réseau sécurisée.
Maintenant que la connexion réseau est établie, il faut parler dans le langage irc pour vous initier la session et vous connecter à un salon.
C'est un peu comme si vous aviez composé un numéro de téléphone pour le moment, maintenant vous allez commencer le dialogue en vous présentant et en faisant vos demandes.
<kbd>user $PSEUDO :$DESCRIPTION</kbd> donc lĂ vous remplacez $PSEUDO et $DESCRIPTION par ce que vous voulez (vous pouvez vous contenter de remettre votre pseudo dans la description).
<kbd>nick $PSEUDO</kbd> là vous entrez le pseudo que vous voulez utiliser (ouai c'est redondant et la subtilité avec la commande précédente n'a que peu d'intéret mais faut le faire).
LĂ , le serveur devrait vous renvoyez un message de type <kbd>PING :$XXXXXXX</kbd> .
Vous avez quelques secondes pour lui répondre <kbd>pong :$XXXXXXX</kbd> en sachant que la valeur va changer à chaque fois.
Si vous ne le faites pas assez vite vous serez déconnecté et il faudra recommencer.
D'ailleurs mĂȘme plus tard quand vous serez connectĂ© il vous enverra des ping rĂ©guliĂšrement.
Il faudra toujours y répondre promptement.
Une fois rĂ©pondu avec le pong, le serveur vous connectera rĂ©ellement et vous enverra tout un tas d'informations le concernant : son nom, sa version de logiciel, ce qu'il sait faire, sa population, un message de bienvenue, vos modesâŠ
Maintenant vous allez pouvoir rejoindre un salon de discussion pour ça il suffit de taper <kbd>join #fediverse</kbd> et hop vous voilà connecté au salon.
Vous recevrez la liste des utilisateurs actuellement connecté au salon.
C'est bon, maintenant vous pouvez pouvoir envoyer des messages en entrant <kbd>privmsg #fediverse coucou tout le monde \o/</kbd> .
Ăa y est votre message est parti.
Vous recevrez les messages du salon qui auront cette allure
<pre>:Lord!Lord@geeknode.fuckyeah PRIVMSG #fediverse :hello</pre>
Si vous souhaitez envoyer un message à un utilisateur précis c'est presque pareil avec <kbd>privmsg $DESTINATAIRE salut à toi</kbd> .
Bon, bha finalement c'est simple, non ?
C'est juste du texte qui se balade comme ça, c'est vraiment basique.
------------
Donc pour résumer se connecter / rejoindre un salon / envoyer un message ça se résume à ça :
<kbd>openssl s_client -connect irc.geeknode.org:6697</kbd><br>
<kbd>user monpseudo :monpseudo</kbd><br>
<kbd>nick monpseudo</kbd><br>
<kbd>pong $XXXXXX</kbd><br>
<kbd>join #fediverse</kbd><br>
<kbd>privmsg #fediverse coucou le salon !</kbd><br>
Voilà , n'hésitez pas à tester cette manipulation, on se croirait un vrai hacker.
Ăa ne nĂ©cessite quasiment aucune installation et puis c'est assez amusant de parler au serveur irc.
Si vous souhaitez devenir un utilisateur régulier, il va vous faloir trouver un client IRC qui vous convient.
Il en existe directement utilisable dans le navigateur comme, par exemple
ou bien
(The Lounge est Ă hĂ©berger vous-mĂȘme mais il propose cette dĂ©mo qui semble limiter au rĂ©seau Freenode).
Si vous voulez un client graphique vous aurez
(dispo pour tous les OS) ou bien
mais il est possible d'utiliser
ou bien l'illustre
(sous Windows).
Si vous ĂȘtes prĂȘt Ă sauter le pas, le meilleur client IRC actuel est Ă mon goĂ»t
mais il s'agit d'un client tournant dans votre terminal.
Au début ça peut surprendre un peu mais il s'avÚre trÚs pratigue, rapide, léger.
Et pour une appli dans le terminal sait pas mal se débrouiller de la souris pour ne pas trop dérouter.
Le protocole en lui-mĂȘme n'a pas de notion de comptes.
C'est géré par ce qu'on appelle les services et c'est parfaitement optionnel.
IRC utilise des modes pour donner des droits mais là aussi, on peut trÚs bien utiliser irc basiquement pendant des années sans s'en soucier.
J'ai écrit une petite série de guides permettant d'en apprendre un peu plus sur les rouages.
ref "posts/52-irc-niveau2" >}} IRC niveau 2
Si vous ĂȘtes plus intĂ©ressĂ© par la "culture" IRC j'ai Ă©galement rĂ©digĂ© un ptit post concernant
ref "posts/111-traditions-dirc" >}} Les us et coutumes d'IRC
.
--------------
Voilà , j'espÚre que j'ai pu démystifier certains points et vous convaincre que non c'est pas plus compliqué que le web bien au contraire.
Si vous voulez, je suis disponible en tant que lord sur le réseau irc.geeknode.org mais aussi irc.freenode.net, n'hésitez pas à venir taper la discut' (notamment sur #fediverse sur le réseau geeknode).
------------------------------------
------------------------------------
[24/06/2020] [irc réseau cli]
------------------------------------