Git Product home page Git Product logo

tcl-evaserv's Introduction

Open Collective donate button CC BY 4.0


Logo

Eva - IRC Services

Services IRC "EvaServ" en TCL/Eggdrop
!!! VERSION ALPHA !!!
Explorez les documents

Reportez un Bug · Proposez une amélioration · Wiki / Documentation

Table des matières
  1. À propos du projet
  2. Commencez
  3. Utilisation
  4. Feuille de route
  5. Contributions
  6. License
  7. Contact
  8. Remerciements

A propos EvaServ

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.

Prérequis

Installation

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".

Comment créer un link EvaServ sur UnrealIRCd

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 ) :

Port dédié

listen IP-serveur:port-dedie {  
    options {  
		serversonly;  
	};  
};  

Ou Mono Port

listen IP-serveur:mono-port;

Ajoutez la uline

ulines {  
EvaServ.nom-de-domaine.fr;  
...  
...  
};

Ajoutez le link

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

Comment créer un link EvaServ sur InspIRCd

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"> 

Link Serveur

  • 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">

Premier lancement

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.

Usage

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>

Roadmap

Voir les problèmes en suspens pour une liste des fonctionnalités proposées (et des problèmes connus).

Contributions

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 **.

  1. Forkez le projet
  2. Créez votre branche de fonctionnalités (git checkout -b feature/AmazingFeature)
  3. Validez vos modifications (git commit -m 'Add some AmazingFeature')
  4. Poussez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

License

Distributed under the SoonDecision License. See LICENSE for more information.

Contact

ZarTek - @ZarTek

Lien du projet : https://github.com/ZarTek-Creole/TCL-Eva-Service

  1. Tickets Signalez tout bug, proposez toute idée :
  • Créez un ticket
  1. IRC Vous pouvez me contacter sur IRC :

    • irc.extra-cool.fr:+6697 #Extra-Cool
    • irc.libera.chat:+6697 #Zartek

Remerciements

  • 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

tcl-evaserv's People

Contributors

moonontheroad avatar zartek-creole avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

tcl-evaserv's Issues

Bug: commands dont work for ircops

i used this setup to test the tcl :

ircd : UnrealIRCd-5.2.1.1
eggdrop : Eggdrop v1.9.1

it linked fine but it seems not to recognize any IRCOP
whatever command i use i get : -Eva- : Accès Refusé
i tried various like !gline !kline !shun and more and i keep gettin : -Eva- : Accès Refusé

its a nice project to port the code for use with unrealircd5 i used the old Lea/Eva tcl with old unrealircd 3 branch as well and that seemed to work very well without any issues

thank you.

Bug EvaServ.tcl

EvaServ is configured but don't connect on my IRC server the eggdrop is connected with SSL connexion, in party line with eggdrop here some error messages :
Tcl error [eva:dbback]: invalid idx

IRCD name and version / Nom et version de l'IRCD

UnrealIRCD 5.2.1.1
Anope 2.0.9
eggdrop 1.9.1

<c01,01>----------- Infos de Eva Service -----------

Statut : Online
Debug : On
Os : Linux 4.19-ovh-xxxx-std-ipv6-64
Tcl Version : 8.6.6
Tcl Lib : /usr/share/tcltk/tcl8.6
Encodage : utf-8
Eggdrop Version : 1.9.1
Config : scripts/Eva/EvaServ.conf
Noyau : scripts/Eva/EvaServ.tcl

EvaServ semble "Online" mais je joint pas le canal #Eva

Security Check en topic du chanlog

Au lieu d'afficher a chaque connexion d'utilisateur les statuts des "Security Check", le mettre en topic du chanlog

Le topic ce met a jour a chaque activation/désactivation d'une sécurité

Creation d'un Doc

Il manque cruellement de docs sur sont utilisation et son installation/configuration

Les commandes de bases:
-> msg eva auth
-> ..

Configuration
-> unrealircd link exemple
...

Namespace

modifier en implantant les namespace

addnick case sensible

[13-04/15:39] <Amand> �<�Amand�>� ah tiens j'ai découvert un petit souci sur Eva
[13-04/15:39] <Amand> �<�Amand�>� sur le addnick
[13-04/15:39] <Amand> �<�Amand�>� si tu ajoutes " Based " il ajoute " based " du coup quand je me connecte en " based " il me kill bien
[13-04/15:39] <Amand> �<�Amand�>� mais quand je me co en Based nop
[13-04/15:39] <Amand> �<�Amand�>� un pb de tolower je pense
[13-04/15:39] <Amand> �<�Amand�>� realname c'est bon
[13-04/15:39] <Amand> mince, je dois faire une course
[13-04/15:43] <MalaGaM> Ah non javais pas vu du tout
[13-04/15:43] <MalaGaM> Oui sans doute, la sensibilité a la case qui diferencie 

Problème lors qu'un utilisateur change de nick

[26-03/21:54] * Amand is now known as Amand[CoucouHibou]
[26-03/21:54] Nick : Amand change son pseudo en Amand[CoucouHibou]
[26-03/21:54] * Amand[CoucouHibou] is now known as Amand
[26-03/21:54] Nick : Amand change son pseudo en Amand
[26-03/21:54] quand on change de nick
[26-03/21:54] ça fonctionne plus
[26-03/21:54] avant ça fonctionnait
[26-03/21:56] oui, surement le UID encore
[26-03/21:56] [21:54:07] Received: :001PSYE4B NICK Amand[CoucouHibou] 1616792047
[26-03/21:56] oki je vais fix sa

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.