Outils pour utilisateurs

Outils du site


braveo:docinstallpasserelles

Passerelles pour serveur jabber

Introduction

Les passerelles vous permettent de vous connecter à d’autres réseaux de messagerie instantanée depuis jabber.

L'avantage de Jabber (xmpp) est sa flexibilité, il permet de discuter avec des gens qui sont inscrits sur d’autres protocoles comme MSN, TWITTER, ICQ, Yahoo!, AIM, IRC, etc. Il suffit d’utiliser une passerelle associée à un serveur. Comme serveur jabber, nous utilisons ejabberd.

Information

Les passerelles sont un moyen très pratique de communiquer avec des personnes connectées sur d’autres réseaux de messagerie instantanée. Par contre, elle ne permettent pas d’utiliser toutes les fonctionnalités de ces réseaux. Par exemple, il n’est pas toujours possible d’échanger des fichiers, de démarrer des sessions de vidéoconférence ou de voir les avatars des personnes connectées aux autres réseaux.

Quel client utliliser ?

Beaucoup de clients permettent une inscription sur ces passerelles. Pour profiter pleinement de vos autres messageries, il est préférable d'utiliser un client multiprotocole.

Voici un site qui recense de nombreux clients : Cients

Je vous propose une petite liste :

Gnu/LinuxWindows Mac OS X
EmpathyTrillian iChat
CoccinellaCoccinellaCoccinella
Pidgin Pidgin Instantbird
InstantbirdMiranda Adium
Jitsi Jitsi Jitsi

Installation de Spectrum

La documentation officielle : Spectrum

Spectrum est une passerelle vers d'autres protocoles, cela permet de centraliser l'ensemble de ses comptes sur un seul compte.

Nous allons installer Spectrum sur une debian squeeze.

Ajouter le dépôt Spectrum au fichier /etc/apt/sources.list

deb http://packages.spectrum.im lenny spectrum

Ajout de la clé GPG du dépot :

wget -O – http://packages.spectrum.im/keys/apt-repository@fsinf.at | apt-key add -

Installation du paquet Spectrum :

apt-get update
apt-get install fsinf-keyring
apt-get update
apt-get install spectrum libpurple0-minimal

Configurer les passerelles

Il suffit de créer un fichier par passerelle dans le dossier /etc/spectrum. Pour configurer notre fichier, nous utilisons le fichier exemple. Les fichiers possèdent une extension en .cfg

Nous allons mettre en place une passerelle MSN, sûrement l’une des plus utilisée.

Créons le fichier msn.cfg :

[service]
# enable this spectrum instance
enable=1

# one of: aim, facebook, gg, icq, irc, msn, myspace, qq, simple, xmpp, yahoo
protocol=msn

# component ip
server=127.0.0.1

# if use_proxy is 1, the http_proxy env var will be used as the proxy server
# for example export http_proxy="http://user:passwd@your.proxy.server:port/"
use_proxy=0

# component JID
jid=$protocol.mdl29.net

# component secret
password=pwdmsn

# component port
port=5203

config_interface = /var/run/spectrum/$jid.sock

# IP:port where filetransfer proxy binds to. This has to be public IP.
filetransfer_bind_address=jabber.mdl29:12345

# IP:port which will be sent in filetransfer request as stream host.
#filetransfer_public_address=192.0.2.1:12345

# admin JIDs - Jabber IDs of transport administrators who have access to admin adhoc commands
# separated by semicolons
admins=jabbermdl@mdl29.net

# directory where downloaded files will be saved
filetransfer_cache=/var/lib/spectrum/filetransfer_cache

# URL used to acces filestransfer_cache directory from the web.
#filetransfer_web=http://example.com/files/

# if filetransfer_force_cache_storage is 1, files received from legacy networks
# are always stored on server and link is sent to XMPP user
#filetransfer_force_cache_storage=0

# name of transport (this will appear in service discovery)
name=Passerelle msn

# default language
language=fr

# transport features separated by semicolons
# combination of: avatars, chatstate, filetransfer
# if commented, all features will be used
# This variable is DEPRECATED and will be removed in future versions. Use [features] instead.
#transport_features = avatars;chatstate;filetransfer

# if vip_mode is 1, users are divided to 2 groups according to 'vip' database field
vip_mode=0

# if vip_mode is 1, you can set transport to be availabe only for VIP users by setting only_for_vip to 1.
only_for_vip=0

# if vip_mode is 1 and only_for_vip is 1, users can connect from these servers even they are not VIP.
# This feature is useful, if you want to enable transport only for users from your server, but also want
# to give access to VIP users from other servers (for example from GTalk)
# seperated by semicolons
#allowed_servers=localhost

# transport features separated by semicolons which will be used for VIP users.
# combination of: avatars, chatstate, filetransfer
# if commented, all features will be used
# This variable is DEPRECATED and will be removed in future versions.  Use [vip-features] instead.
#vip_features = avatars;chatstate;filetransfer

# pid file
pid_file=/var/run/spectrum/$jid.pid

# require_tls to connect legacy network
#require_tls=false

# Eventloop used by Spectrum. Allows to change default use of poll to epoll,
# which should be faster and handles more connections better.
# WARNING: some 3rd party libpurple protocol plugins are not prepared to be
# used with different eventloop, but protocols included in libpurple by default
# works OK.
#eventloop=glib

[registration]
# Set to 0 to disable transport registration to everyone except
# people from host from allowed_servers list.
#enable_public_registration=1

# You can override username registered by transport user. This is useful
# for example if you want to let users to register only their Facebook name
# and internally connect them to facebook_name@chat.facebook.com.
# $username variable is replaced by username which has been registered
# by particular user. 
#username_mask = $username@chat.facebook.com

# This option allows you to white-list newly created accounts according
# to regexp. for example allowed_usernames=*.\.gmail\.com$ will allow only
# GTalk users to register. If you use username_mask, then username_mask is
# applied before this option.
#allowed_usernames=regexp

# Label used to described username field in registration form
#username_label = Facebook username

# This variable overrides default instructions text in registration form.
#instructions = Type your Facebook name here:

# Transport features, all features are enabled by default.
[features]
#filetransfer=1
#avatars=1
#chatstates=1
#statistics=1

# Transport features for VIP users, all features are enabled by default.
[vip-features]
#filetransfer=1
#avatars=1
#chatstates=1

[logging]
# log file, needs to be unique for each spectrum instance
log_file=/var/log/spectrum/$jid.log

# log areas
# combination of: xml, purple
log_areas=xml;purple

[database]
# mysql or sqlite
type=sqlite

# hostname (not needed for sqlite)
#host=localhost

# username (not needed for sqlite)
#user=user

# password (not needed for sqlite)
#password=password
# sqlite: set path to database file here
# mysql: set to name of database
database=/var/lib/spectrum/$jid/database.sqlite
# table prefix for multiple transport instances sharing the same database
#prefix=icq_

[purple]
# avatar, vcard, roster storage
# needs to be unique for each spectrum instance
userdir=/var/lib/spectrum/$jid/userdir
port=80
http_method=1

Explications

  • protocol= on choisit quel protocole on souhaite utilser, ici c'est msn
  • server= on laisse l'adresse locale
  • jid= ajoutons notre nom de domaine
  • password= mot de passe utilisé lors de la connexion ejabberd et spectrum
  • port= le port de connexion entre ejabberd et spectrum
  • filetransfer_bind_address= port utilisé pour le transfert de fichiers
  • name= nom de la passerelle
  • language= on définit en fr
  • [purple] ici on spécifie les paramètres spécifiques à msn

Par défaut, msn se connecte sur le port 1863. Nous utiliserons une connexion par la méthode HTTP (port=80, http_method=1)

On change les droits du fichier msn.cfg

cd /etc/spectrum
chown root:spectrum msn.cfg
chmod o-rwx msn.cfg

Démarrons Spectrum :

/etc/init.d/spectrum start

Si vous avez plusieurs fichiers .cfg, il est possible de les démarrer ou arrêter séparemment.

spectrumctl -c msn.cfg start
spectrumctl -c msn.cfg stop

Une fois Spectrum correctement lancé , nous allons modifier la configuration de notre serveur jabber.

Configurer ejabberd

Avant d'effectuer toutes modifications, nous arrêtons notre serveur :

/etc/init.d/ejabberd stop

Pour rappel, le fichier de configuration se trouve dans /etc/ejabberd/ejabberd.cfg

Ajoutons les lignes suivantes :

%%Passerelle msn

{{5203, "127.0.0.1"}, ejabberd_service, [
                                        {access, all},
                                        {host, "msn.mdl29.net", [{password, "pwdmsn"}]}
]},

Redémarrons le serveur :

/etc/init.d/ejabberd start

On verifie que le serveur est bien lancé :

ejabberdctl status

Voilà, votre passerelle msn est opérationnelle :)

braveo/docinstallpasserelles.txt · Dernière modification: 2016/07/19 15:36 (modification externe)