Services IRC "EvaServ" en TCL/Eggdrop
!!! VERSION ALPHA !!!
Explorez les documents
Reportez un Bug
·
Proposez une amélioration
·
Wiki / Documentation
Table des matières
EvaServ est un ensemble de Services IRC écris en TCL et fonctionnant avec un eggdrop (v1.9+) pour la gestion de votre réseau IRC. Il a été testé sur un Unrealircd (v5.0+) qui utilise les nouveaux protocoles IRC, il est compatible avec la nouvelle génération de serveurs d'IRCD.
Par défaut Evaserv à 4 niveaux de rôles : Utilisateur (niveau 0 : aucun), Helpeur (1), Géofront (2), Ircop (3), Admin (4). Chaque niveau supérieur hérite des privilèges des niveaux inférieurs. chaque niveau donne droit à de nouvelles fonctionnalités (commandes) :
- Gestion des utilisateurs (vhost, gérer les accès,...)
- Gestion des salons (interdire la création, enregistrer...)
- Gestion des clients (interdire certaines ips; version de client, hostname, ident..)
- Gestion des serveurs connectés.
- eggdrop (v1.9+)
- Unrealircd (v5.0+)
- Serveur IRC nouveau protocol
- Package TCL: IRCServices (v0.0.1+)
- Package TCL: ZCT (v0.0.1+)
- Client Git ** Fortement recommandé **
- tcllib
- tcl-tls
1.1. Récupérez le code EvaServ 1.1.1 Première étape, vérifiez que les dépendances sont installées et présentes : https://github.com/ZarTek-Creole/TCL-EvaServ#pr%C3%A9requis
1.1.2 Téléchargez EvaServ Téléchargez le code d'EvaServ dans votre répertoire scripts/ de votre eggdrop
Exemple /home/votre-dossier/eggdrop/scripts/EvaServ
git clone --recurse-submodules https://github.com/ZarTek-Creole/TCL-Eva-Service /home/votre-dossier/eggdrop/scripts/EvaServ
ou
wget github.com/ZarTek-Creole/TCL-Eva-Service/archive/refs/heads/main.zip -O EvaServ.zip
unzip EvaServ.zip -d /home/votre-dossier/eggdrop/scripts/EvaServ
1.2. Configuration de l'eggdrop
Deuxième étape, ouvrez le fichier de configuration de votre eggdrop eggdrop.conf
et ajoutez la ligne ci-dessous :
source /home/votre-dossier/eggdrop/scripts/Eva/EvaServ.tcl
Si vous devez charger des dépendances pensez à le mettre au dessus de EvaServ.tcl dans votre fichier eggdrop.conf
1.3. Configuration de Eva Service
Troisième étape, renommez le fichier Eva.example.conf
en EvaServ.conf
et configurez celui-ci en fonction de votre serveur IRCD
1.4. Configuration de votre IRCD (UnrealIRCd 5 et +) Quatrième étape, il vous suffit de configurer le link dans votre fichier "unrealircd.conf" en fonction de la configuration que vous aurez réalisé dans "EvaServ.conf".
Afin de réaliser votre link EvaServ, veuillez vérifier si vous disposez d'un port dédié pour vos links ( plusieurs listen ) ou bien d'un mono port ( un seul listen ) :
listen IP-serveur:port-dedie {
options {
serversonly;
};
};
listen IP-serveur:mono-port;
ulines {
EvaServ.nom-de-domaine.fr;
...
...
};
link EvaServ.nom-de-domaine.fr {
username *;
hostname IP-link;
bind-ip *;
port Port-link;
hub *;
password-connect "mot-de-passe-link";
password-receive "mot-de-passe-link";
class servers;
};
Enregistrez le fichier de configuration. N'oubliez pas de Rehash votre serveur.
/rehash
Afin de réaliser votre link Serveur ou Service, veuillez vérifier que vous disposez bien du bind servers ci-dessous :
<bind address="IP-serveur" port="port-dedie" type="servers">
- Serveur 1
<link name="irc2.domaine.tld" ipaddr="10.0.0.2" port="7000" autoconnect="60" hidden="no" sendpass="mot-de-passe" recvpass="mot-de-passe">
- Serveur 2
<link name="irc1.domaine.tld" ipaddr="10.0.0.1" port="7000" hidden="no" sendpass="mot-de-passe" recvpass="mot-de-passe">
- Link Service
<link name="EvaServ.domaine.tld" ipaddr="10.0.0.1" port="7000" allowmask="10.0.0.1" sendpass="mot-de-passe" recvpass="mot-de-passe">
<uline server="Service.domaine.tld" silent="no">
Attention afin de réaliser votre link veuillez vérifier que votre configuration comporte bien le module ci dessous :
<module name="m_spanningtree.so">
Lors du premier lancement, aucun compte utilisateur n'existe, pour créer votre compte vous devez vous identifier
msg EvaServ auth [Votre pseudo voulu] <votre mot de passe voulu>
Cela aura comme effet de vous créer un compte de niveau 4 (Admin) par défaut
2. Un peu plus loin
2.1. Débug général
Si Eva Service ne se connecte pas, activez le mode debug depuis la party-line.
2.2. Debug Socket/Link
Pour activer le mode socket debug changez la valeur SERVICE(mode_debug)
dans votre fichier EvaServ.conf
en mettant 1 a la place de 0.
Avant de l'utiliser prenez conscience que EvaServ se compose de deux éléments distincts :
- Votre eggdrop
- Le service EvaServ
Votre eggdrop permet de charger les services Eva et annoncer sur votre salon services
SERVICE_BOT(channel)
des informations de l'utilisation. Tandis que le service Eva (bot séparer sur irc) est le service en lui-même ou les commandes seront envoyées
Pour obtenir de l'aide
/msg <nom d'eva> help
Pour vous identifier
/msg <nom d'eva> auth <mot de passe>
Voir les problèmes en suspens pour une liste des fonctionnalités proposées (et des problèmes connus).
Les contributions sont ce qui font de la communauté open source un endroit incroyable pour apprendre, inspirer et créer. Toute contribution que vous apportez est ** grandement appréciée **.
- Forkez le projet
- Créez votre branche de fonctionnalités (
git checkout -b feature/AmazingFeature
) - Validez vos modifications (
git commit -m 'Add some AmazingFeature'
) - Poussez vers la branche (
git push origin feature/AmazingFeature
) - Ouvrez une Pull Request
Distributed under the SoonDecision License. See LICENSE
for more information.
ZarTek - @ZarTek
Lien du projet : https://github.com/ZarTek-Creole/TCL-Eva-Service
- Tickets Signalez tout bug, proposez toute idée :
- Créez un ticket
-
IRC Vous pouvez me contacter sur IRC :
- irc.extra-cool.fr:+6697 #Extra-Cool
- irc.libera.chat:+6697 #Zartek
- TiSMA de Exolia.net pour le code d'origine
- Amandine de eggdrop.Fr pour son aide/idées/tests/..
- MenzAgitat car dans mes développements il y a toujours des astuces/manière de faire, fournis par MenzAgitat ou bout code de MenzAgitat