PROJET - SERVER IRC
Transcription
PROJET - SERVER IRC
PROJET - SERVER IRC novembre 16 PROJET Serveur Internet Real Chat Server IRC REALISATION 2009 CEDRIC BEAUDIER Cédric Beaudier – Reproduction interdite Page 1 PROJET - SERVER IRC novembre 16 Sommaire 1. LOGICIEL SERVEUR ............................................................................................................................................... 3 A. a. b. 2. 3. 4. FONCTIONNALITES SUPPORTEES .......................................................................................................................... 4 CARACTERES, LONGUEURS DES NOMS, LIMITES SUPPORTES ............................................................................... 5 MODES DES SALONS............................................................................................................................................. 6 A. B. C. 5. INTERFACE GRAPHIQUE LEGERE ........................................................................................................................................ 3 Aperçu sur le client .............................................................................................................................................. 4 Paramétrage interne ........................................................................................................................................... 4 LISTE DE BAN ............................................................................................................................................................... 6 MODE DU SALON .......................................................................................................................................................... 6 MODE DES UTILISATEURS ............................................................................................................................................... 7 CHANSERV............................................................................................................................................................ 7 Cédric Beaudier – Reproduction interdite Page 2 PROJET - SERVER IRC novembre 16 1. Logiciel serveur A. Interface graphique légère - - Démarrer le serveur immédiatement Voir la charge dans une barre de progression (utilisateurs * nombre de salons) Statistiques en temps réel : • Nombre d’utilisateurs connectés (en comptant les utilisateurs virtuels) • Nombre de salons formés • Nombre d’erreur socket rencontrés • Trafic total réseau en entrée + sortie Afficher le log en temps réel (toute entrée/sortie) Vider le buffer du log Sauvegarder le log en cours vers un fichier Le serveur est isolé, il ne peut pas se joindre à un réseau de serveur IRC. Les commandes associées aux jonctions de serveurs sont donc inutilisables ici. Cédric Beaudier – Reproduction interdite Page 3 PROJET - SERVER IRC a. Aperçu sur le client b. Paramétrage interne novembre 16 Pour des raisons de temps, aucun paramétrage n’est possible. 2. Fonctionnalités supportées ADMIN : affiche des informations pour contacter l’administrateur AWAY [raison] : vous considère comme absent/revenu, selon la raison spécifiée GLINE <masque> [raison] : déconnecte et ban du serveur les connexions correspondant au masque avec la raison spécifiée INFO : affiche des informations sur le serveur INVITE <nick> <#chan|&chan> : envoie une invitation et permet à la personne de rejoindre le salon en mode +i ISON <pseudo> : permet de savoir si le pseudo spécifiée est connectée JOIN <#chan|&chan>[,<#chan|&chan>...] [mot de passe[,mot de passe 2...]] : rejoint le(s) salon(s) spécifié(s) en utilisant le(s) mot(s) de passe optionnel(s) KICK <#chan|&chan> <nick> [raison] : éjecte le pseudo du salon selon la raison spécifiée KILL <nick> [raison] : déconnecte la connexion du pseudo avec la raison spécifiée LINKS : affiche les différents serveurs du réseau Cédric Beaudier – Reproduction interdite Page 4 PROJET - SERVER IRC LIST : affiche la liste de tous les salons existants LUSERS : affiche les informations sur les utilisateurs du serveur et du réseau MODE <#chan|&chan> : affiche les modes du salon spécifié MODE <#chan|&chan> <+|-><klntpsimr> [limite] [mot de passe] supprime les modes spécifiés pour le salon spécifié novembre 16 : ajoute ou MODE <#chan|&chan> <+|-><ovh> <nick1 [nick2 …]> : élève ou révoque les droits +o (operator), +v (voice), +h (helper). On peut utiliser la forme : +o nick1 nick2 ou bien +ooo nick1 nick2 nick3 MODE <nick> <+|->i : active ou désactive le mode invisibilité (non pris en charge) MOTD : Message of the day (message du jour) NAMES <#chan|&chan> : affiche les pseudos présents sur le salon spécifié NICK <pseudo> : affecte ou change le pseudo de la connexion NOTICE <#chan|&chan|nick> <message> : envoie la notice au(x) destinataire(s) OPER <mot de passe> : élève le pseudo au rand d’IRC Operator. Le mot de passe par défaut de cette commande est azerty123 PART <#chan|&chan>[,<#chan|&chan>...] : quitte le(s) salon(s) spécifié(s) PASS <mot de passe> : non géré PING [origine] : répond au ping demandé PONG [origine] : désactive le timer d’inactivité de la connexion (non pris en charge) PRIVMSG <#chan|&chan|nick> <message> : envoie le message au(x) destinataire(s) QUIT [raison] : se déconnecte du serveur en utilisant la raison spécifiée SILENCE <+nick|-nick> : ajoute ou supprime un pseudo de la Silence List SILENCE : affiche la liste des pseudos bloqués STATS : affiche des statistiques du réseau TIME : affiche l’heure serveur TOPIC <#chan|&chan> [message] : change le sujet du salon spécifié USER <username> <hostname> <servername> <realname> : affecte les informations de l’utilisateur USERHOST <nick> : affiche l’host de connexion du pseudo USERIP <nick> : affiche l’IP de connexion du pseudo USERS : affiche des informations sur le serveur du réseau VERSION : affiche la version du serveur WATCH [l|L] : affiche les pseudos connectés de la Watch List WATCH <+nick|-nick> : ajoute ou supprime un pseudo de la Watch List WATCH <s|S> : affiche la liste des pseudos Watchées WHO <pseudo> : affiche des informations sur le pseudo spécifié WHOIS <pseudo> : affiche des informations sur le pseudo spécifié WHOWAS <nick> : affiche des informations sur la dernière connexion d’un pseudo 3. Caractères, longueurs des noms, limites supportés Un pseudo valide doit correspondre à l’expression régulière : ^[a-zA-Z][^+@%#&,*?/\\\\!]+$ d’une longueur comprise entre 2 et 30 caractères. Cédric Beaudier – Reproduction interdite Page 5 PROJET - SERVER IRC novembre 16 Un salon valide correspondre à l’expression régulière : ^[#&][^+@%#&,*?/\\\\]+$ d’une longueur comprise entre 2 et 30 caractères. Les pseudos en #salon et &salon sont indépendamment supportés. WatchList limitée à 20 pseudos par personne. SilenceList limitée à 20 pseudos par personne. BanList d’un salon n’est pas limitée. La longueur du mot de passe n’est pas limité (mais il est déconseillé d’utiliser des caractères spéciaux). Un salon n’est pas limité, la valeur de la limite (mode +l) soit être > 0. Le mode +ovh n’est pas limité en nombre de pseudos suivants. Une personne ne peut rejoindre que 20 salons, mais la commande JOIN n’est pas limitée. Il ne peut créer jusqu'à 30 000 salons sur le serveur. Il ne peut y avoir jusqu’à 10 000 utilisateurs sur le serveur. Les messages et les topics, raison (away, kick) sont limités a 255 caractères de long. La commande LIST n’affiche que les 1000 premiers salons. La commande ISON n’est pas limitée en nombre de pseudos. Les commandes et les modes sont sensibles à la casse, contrairement aux pseudos et aux salons. 4. Modes des salons Fonctionnement des modes des salons : On ne peut pas appliquer des droits sur les utilisateurs (ovh), sur le salon (klntpsimr) et sur la liste de ban (b) en même temps. Il faut appeler MODE plusieurs fois. A. Liste de ban +b : affiche la liste de tous les masques bannis du salon. +b <masque> [date de fin] : ajoute un ban selon le masque (date de fin non prise en compte). -b <masque> : supprime le premier masque correspondant de la liste des bannis. B. Mode du salon +k <mot de passe> : ajoute un mot de passe (qui ne devrait contenir ni espace ni virgule). Tout le monde présent verra le mot de passe. Les prochains essayant d’arriver devront saisir le mot de passe. Accéder à un salon avec un mot de passe qui n’en demande pas n’est pas gênant. Pour supprimer le mot de passe, simplement utiliser le mode –k. +l <limite> : ajoute une limite au nombre d’utilisateur sur le salon. La limite est toujours supérieure à 0. Si la limite est inférieure au nombre de personne présente sur le serveur, l’imposition de la limite n’expulsera personne, mais empêchera les nouveaux utilisateurs d’arriver. Pour retirer la limite, simplement utiliser le mode –l. Note pour les modes k et l, pour fixer les deux modes en même temps, le serveur va utiliser l’ordre d’apparition des lettres dans la commande. Par exemple, MODE +kl PASS 5 ou MODE +lk 5 PASS. Il est conseillé néanmoins d’utiliser deux commandes différentes, ou tout du moins de spécifier le mot de passe en deuxième si celui-ci contient des espaces. Pour enlever les modes suivants, simplement remplacer le + par un -. +n : interdit les messages des personnes qui ne sont pas sur le salon. +t : interdit aux non-op de modifier le topic. +p : rend le salon privé (non pris en charge). +s : rend le salon secret (non pris en charge). Cédric Beaudier – Reproduction interdite Page 6 PROJET - SERVER IRC novembre 16 +i : rend le salon accessible seulement sur invite. +m : modère le salon (interdit aux non voice de parler). +r : rend le salon accessible seulement pour les personnes enregistrées (non pris en charge). C. Mode des utilisateurs La commande suivant fonctionne de la même façon pour +v (voice), +h (helper), ainsi que les inverses (ovh). Les trois droits peuvent être cumulés en une seule commande (MODE #chan +ovh nick). +o [pseudo1][ pseudo2…] : Elève le(s) pseudo(s) spécifié au rang d’opérateur. Les pseudos déjà opérateurs ne sont pas affectés. Si le pseudo est déjà voice ou helper, le droit operator vient s’ajouter. Si aucun pseudo n’est spécifié, alors celui qui lance la commande est élevé. Ne pas utiliser la syntaxe MODE #chan +o nick +v nick +h nick. Le serveur enverra un message pour chaque type de droit attribué avec la liste des personnes affectées. 5. Chanserv Le serveur intègre un mini serveur Chanserv qui simule un bot. Il est compté en tant qu’utilisateur réel, mais ne génère aucun trafic réseau entre lui et le serveur. Le Chanserv appartient à la première personne qui le demande sur le salon, si son masque correspond au masque du créateur du salon. Les commandes de ChanServ se font en clair sur le salon, et commencent toutes par un « ! ». Les autres usagés du salon ne verront pas ces messages. !chanserv : Pour activer Chanserv sur un salon, et celui-ci rapplique immédiatement. Il s’auto-op et ajoute les modes +nt sur le salon. !autoop [on|off] : Pour activer/désactiver l’autoop de l’utilisateur qui parle. !op [pseudo1] [pseudo2…] : Elève au rang d’opérateur les pseudos spécifiés. Si aucun pseudo spécifié, celui qui parle sera élevé au rang d’opérateur. !authlist : Affiche la liste des personnes ayant des droits sur Chanserv du salon courant. !authadd <masque> <niveau> : Ajoute le masque spécifié à la liste des personnes ayant des droits. !topic [message] : Change le topic du salon. L’intérêt est de pouvoir récupérer le contrôle du salon en cas de takeover. Chanserv est affiché comme un IRC Op et ne peut donc ni être dé-op, ni kické, ni banni. Second intérêt est de pouvoir oper ou changer le topic de façon anonyme. Cédric Beaudier – Reproduction interdite Page 7