Mais c'est quoi donc ?
Depuis pas mal de temps, je codouille[1] en Perlouille[2] pour le plus beau, le trop méga génial hyper
; j'ai bien sûr nommé IRSSI.
Comme je n'ai pas forcément Internet partout où je vais, il faut bien que je puisse continuer à Perlouiller, du coup ci-dessous une petite explication pour se faire un environnement IRC quickly.
De quoi a-ton besoin ?
- D'un Client IRC, logiquement IRSSI,
- D'un Serveur IRC, soit du lourd, du velu comme UnrealIrcd, soit du romantique extravagant avec une once de sophistication et surtout du Poil partout : inspIRCd (celui que j'ai choisi pour aujourd'hui),
- D'un Bot faisant du XDCC, donc pour l'occasion : Iroffer.
- D'un Linux, et pour ma part du répertoire
/usr/local/src/IRC_dev/
.
Comment builder le serveur ?
Le Build en lui même :
./configure --prefix=/usr/local/src/IRC_dev/inspIRCd
make clean && make && make install
Pour résumer, on indique où vont se trouver les binaires après installation, on compile et on installe. Comptez 19 bonnes minutes sur mon Athlon mobile 2000+, mes 512 MiB de RAM et dont la RunQueue est en moyenne de 2 en permanence, ou alors 7 minutes sur un Sempron 3000+ qui fait semblant de router des paquets IP.
La configuration :
Si c'est pour du test, il n'y a pas grand chose à modifier ; vous copiez le fichier inspircd.conf.example
en inspircd.conf
dans le sous-répertoire conf/
et vous modifiez les quelques lignes suivantes :
name="localhost.localdomain"
description="Mon Test IRC"
name="Me"
nick="myUglyNick"
address="127.0.0.1"
Pour la partie secret
:
allow="192.168.36.15"
Pour la partie main
:
allow="127.0.0.1"
Et n'oubliez pas de commenter les lignes qui commencent par <die value="...
.
Le test :
Comme je suis pas un relou, d'une part je ne laisse pas ce genre de programme tourner en root
, mon user me suffit, et d'autre part je le fais tourner en debug
dans un screen
[3].
$ ./inspircd help
Usage: ./inspircd (start|version|restart|checkconf|status|cron|help|rehash|stop)
Developer arguments: (screendebug|valdebug|debug|valdebug-unattended|screenvaldebug)
Exemple :
$ ./inspircd debug
[...]
InspIRCd is now running as 'localhost.localdomain'[559] with 1024 max open sockets
Mon Jan 18 23:51:47 2010: Keeping pseudo-tty open as we are running in the foreground.
Mon Jan 18 23:51:47 2010: Startup complete as 'localhost.localdomain'[559], 1024 max open sockets
Comment builder le Bot ?
Le Build en lui même :
D'abord je modifie le Makefile.config
pour avoir mon installation où je veux. Je change INSDIR = /usr/local/src/IRC_dev/iroffer
.
mkdir /usr/local/src/IRC_dev/iroffer
./Configure
make clean && make && sudo make install
sudo chown monuser:mongroup /usr/local/src/IRC_dev/iroffer/iroffer
Faites fi de tout ces Warning qui font chier, et vous aurez un beau binaire.
La configuration :
Si c'est pour du test, il n'y a pas grand chose à modifier ; vous copiez le fichier sample.conf
en tupeuxpastest.conf
dans le répertoire du binaire et vous modifiez les quelques lignes suivantes :
connectionmethod direct
server 127.0.0.1
channel #myTest -plist 2 -plistoffset 3 -pformat full
user_nick mybotDCC
user_realname My Bot
# Pour la valeur suivante, c'est à voir pour vos tests
downloadhost *!*@*
# C'est du local
overallmaxspeed 600
#adminpass montest (généré avec iroffer -c)
adminpass Hffrt/W5SUFZk
adminhost *!~me@*.domain.com
adminhost *!me@192.168.10.#
timestampconsole
Le test :
Comme je suis pas un relou, d'une part je ne laisse pas ce genre de programme tourner en root
, mon user me suffit, et d'autre part je le fais tourner en debug
dans un screen
[4].
$ ./iroffer
./iroffer: no configuration file specifed
iroffer v1.3.b11 [20051213023024] by PMG, see http://iroffer.org/
Usage: ./iroffer [-vc] [-bdkns] [-u user] [-t dir] configfile [ configfile ... ]
-v Print version and exit.
-c Generate encrypted password and exit.
-d Increase debug level
-b Go to background mode
-k Attempt to adjust ulimit to allow core files
-n No colors in foreground mode
-s No screen manipulation in foreground mode
-u user Run as user (you have to start as root).
-t dir Chroot to dir (you have to start as root).
Exemple :
$ ./iroffer -d tupeuxpastest.config
[...]
** 2010-01-19-00:24:04: Attempting Connection to 127.0.01 (direct)
** 2010-01-19-00:24:04: Connecting to 127.0.0.1:6667
** 2010-01-19-00:24:04: ircserver socket = 5
** 2010-01-19-00:24:04: Server Connection Established, Logging In
** 2010-01-19-00:24:04: ourip = 127.0.0.1
** 2010-01-19-00:24:04: <SND<: NICK mybotDCC
[...]
** 2010-01-19-00:24:54: <SND<: PING localhost.localdomain
** 2010-01-19-00:24:54: >IRC>: :localhost.localdomain PONG localhost.localdomain :localhost.localdomain
[ Stat: 0/20 Sls, 0/10 Q, 0.0K/s Rcd, 0 SrQ (Bdw: 0K, 0.0K/s, 0.0K/s Rcd) ]
[ iroffer (mybotDCC) >
Comment builder le client ?
M'en fous ! Un sudo apt-get install irssi
m'a suffi.