IRC-Proxy mit Irssi erstellen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Wer Interesse an einen IRC-Proxy hat, um von mehreren Systemen auf seine IRC-Sitzung zugreifen zu können, kann dies mit Irssi und der mitgelieferten Proxy-Funktion realisieren.

    Als erstes einmal installiert man sich ganz normal Irssi über die Paketquellen.
    Im Fall von Debian und basierte wäre dies mit dem Befehl...

    Code
    # apt-get install irssi


    ...alternativ auch mit...

    Code
    # aptitude install irssi


    ...möglich.

    Hat man dies getan, führt man als allererstes mal 'irssi' in einer screen-Sitzung aus.
    Wer 'screen' nicht kennt, dem sei gesagt, dass sich damit auf einfache Weise Terminal-Sitzungen in den Hintergrund legen und wieder hervorholen lassen, auch auf entfernten Systemen, per SSH.
    Das kann man sich auch für Anwendungen und Dienste zu nutze machen, wer es noch nicht hat, installiert einfach 'screen' auf die selbe Weise wie Irssi.

    Irssi selber ist als allererstes mal ein flexibler IRC-Client für das Terminal, welches natürlich auch für andere *NIX Plattformen und für Microsoft Windows existiert.
    Ihr verbindet euch wie mit andern Clients gewohnt, auf den IRC-Server eurer Wahl.

    In unserem Beispiel nehmen wir das euIRC-Netzwerk, welches auch den Kanal für unser Forum beherbergt.
    Der erste Schritt hierbei ist, das Netzwerk selbst anzulegen, welchem ihr dann die diversen Server aus denen es besteht, hinzufügen können.
    Das wird folgendermaßen gemacht.

    Code
    /network add euIRC

    Der Wert "euIRC" ist hierbei variabel und könnte ebenso gut "Pampelmusen" sein, er dient einem schlicht dabei, die Übersicht zu behalten und mit "/connect" später zu definieren auf welchen Server man sich verbinden will.

    Als zweites dann wird ein Server dem Netzwerk hinzugefügt.
    Auf der Homepage des Netzwerks kann man eine Liste mit verfügbaren Servern einsehen, je nach Standort sollte man der Latenz wegen natürlich den nächsten wählen.
    Hat man sich für einen entschieden, wird dieser folgendermaßen ergänzt, etwa:

    Code
    /server add irc.hes.de.euirc.net 6669


    Eine Angabe des Ports ist hierbei von Nöten, auch diese kann man auf der Homepage einsehen, SSL wird neben dem Standardport für IRC unterstützt.

    Jetzt lässt sich per...

    Code
    /connect euIRC


    ...eine Verbindung aufbauen und die Konfiguration via...

    Code
    /save


    ...speichern.

    Spoiler anzeigen

    ACHTUNG: Für jene mit eigener Kennung, welche nicht unbedingt die beim Distri-Benutzer hinterlegten Daten für den Ident nutzen möchten, sei vor einem Verbindungsaufbau vielleicht nochmal mit Hilfe seines Lieblingseditors, ein Blick in die Datei $HOME/.irssi/config ans Herz gelegt.
    Hier lassen sich auch alle Werte für Nicknames, Server und dergleichen manuell nachträglich bearbeiten.
    Ziemlich am Ende der Datei befinden sich zwei Zeilen mit Angaben des standardmäßigen IRC-Nicknames, sofern man keinen für das jeweilige Netzwerk definiert hat und könnte zum Beispiel so aussehen.

    Code
    settings = {
      core = { real_name = "Max Mustermann"; user_name = "max"; nick = "Mustermann"; };


    Das ist gerade bei auf dem eigenen Desktop oder Laptop der Fall, wo man sein Benutzerkonto meist an sich selbst auch anpasst, wer nicht unbedingt andern seinen echten Namen verraten möchte (sofern ins Benutzerkonto eingetragen), sollte hier nochmal einen Blick drauf werfen.

    Mit dem Server verbunden, mögt ihr euren Spitznamen vielleicht ändern.
    Diesen kann man etwa auch in der Konfigurationsdatei des Programms festlegen, sowie das dazugehörige Passwort, sofern registriert, oder klassisch per /nick WERT im Eingabefeld von Irssi.

    Ist dies erledigt, so könnt ihr im Grunde die Proxy-Funktion von Irssi starten, womit wir beim eigenen Sinn dieser Anleitung angekommen wären.
    Die Befehle hierfür sind zum starten...

    Code
    /load proxy


    ...sowie zum deaktivieren...

    Code
    /unload proxy

    Eine Verbindung wäre somit zwar theoretisch möglich, doch müssen die IRC-Netzwerke, mit welchen man in Irssi verbunden ist, erst einem Port zugewiesen werden.
    Hierfür ist es wichtig, dass ihr wisst, wie ihr das Netzwerk zuvor benannt hat, wessen Teil der Server ist, zu welchem gerade die Verbindung steht.
    Im Fall der Anleitung hier wäre dies euIRC, welches wir jeden weiteren Port jenseits der 1000 zuweisen können, außer dem Port, über dem man selbst verbunden ist, oder auf dem ein anderer Dienst läuft.
    Als Beispiel der Port 48921.

    Noch immer in Irssi, gebt ihr folgendes ein, um dies zu bewerkstelligen.

    Code
    /set irssiproxy_ports euIRC=48921


    Hierbei sei angemerkt, dass im Fall der Nutzung mehrerer Netzwerke all diese angegeben müssen, andernfalls kann keine Verbindung zu jenem aufgebaut werden, wenn auch zu den andern.

    Optional, aber empfehlenswert, sofern der Pi von außerhalb des Heimnetzes erreichbar ist, ist die Einrichtung eines Passworts, welches zusammen mit eurem Spitznamen für das jeweilige Netzwerk in den Einstellungen eines Clients angegeben wird.
    Der hierfür benötigte Befehl ist aufgebaut, wie der für die Ports:

    Code
    /set irssiproxy_password musterpasswort

    Habt ihr diese Prozedur hinter euch, werden die Einstellungen mit...

    Code
    /save


    ...noch einmal gespeichert und es lässt sich im Client eurer Wahl eine Verbindung zum Irssiproxy errichten.

    DAS WARS!


    Spoiler anzeigen

    Als Tipp noch, für jene die wie ich das "Glück" haben, nur in den Genuss von Dualstack Lite über seinen Internetanbieter kommen zu dürfen, aber auf einem außen stehenden Server Zugriff haben, die könnten eine SSH-Rückwärtsverbindung einrichten und die zuvor eingestellten Ports an diesen weiterleiten.
    Eine Verbindung zu eurer IRC-Sitzung etwa über das Telefon oder dem Rechner eines Freundes wäre somit problemlos möglich.

    Folgender Befehl wird auf dem Pi ausgeführt und funktioniert für mich problemlos.

    Code
    $ ssh -g -R \*:4444:localhost:4444 -g -R \*:5555:localhost:5555 -N 1.2.3.4


    Port 4444 und 5555 sind hier wiedermal Beispielhaft genannt und sollen nur veranschaulichen, dass jeder Port vom Proxy mitgeteilt werden muss, für die Weiterleitung.
    Die IP 1.2.3.4 steht für den Server von außerhalb, zu welchem die Verbindung hergestellt wird.

    Zum Schluss wird sich wie oben beschrieben, mit eurem jeweiligen Spitznamen, dem Proxy-Passwort und der IP des außen stehenden Servers plus Proxy-Port eine Verbindung aufgebaut.

    Grüße
    Hustenbold

    [font="Courier New"]

    Code
    print("Hallo Welt!")


    [/font]

    Einmal editiert, zuletzt von Hustenbold (8. Februar 2014 um 00:48)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!