Installation de Unrealircd sous LXD

Serveur : Ubuntu 21.10 Conteneur : Ubuntu 21.10

1/ Connexion au serveur.

util01@station66:~$ ssh ubuntu@146.59.154.144
...
ubuntu@vps-c49a29aa:~$ 

2/ Création du conteneur 'container3'.

ubuntu@vps-c49a29aa:~$ sudo lxc launch ubuntu:20.04 container3
Creating container3
Starting container3

3/ Connexion au conteneur.

ubuntu@vps-c49a29aa:~$ lxc exec container3 -- sudo --user ubuntu --login
ubuntu@container3:~$ 

4/ Redirection de port.

ubuntu@vps-c49a29aa:~$ sudo lxc config device add container3 myport6667 proxy listen=tcp:0.0.0.0:6667 connect=tcp:127.0.0.1:6667 proxy_protocol=true

5/ Mise-à-jour du système.

ubuntu@container3:~$ sudo apt update && sudo apt upgrade

6/ Ajout d'un utilisateur.

ubuntu@container3:~$ sudo adduser util01
Adding user `util01' ...
Adding new group `util01' (1001) ...
Adding new user `util01' (1001) with group `util01' ...
The home directory `/home/util01' already exists.  Not copying from `/etc/skel'.
New password: 
Retype new password: 
passwd: password updated successfully
Changing the user information for util01
Enter the new value, or press ENTER for the default
    Full Name []: util01
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n]  

7/ Installation des libraries de développement.

ubuntu@container3:~$ sudo apt-get install build-essential pkg-config libssl-dev libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev mc screen htop vim

8/ Changement d'utilisateur.

ubuntu@container3:~$ sudo su util01
util01@container3:/home/ubuntu$ cd
util01@container3:~$ 

9/ Téléchargement du code source de Unrealircd.

Lien :

https://www.unrealircd.org/docs/Installing_from_source

util01@container3:~$ wget --trust-server-names https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz

10/ Décompression de l'archive.

util01@container3:~$ tar xzvf unrealircd-6.0.2.tar.gz 
util01@container3:~$ cd unrealircd-6.0.2/
util01@container3:~/unrealircd-6.0.2$ 

11/ Configuration.

util01@container3:~/unrealircd-6.0.2$ ./Config

12/ Compilation.

util01@container3:~/unrealircd-6.0.2$ make

13/ Installation.

util01@container3:~/unrealircd-6.0.2$ make install
util01@container3:~/unrealircd-6.0.2$ cd ~/unrealircd
util01@container3:~/unrealircd$ 

14/ Copie du fichier de configuration.

util01@container3:~/unrealircd$ cp conf/examples/example.conf conf/unrealircd.conf

15/ Génération de clé.

util01@container3:~/unrealircd$ ./unrealircd gencloak
Here are 3 random cloak keys that you can copy-paste to your configuration file:

set {
    cloak-keys {
        "437N5OnwM3gK57Pl6KrIsi4sU35MxsSenAaH2K00qDwS4vIo3v4Vi7d5HN2mkcvvnEN56IdpJaFGOi7y";
        "5Mno63O588kE23xn0ul2Ls4MNbvhL5jbYcPXN1i3QxtUwmQ1EbyB7E1iFyuqRw5UJ137SlyHM2717pP7";
        "3jchrg4a6726Y52517pK1fp63f0TJ34071IrJJFv7r1frQIxbBTe1l8Le2np2Ia4xH4hq0J55O1v1T6T";
    }
}

16/ Modification du fichier de configuration.

  • Ouvrir :
~/unrealircdconf/unrealircd.conf

Chercher :

me {
        name "irc.example.org";
        info "ExampleNET Server";
        sid "001";
}

Remplacer par :

me {
        name "irc.hacklab.run";
        info "ILArd Server";
        sid "001";
}

Chercher :

admin {
        "Bob Smith";
        "bob";
        "email@example.org";
}

Remplacer par :

admin {
        "Le Sanglier des Ardennes";
        "Sanglier";
        "lesanglierdesardennes@gmail.com";
}

Chercher :

oper bobsmith {
        class opers;
        mask *@*;
        password "test";

Remplacer par :

oper lesanglierardennes {
        class opers;
        mask *@*;
        password "mot2passe";

Chercher :

set {
        network-name            "ExampleNET";
        default-server          "irc.example.org";
        services-server         "services.example.org";
        stats-server            "stats.example.org";
        help-channel            "#Help";
        cloak-prefix            "Clk";
        prefix-quit             "Quit";

        /* Cloak keys should be the same at all servers on the network.
         * They are used for generating masked hosts and should be kept secret.
         * The keys should be 3 random strings of 80 characters each (or more).
         * and must consist of lowcase (a-z), upcase (A-Z) and digits (0-9).
         * HINT: On *NIX, you can run './unrealircd gencloak' in your shell to let
         *       UnrealIRCd generate 3 random strings for you.
         */
        cloak-keys {
                "Oozahho1raezoh0iMee4ohvegaifahv5xaepeitaich9tahdiquaid0geecipahdauVaij3zieph4ahi";
                "and another one";
                "and another one";
        }
}

Remplacer par :

set {
        network-name            "ILArdNET";
        default-server          "irc.hacklab.run";
        services-server         "services.hacklab.run";
        stats-server            "stats.hacklab.run";
        help-channel            "#Help";
        cloak-prefix            "Clk";
        prefix-quit             "Quit";
        cloak-keys {
                "437N5OnwM3gK57Pl6KrIsi4sU35MxsSenAaH2K00qDwS4vIo3v4Vi7d5HN2mkcvvnEN56IdpJaFGOi7y";
                "5Mno63O588kE23xn0ul2Ls4MNbvhL5jbYcPXN1i3QxtUwmQ1EbyB7E1iFyuqRw5UJ137SlyHM2717pP7";
                "3jchrg4a6726Y52517pK1fp63f0TJ34071IrJJFv7r1frQIxbBTe1l8Le2np2Ia4xH4hq0J55O1v1T6T";
        }
}

Chercher :

set {
        kline-address "set.this.to.email.address"; /* e-mail or URL shown when a user is banned */

Remplacer par :

set {
        kline-address "banned@hacklab.run"; /* e-mail or URL shown when a user is banned */

17/ Démarrer le Unrealircd.

util01@container3:~/unrealircd$ ./unrealircd start

18/ Installation du client 'irssi'.

util01@station66:~$ sudo apt-get install irssi

19/ Lancement de 'irssi'.

util01@station66:~$ irssi --connect=irc.hacklab.run