Open Eye v1.0 par Anonyme
Catégorie : Sécurité - protection
69 téléchargements
Description :

Description

Vous en avez marre, chaque fois que vous vous absentez, de devoir relire des kilomètres de logs pour savoir si vos users adorés n'ont pas trop foutu le bordel en votre absence ?
Vous rêvez d'avoir un concierge privé qui garderait l'oeil ouvert en permanence et qui vous ferait un résumé des évènements dignes d'intérêt dès votre retour ?
C'est précisément ce à quoi sert Open Eye.

Open Eye est un système de surveillance complet qui note dans un rapport tout ce que vous lui direz de surveiller.
Ce rapport peut ensuite être consulté au moment voulu.

Il existe 15 types de surveillance différents et chacun de ces types possède un nombre variable de sous-types pour un total de 57 critères de surveillance.
Voici les 15 types de base :
  • keyword = surveillance des mots clés dans tous les messages, notices et ctcp action (/me) publics.
  • join = surveillance des utilisateurs rejoignant #chan.
  • part = surveillance des utilisateurs quittant #chan.
  • quit = surveillance des utilisateurs se déconnectant.
  • netsplit = surveillance des utilisateurs perdus lors d'un netsplit.
  • rejoin = surveillance des utilisateurs rejoignant #chan après un netsplit.
  • invite = surveillance des invitations sur #chan.
  • nickchange = surveillance des changements de nick sur #chan.
  • kick = surveillance des kicks sur #chan.
  • ban = surveillance des bannissements sur #chan.
  • unban = surveillance des dé-bannissements sur #chan.
  • mode = surveillance des changements de modes sur #chan.
  • topic = surveillance des changements de topic sur #chan.
  • connect = surveillance des connexions de votre eggdrop au serveur.
  • disconnect = surveillance des déconnexions de votre eggdrop du serveur.
Chaque type se décline en sous-types.
Pour le type keyword par exemple, il est possible de détecter l'évènement en fonction du nick de la personne qui a parlé, de son host, de son handle, de ce qu'il a dit, ou encore de tous ces sous-types à la fois.
Voici les différents sous-types possibles (certains ne sont disponibles que pour certains types) :
  • nick = la chaîne de détection sera comparée avec le nick de l'user qui a déclenché l'évènement.
  • hand = la chaîne de détection sera comparée avec le handle de l'user qui a déclenché l'évènement.
  • host = la chaîne de détection sera comparée avec le host de l'user qui a déclenché l'évènement.
  • text = la chaîne de détection sera comparée avec le texte que l'user a écrit en public.
  • msg = la chaîne de détection sera comparée avec le message de part, de quit ou de kick, selon le cas.
  • topic = la chaîne de détection sera comparée avec le topic.
  • targetnick = la chaîne de détection sera comparée avec le nick de la cible d'une invitation ou d'un kick, selon le cas.
  • targethand = la chaîne de détection sera comparée avec le handle de la cible d'une invitation ou d'un kick, selon le cas.
  • targethost = la chaîne de détection sera comparée avec le host de la cible d'une invitation ou d'un kick, selon le cas.
  • newnick = la chaîne de détection sera comparée avec le nouveau nick d'un user qui vient d'en changer.
  • banmask = la chaîne de détection sera comparée avec le masque de ban ou d'unban, selon le cas.
  • mode = la chaîne de détection sera comparée avec le mode.
  • arg = la chaîne de détection sera comparée avec l'argument du mode.
  • all = la chaîne de détection sera comparée avec tous les sous-types disponibles à la fois.
Comme je l'expliquais juste avant, certains sous-types ne sont disponibles que pour certains types :
  • pour le type keyword, le sous-type peut être nick hand host text ou all
  • pour le type join, le sous-type peut être nick hand host ou all
  • pour le type part, le sous-type peut être nick hand host msg ou all
  • pour le type quit, le sous-type peut être nick hand host msg ou all
  • pour le type netsplit, le sous-type peut être nick hand host ou all
  • pour le type rejoin, le sous-type peut être nick hand host ou all
  • pour le type invite, le sous-type peut être nick hand host targetnick targethand targethost ou all
  • pour le type nickchange, le sous-type peut être nick hand host newnick ou all
  • pour le type kick, le sous-type peut être nick hand host targetnick targethand targethost msg ou all
  • pour le type ban, le sous-type peut être nick hand host banmask ou all
  • pour le type unban, le sous-type peut être nick hand host banmask ou all
  • pour le type mode, le sous-type peut être nick hand host mode arg ou all
  • pour le type topic, le sous-type peut être nick hand host topic ou all
Enchaînons par quelques exemples concrets :
1- mettons que je veuille qu'Open Eye me rapporte quand quelqu'un prononce le mot "p0rn" sur le chan #monchan.
Je dois dans un premier temps activer la surveillance des mots clés dans les messages publics sur #monchan :
tcl
.survey set #monchan keyword on


Ensuite, je dois ajouter une chaîne de détection comme ceci :
tcl
.survey add #monchan keyword text *p0rn*


J'utilise des "*" afin qu'il détecte le mot p0rn même en plein milieu d'une phrase et non pas uniquement lorsqu'il est employé tout seul.
2- maintenant je veux qu'Open Eye me rapporte chaque fois qu'un user dont le host contient "BsMax" ouvre la bouche sur #monchan pour dire quelque chose; il me suffit d'ajouter une chaîne de détection supplémentaire :
tcl
.survey add #monchan keyword host *bsmax*


3- je souhaite aussi qu'Open Eye m'informe chaque fois qu'un user est banni sur n'importe quel chan où se trouve mon eggdrop :
tcl
.survey add global ban nick *


En définissant des détections globales, assurez-vous que le type de surveillance en question soit activé au moins sur l'un de vos chans, sinon Open Eye ne verra pas grand-chose.
4- enfin, j'aimerais qu'Open Eye enregistre chaque fois que le mode m est mis ou enlevé sur #monchan :
tcl
.survey add #monchan mode mode ?m


Le ? remplaçant n'importe quel caractère, ?m détectera les modes +m et -m.

Veuillez noter que toutes les commandes doivent être tapées en partyline et que l'affichage du rapport se fait lui aussi en partyline, pour des raisons de confidentialité et de rapidité d'affichage de nombreuses lignes de texte.

Vous pouvez contrôler si Open Eye doit appliquer ou non un style visuel (couleurs, gras, soulignement) sur ce qu'il affiche, au moyen du flag h.
Par exemple si vous voulez utiliser la coloration, vous devez taper :
tcl
.chattr VotreHandle +h


et si vous préférez ne pas utiliser de style visuel du tout :
tcl
.chattr VotreHandle -h


Lorsqu'un déclencheur de type keyword (mot clé dans un message public) enregistre une ligne dans le rapport, vous noterez qu'il ajoute également les quelques lignes précédant la ligne qui l'a déclenché.
Ca permet de mieux comprendre le contexte de ce qui a été dit.
La ligne contenant le déclencheur est indiquée au moyen d'un marqueur rouge afin de la différencier des lignes appartenant au contexte.

Les différents types de surveillance peuvent être activés/désactivés séparément pour chaque chan (au moyen de la commande .survey set) et ils sont sont tous désactivés par défaut si c'est la première fois que vous lancez ce script.

Il est possible pour d'autres scripts d'envoyer des lignes à Open Eye afin de les adjoindre au rapport, une procédure existe dans ce but précis.
Cette procédure se trouve en dehors du namespace d'Open Eye afin d'offrir une plus grande facilité d'utilisation; le revers potentiel est que si vous utilisez un autre script qui définit une procédure du même nom, vous aurez un conflit sur les bras.
Vous pourrez facilement corriger ce problème en modifiant le nom de ladite procédure dans Open Eye.
Voici comment utiliser cette fonction :
tcl
add_to_report <nom_du_script_appelant> <#chan> <information_à_ajouter>


Si l'information ne concerne pas un chan en particulier, mettez "-" à la place du nom du chan.
Nom_du_script_appelant doit être le nom du script qui envoie l'information.
Soyez prudent dans la façon dont vous utilisez cette fonction, si vous envoyez par exemple "\n" comme information, ça provoquera un retour à la ligne inopiné en plein milieu du fichier rapport et Open Eye n'aimera pas du tout ça.
Open Eye déclare le package "OpenEye" afin que vous puissiez vérifier sa présence depuis d'autres scripts au moyen de :
tcl
package require OpenEye



Syntaxe

.survey <on/off>
Active/désactive la surveillance (agit comme un interrupteur global).

.survey set [#chan] <setting> <on/off>
Active/désactive la surveillance d'un type donné.

.survey <add/del> <global/#chan> <type> <subtype> <chaîne de détection>
Ajoute/supprime une chaîne de détection du type et du sous-type spécifié.

.survey list <global/#chan> <type> <subtype>
Affiche les chaînes de détection du type et du sous-type spécifié.
Si subtype vaut *, affiche les chaînes de détection de tous les sous-types confondus.

.survey lists <global/#chan>
Affiche un récapitulatif de toutes les listes de détection.

.survey copy <#chan1> <#chan2>
Copie les listes de détection de #chan1 sur #chan2 (il s'agit d'une fusion, aucun paramètre préexistant de #chan2 ne sera effacé)

.survey status [#chan]
Affiche un récapitulatif du statut de la surveillance sur tous les chans, ou seulement celui de #chan si ce dernier est spécifié.

.report <*/#chan>
Affiche le rapport de surveillance global ou celui de #chan.

.report purge <*/#chan>
Efface le rapport de surveillance global ou celui de #chan.

Informations complémentaires relatives à la syntaxe
  • Valeurs possibles pour l'argument setting (de la commande .survey set) : keyword join part quit netsplit rejoin invite nickchange kick ban unban mode topic connect ou disconnect.
    Si setting vaut connect ou disconnect, vous ne devez pas spécifier #chan car ces 2 types de surveillance sont indépendants du chan.
    Exemples :
    tcl
    .survey set #chan nickchange on
    .survey set disconnect off


  • Valeurs possibles pour l'argument type : keyword join part quit netsplit invite nickchange kick ban unban mode ou topic.
  • Valeurs possibles pour l'argument subtype : nick hand host text msg topic targetnick targethand targethost newnick mode banmask arg ou all
  • Pour la commande .survey list, subtype peut aussi valoir *, auquel cas seront affichées les chaînes de correspondances de tous les sous-types à la fois.
  • Dans les chaînes de détection, la casse des caractères importe peu car tout est mis en minuscule SAUF en ce qui concerne les modes. En effet, les modes +m et +M n'ont pas la même signification par exemple.
  • Les chaînes de détection peuvent contenir des jokers :
    ? remplace n'importe quel caractère (te?t matche "test" et "text" mais pas "tesst" ni "tet")
    * remplace n'importe quel nombre de caractères, y compris aucun (*test* matche "test", "abctestabc" et "ceci est un test !")
  • Les chaînes de détection sont littérales sauf en ce qui concerne les caractères jokers * et ?
  • Pour ajouter une chaîne de détection comportant un espace, entrez-la naturellement sans utiliser de guillemets.
  • Pour ajouter une chaîne de détection devant matcher littéralement ? ou *, c'est à dire sans les considérer comme des jokers, faites-les précéder d'un antislash comme ceci : \? et \*


Screenshots

[Image: status.gif] [Image: lists.gif] [Image: reportq.gif]


post support ici


Changelog

Version 1 par (13/03/2010)
69 téléchargements

Description

Vous en avez marre, chaque fois que vous vous absentez, de devoir relire des kilomètres de logs pour savoir si vos users adorés n'ont pas trop foutu le bordel en votre absence ?
Vous rêvez d'avoir un concierge privé qui garderait l'oeil ouvert en permanence et qui vous ferait un résumé des évènements dignes d'intérêt dès votre retour ?
C'est précisément ce à quoi sert Open Eye.

Open Eye est un système de surveillance complet qui note dans un rapport tout ce que vous lui direz de surveiller.
Ce rapport peut ensuite être consulté au moment voulu.

Il existe 15 types de surveillance différents et chacun de ces types possède un nombre variable de sous-types pour un total de 57 critères de surveillance.
Voici les 15 types de base : Chaque type se décline en sous-types.
Pour le type keyword par exemple, il est possible de détecter l'évènement en fonction du nick de la personne qui a parlé, de son host, de son handle, de ce qu'il a dit, ou encore de tous ces sous-types à la fois.
Voici les différents sous-types possibles (certains ne sont disponibles que pour certains types) : Comme je l'expliquais juste avant, certains sous-types ne sont disponibles que pour certains types : Enchaînons par quelques exemples concrets :
1- mettons que je veuille qu'Open Eye me rapporte quand quelqu'un prononce le mot "p0rn" sur le chan #monchan.
Je dois dans un premier temps activer la surveillance des mots clés dans les messages publics sur #monchan :
tcl
.survey set #monchan keyword on


Ensuite, je dois ajouter une chaîne de détection comme ceci :
tcl
.survey add #monchan keyword text *p0rn*


J'utilise des "*" afin qu'il détecte le mot p0rn même en plein milieu d'une phrase et non pas uniquement lorsqu'il est employé tout seul.
2- maintenant je veux qu'Open Eye me rapporte chaque fois qu'un user dont le host contient "BsMax" ouvre la bouche sur #monchan pour dire quelque chose; il me suffit d'ajouter une chaîne de détection supplémentaire :
tcl
.survey add #monchan keyword host *bsmax*


3- je souhaite aussi qu'Open Eye m'informe chaque fois qu'un user est banni sur n'importe quel chan où se trouve mon eggdrop :
tcl
.survey add global ban nick *


En définissant des détections globales, assurez-vous que le type de surveillance en question soit activé au moins sur l'un de vos chans, sinon Open Eye ne verra pas grand-chose.
4- enfin, j'aimerais qu'Open Eye enregistre chaque fois que le mode m est mis ou enlevé sur #monchan :
tcl
.survey add #monchan mode mode ?m


Le ? remplaçant n'importe quel caractère, ?m détectera les modes +m et -m.

Veuillez noter que toutes les commandes doivent être tapées en partyline et que l'affichage du rapport se fait lui aussi en partyline, pour des raisons de confidentialité et de rapidité d'affichage de nombreuses lignes de texte.

Vous pouvez contrôler si Open Eye doit appliquer ou non un style visuel (couleurs, gras, soulignement) sur ce qu'il affiche, au moyen du flag h.
Par exemple si vous voulez utiliser la coloration, vous devez taper :
tcl
.chattr VotreHandle +h


et si vous préférez ne pas utiliser de style visuel du tout :
tcl
.chattr VotreHandle -h


Lorsqu'un déclencheur de type keyword (mot clé dans un message public) enregistre une ligne dans le rapport, vous noterez qu'il ajoute également les quelques lignes précédant la ligne qui l'a déclenché.
Ca permet de mieux comprendre le contexte de ce qui a été dit.
La ligne contenant le déclencheur est indiquée au moyen d'un marqueur rouge afin de la différencier des lignes appartenant au contexte.

Les différents types de surveillance peuvent être activés/désactivés séparément pour chaque chan (au moyen de la commande .survey set) et ils sont sont tous désactivés par défaut si c'est la première fois que vous lancez ce script.

Il est possible pour d'autres scripts d'envoyer des lignes à Open Eye afin de les adjoindre au rapport, une procédure existe dans ce but précis.
Cette procédure se trouve en dehors du namespace d'Open Eye afin d'offrir une plus grande facilité d'utilisation; le revers potentiel est que si vous utilisez un autre script qui définit une procédure du même nom, vous aurez un conflit sur les bras.
Vous pourrez facilement corriger ce problème en modifiant le nom de ladite procédure dans Open Eye.
Voici comment utiliser cette fonction :
tcl
add_to_report <nom_du_script_appelant> <#chan> <information_à_ajouter>


Si l'information ne concerne pas un chan en particulier, mettez "-" à la place du nom du chan.
Nom_du_script_appelant doit être le nom du script qui envoie l'information.
Soyez prudent dans la façon dont vous utilisez cette fonction, si vous envoyez par exemple "\n" comme information, ça provoquera un retour à la ligne inopiné en plein milieu du fichier rapport et Open Eye n'aimera pas du tout ça.
Open Eye déclare le package "OpenEye" afin que vous puissiez vérifier sa présence depuis d'autres scripts au moyen de :
tcl
package require OpenEye



Syntaxe

.survey <on/off>
Active/désactive la surveillance (agit comme un interrupteur global).

.survey set [#chan] <setting> <on/off>
Active/désactive la surveillance d'un type donné.

.survey <add/del> <global/#chan> <type> <subtype> <chaîne de détection>
Ajoute/supprime une chaîne de détection du type et du sous-type spécifié.

.survey list <global/#chan> <type> <subtype>
Affiche les chaînes de détection du type et du sous-type spécifié.
Si subtype vaut *, affiche les chaînes de détection de tous les sous-types confondus.

.survey lists <global/#chan>
Affiche un récapitulatif de toutes les listes de détection.

.survey copy <#chan1> <#chan2>
Copie les listes de détection de #chan1 sur #chan2 (il s'agit d'une fusion, aucun paramètre préexistant de #chan2 ne sera effacé)

.survey status [#chan]
Affiche un récapitulatif du statut de la surveillance sur tous les chans, ou seulement celui de #chan si ce dernier est spécifié.

.report <*/#chan>
Affiche le rapport de surveillance global ou celui de #chan.

.report purge <*/#chan>
Efface le rapport de surveillance global ou celui de #chan.

Informations complémentaires relatives à la syntaxe

Screenshots

[Image: status.gif] [Image: lists.gif] [Image: reportq.gif]


post support ici