Sascha's Wiki

Bauen und konfigurieren von Bitlbee

Diese Installation ist für Ubuntu geschrieben. Da Bitlbee in den PPA sehr veraltet ist und OAuth nicht unterstützt wird die Software kompiliert.

Dependencies

Zuerst die nötigen Abhängigkeiten installieren.

sudo apt-get install build-essential libglib2.0-dev libgnutls-dev libotr2-dev

Herunterladen, konfigurieren, bauen und installieren

Für wget die aktuelle Version verwenden. einfach die Versionszahl anpassen. (http://get.bitlbee.org/src/)

wget http://get.bitlbee.org/src/bitlbee-3.2.1.tar.gz
tar -xzvf bitlbee-3.2.1.tar.gz
cd bitlbee-3.2.1
./configure --otr=1 --msn=1 --jabber=1 --oscar=1 --twitter=1 --yahoo=1 --ssl=gnutls --etcdir=/etc/bitlbee
make
sudo make install

Bei der konfiguration wird OTR, MSN, Jabber, AOL/ICQ (Oscar), Yahoo und Twitter aktiviert. Außerdem wird als SSL Bibliothek GNUTLS verwendet und als installationsverzeichnis /etc/bitlbee verwendet.

Konfiguration von Bitlbee

sudo make install etc
# Verschieben des Verzeichnisses
mkdir /home/bitlbee
mv ../bitlbee-3.2.1 /home/bitlbee/bitlbee -R
sudo nano /etc/bitlbee/bitlbee.conf

Beispieleinstellungen für das Configfile

RunMode = ForkDaemon
User = bitlbee
DaemonInterface = 0.0.0.0
DaemonPort = 6668
AuthMode = Open
AuthPassword = md5:SECRET_HASH
OperPassword = md5:SECRET_HASH
ConfigDir = /etc/bitlbee

Nun muss der Bitlbee Benutzer im System angelegt werden

sudo adduser --system bitlbee
sudo chmod -R +r /etc/bitlbee
sudo chown bitlbee /etc/bitlbee

Startscript (init.d) angepasst für hier beschriebene Verzeichnisse

Markierte Zeile beachten!

#! /bin/sh
### BEGIN INIT INFO
# Provides:          bitlbee
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description:       Start and stop BitlBee IRC to other chat networks gateway
### END INIT INFO
#
#
# Version:      @(#)skeleton  2.85-23  28-Jul-2004  miquels@cistron.nl
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="BitlBee IRC/IM gateway"
NAME=bitlbee
DAEMON=/home/bitlbee/bitlbee/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# Gracefully exit if the package has been removed.
[ -x $DAEMON ] || exit 0

# Default value
BITLBEE_PORT=6668
BITLBEE_OPTS=-F

# Read config file if it is present.
if [ -r /etc/default/$NAME ]; then
        . /etc/default/$NAME
fi


#
#       Function that starts the daemon/service.
#
d_start() {
        # Make sure BitlBee can actually write its PID...
        touch $PIDFILE
        chown bitlbee: $PIDFILE

        start-stop-daemon --start --quiet --pidfile $PIDFILE \
                --exec $DAEMON -- -p 6668 -P $PIDFILE $BITLBEE_OPTS
}

#
#       Function that stops the daemon/service.
#
d_stop() {
        start-stop-daemon --stop --quiet --pidfile $PIDFILE \
                --name $NAME
}


case "$1" in
  start)
        [ "$BITLBEE_DISABLED" = "1" ] && exit 0
        
        echo -n "Starting $DESC: $NAME"
        d_start
        echo "."
        ;;
  stop)
        echo -n "Stopping $DESC: $NAME"
        d_stop
        echo "."
        ;;
  #reload)
        #
        #       No reload target, but there's a REHASH command which we
        #       might use later...
        #
  #;;
  restart|force-reload)
        echo -n "Restarting $DESC: $NAME"
        d_stop
        sleep 1
        d_start
        echo "."
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 1
        ;;
esac

exit 0

Benutzung

Verbindung

Mit einem IRC Client nach localhost:6668 verbinden. Nun muss man sich auf dem Bitlbee Server einen Benutzer anlegen.

Benutzer bei Bitlbee registrieren

register <passwort>

#erwartete Ausgabe:
<@root> Account successfully created

#Wenn man sich einloggen muss reicht nachfolgende Zeile
identify <password>

Accounts einem Benutzer hinzufügen

Facebook (DEPRECATED!)

Beispiel nur für OAuth Authentifizierung

  1. Benötigt einen Benutzernamen bei Facebook in Kleinbuchstaben
  2. Benutzername ist auf dem eigenen Profil in der Adresszeile nach http://www.facebook.com/ zu finden.

12:12:54 <wilmer> account add jabber <facebook-username>@chat.facebook.com
12:12:54 <root> Account successfully added with tag fb
12:12:54 <root> You can now use the /OPER command to enter the password
12:12:54 <root> Alternatively, enable OAuth if the account supports it: account fb set oauth on
12:13:03 <wilmer> acc fb set oauth on
12:13:03 <root> oauth = `on'
12:13:06 <wilmer> acc fb on
12:13:06 <root> fb - Logging in: Starting OAuth authentication

Nun bekommt man eine Nachricht von Twitter OAuth hier muss man auf den Link klicken und den dort enthaltenen Code an Twitter OAuth schicken. Schon ist man eingeloggt.

12:19:23 <root> fb - Logging in: Requesting OAuth access token
12:19:25 <root> fb - Logging in: Connecting
12:19:25 <root> fb - Logging in: Connected to server, logging in
12:19:25 <root> fb - Logging in: Converting stream to TLS
12:19:26 <root> fb - Logging in: Connected to server, logging in
12:19:26 <root> fb - Logging in: Authentication finished
12:19:27 <root> fb - Logging in: Server claims your JID is `-1278655042@chat.facebook.com' instead of `<facebook-username>@chat.facebook.com'. This mismatch may cause problems with groupchats and possibly other things.
12:19:27 <root> fb - Logging in: Authenticated, requesting buddy list
12:19:28 <root> fb - Logging in: Logged in

Nun ist noch das Problem dass die Facebook Benutzernamen nur Numerisch sind. Das wird nun angepasst.

acc fb off
acc fb set username -1278655042@chat.facebook.com
account fb set nick_format %full_name
acc fb on

das war alles nötige um via Bitlbee in Facebook zu chatten

linux/server/bitlbee.txt · Zuletzt geändert: 2016/04/21 09:15 (Externe Bearbeitung)