Internet Relay Chat mit Bouncer und Weechat

Seit einiger Zeit chatte ich in eigenem Channel und fremden Räumen mittels Weechat, einem freien IRC-Client ohne grafische Benutzeroberfläche, und dem Bouncer ZNC, also ein Programm, das zwischen einem IRC-Client und IRC-Server vermittelt. Denn ohne Bouncer gibt man die Anwesenheit in einem IRC-Channel nach der Abmeldung auf. Mit einem Bouncer hingegen kann man jedoch auch offline im Raum verweilen, damit man frühere Eintragungen nach späterem Wiedereintritt verfolgen kann, um auf dem Laufenden zu bleiben.
Seit einiger Zeit erhielt ich über meinen Bouncer aber keine Verbindung mehr, was an einem alten und einem neuen, zu bestätigenden Fingerprint lag, wie noch weiter unten auszuführen sein wird. Auch eine Neuinstallation ZNCs brachte keine Abhilfe, wobei ich mich an Franks Beiträgen Die Sache mit dem Bouncer – Teil 1 und Die Sache mit dem Bouncer – Teil 2 orientierte. Da einige Teile, wenn nicht miss- bzw. unvollständig, dann aber wenigstens verwirrend formuliert sind, nahm ich die Angelegenheit zum Anlass, eine eigene, etwas abgewandelte Anleitung zu erstellen. Im Folgenden wird von einer Installation auf Uberspace ausgegangen. Einige Teile o. g. Beiträge habe ich mit Franks Einwilligung übernommen.

Beginnen wir mit ZNC:

Wir benötigen eine neuere Version von GCC und befehlen daher:

echo 'export PATH=/package/host/localhost/gcc-4/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/package/host/localhost/gcc-4/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

Es erfolgt die Installation ZNCs via Toast.

toast arm http://znc.in/

Wir wechseln mit

cd .toast/armed/bin/

in das entsprechende Verzeichnis und konfigurieren:

znc --makeconf

Für Listen on Port bediente ich mich des Ports 62626. Die Ports sind bei Uberspace in gewissem Bereich fast frei wählbar, was allerdings im Einzelnen ausprobiert werden muss. In der Zeile Username ist der IRC-Nutzername einzutragen. Bei Enter Passwort ist das IRC-Kennwort anzugeben. Bei Alternate nick kann irgendein alternativer Name gewählt werden; zwingend ist dies aber nicht. Ich habe daher keinen alternativen Nick gewählt. Als Real name wähle man z. B. seinen amtlichen Vor- und Nachnamen. Bei Initial channels trage man seinen eigenen bereits z. B. bei freenode erstellten Raum (in meinem Falle #didi), oder irgendeinen anderen bevorzugten ein. Die Abfrage Launch ZNC now? ist unbedingt mit no zu beantworten. Alle anderen Abfragen, die mit (yes/no) [yes] beantwortet werden sollen, können einfach, ohne sie wie vorgegeben zu beantworten, mit enter bestätigt werden. Bei mir sieht dies so aus:

[ .. ] Checking for list of available modules…
[ >> ] ok
[ ** ]
[ ** ] — Global settings —
[ ** ]
[ ?? ] Listen on port (1025 to 65534): 62626
[ ?? ] Listen using SSL (yes/no) [no]:
[ ?? ] Listen using both IPv4 and IPv6 (yes/no) [yes]:
[ .. ] Verifying the listener…
[ >> ] ok
[ ** ] Unable to locate pem file: [/home/username/.znc/znc.pem], creating it
[ .. ] Writing Pem file [/home/username/.znc/znc.pem]…
[ >> ] ok
[ ** ] Enabled global modules [webadmin]
[ ** ]
[ ** ] — Admin user settings —
[ ** ]
[ ?? ] Username (alphanumeric): username
[ ?? ] Enter password:*****
[ ?? ] Confirm password:****
[ ?? ] Nick [username]:
[ ?? ] Alternate nick [username_]:
[ ?? ] Ident [username]:
[ ?? ] Real name [Got ZNC?]: Dietmar Janowski
[ ?? ] Bind host (optional):
[ ** ] Enabled user modules [chansaver, controlpanel]
[ ** ]
[ ?? ] Set up a network? (yes/no) [yes]:
[ ** ]
[ ** ] — Network settings —
[ ** ]
[ ?? ] Name [freenode]:
[ ?? ] Server host [chat.freenode.net]:
[ ?? ] Server uses SSL? (yes/no) [yes]:
[ ?? ] Server port (1 to 65535) [6697]:
[ ?? ] Server password (probably empty):
[ ?? ] Initial channels: #didi
[ ** ] Enabled network modules [simple_away]
[ ** ]
[ .. ] Writing config [/home/Username/.znc/configs/znc.conf]…
[ >> ] ok
[ ** ]
[ ** ] To connect to this ZNC you need to connect to it as your IRC server
[ ** ] using the port that you supplied. You have to supply your login info
[ ** ] as the IRC server password like this: user/network : pass.
[ ** ]
[ ** ] Try something like this in your IRC client…
[ ** ] /server 64545 Username: [ ** ]
[ ** ] To manage settings, users and networks, point your web browser to
[ ** ] http://:64545/
[ ** ]
[ ?? ] Launch ZNC now? (yes/no) [yes]:no

Jetzt wird ein entsprechender Service auf Uberspace eingerichtet, der ZNC automatisch im Hintergrund laufen lässt.

cd ~
test -d ~/service || uberspace-setup-svscan
cat << __EOF__ > ~/bin/znc-daemon

Es erscheint nun im Terminal dieses Zeichen: >

Direkt dahinter ist

#! /bin/sh
exec ~/.toast/armed/bin/znc --foreground --debug 2>&1
__EOF__

einzutragen, was in einer einzigen Konsolenzeile erscheinen sollte. Mit enter bestätigen.

In der Datei ~/bin/znc-daemon erscheinen dann wieder drei Zeilen untereinander. Die drei Zeilen dürfen nach der Eingabeaufforderung > also nicht einzeln eingegeben werden.

Weiter mit

chmod +x ~/bin/znc-daemon
uberspace-setup-service znc-daemon ~/bin/znc-daemon

Der Start des Service gibt bei Erfolg u. a. diese Meldung aus:

Waiting for the service to start … 1 2 3 4 5 started!

Der Bouncer hat seine Tätigkeit aufgenommen.

Kommen wir zu Weechat:

(Für den Fall, dass man bisher IRC etwa über Pidgin nutzte, ist der IRC vorab in diesem Client zu deaktivieren, da sich ZNC ständig mit registriertem Nick im Chatroom befindet)

Dazu baut man einen Tunnel zum Uberspace-Server über die Konsole auf und leitet einen lokalen Port auf den Port des Servers. Als Server-Port hatte ich mich ja für 62626 entschieden. Dieser kann allerdings -wie oben dargelegt- fast beliebig gewählt werden. Auch der lokale Port muss hier nicht zwingend 65432 lauten. Daher:

ssh -f -L 65432:localhost:62626 UUSER@USERVER.uberspace.de -N

UUSER und USERVER sind entsprechend der Uberspace-Vorgaben anzupassen. Auch die Ports mögen geändert werden, sofern die Vorgaben dieser Anleitung nicht übernommen werden. Bestätigt wird mit dem Uberspace-Passwort.

Wir installieren -sofern nicht bereits geschehen- Weechat mit

sudo apt install weechat

und starten den Client mit

weechat

Wir verbinden mit dem Bouncer via

/connect localhost/65432

und loggen mittels

/quote PASS USERNAMEdesIRC : PASSWORTdesIRC

ein (in vorherigem Befehl befinden sich vor und hinter dem Doppelpunkt jeweils ein Leerzeichen, weil mein Browser die Zeichenfolge anderenfalls als Smiley interpretierte; die Leerzeichen sind zu entfernen), wobei USERNAMEdesIRC mit dem Nutzernamen des IRC und PASSWORTdesIRC mit dem Kennwort des IRC ersetzt werden.

Wir betreten einen Channel, also z. B.

/join #didi

Dort verweilt der Bouncer so lange, bis der Raum wieder verlassen wird.

An dieser Stelle kann es passieren, dass Weechat mit schnell wechselnder Folge auffordert, einen der angebotenen Fingerprints zu akzeptieren. In dieses Fenster gelangt man über den Tastaturbefehl F5.

Der Fingerprint-Befehl ist ab /znc ADDTrustedServerFingerprint mit der kompletten Zeichenfolge zu kopieren und in die untere Weechat-Befehlszeile einzutragen.

Damit nicht der Inhalt des linken Statusfeldes der Konsole mitkopiert wird, ist das Konsolenfenster mit der Maus so weit in die Breite zu ziehen, dass der gesamte Befehl in einer einzigen Zeile erscheint. Erst dann ist zu kopieren, einzufügen und mit enter zu bestätigen, was bei mir jedoch alleine nicht ausreichte: Zusätzlich ist der Fingerprint, also die Zeichenfolge ohne den Zusatz /znc ADDTrustedServerFingerprint über das -in vorliegendem Beispiel- mit localhost:65432 über den Browser erreichbare Webinterface einzutragen,

und zwar bei Your settings -> Networks -> Edit -> Trusted SSL fingerprints of this IRC network.

Dann reconnectet der Bouncer zwar noch eine Weile. Danach dürfte er sich jedoch automatisch in den oben unter Initial channels gewählten Raum begeben.

Hinweis: Sollte bei der Verbindung ein Fehler passiert sein, trennt man Weechat nur über /quit. Keinesfalls darf /close benutzt werden, da der Bouncer hiermit aus einem Chatroom entfernt wird, weshalb vorherige Chat-Nachrichten nicht mehr einsehbar sind. Bei der Neueinwahl bleibt der zuvor gewählte Port 65432 noch eine Weile gesperrt. Daher wähle man statt 65432 etwa 65435. Die Eingaben lauteten demnach wie folgt:

ssh -f -L 65435:localhost:62626 UUSER@USERVER.uberspace.de -N

und

/connect localhost/65435

und
localhost:65435 im Browser.

Like als Erster.

7 thoughts on “Internet Relay Chat mit Bouncer und Weechat

  1. Nicht „miss- oder unvollständig“. Andere User bekommen das auf Anhieb hin. Vielleicht solltest du mal Windows testen! Wird dir gefallen. Wink

       0 likes

    • Ich wollte an sich freundlich bleiben. Aber um es nun klar auszudrücken: Teile Deiner Artikel sind widersinnig. Essentielle Teile meines Beitrages fehlen bei Dir völlig. Ich wäre bereit, noch weiter zu gehen. Nun habt Ihr mittlerweile ein gewisses Selbstwertgefühl erreicht, das zwar an Arroganz grenzt, was ich Euch aber dennoch nicht nehmen möchte.

         0 likes

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Scrolle und klicke, um Smiley einzufügen

SmileBig SmileGrinLaughFrownBig FrownCryNeutralWinkKissRazzChicCoolAngryReally AngryConfusedQuestionThinkingPainShockYesNoLOLSillyBeautyLashesCuteShyBlushKissedIn LoveDroolGiggleSnickerHeh!SmirkWiltWeepIDKStruggleSide FrownDazedHypnotizedSweatEek!Roll EyesSarcasmDisdainSmugMoney MouthFoot in MouthShut MouthQuietShameBeat UpMeanEvil GrinGrit TeethShoutPissed OffReally PissedMad RazzDrunken RazzSickYawnSleepyDanceClapJumpHandshakeHigh FiveHug LeftHug RightKiss BlowKissingByeGo AwayCall MeOn the PhoneSecretMeetingWavingStopTime OutTalk to the HandLoserLyingDOH!Fingers CrossedWaitingSuspenseTremblePrayWorshipStarvingEatVictoryCurseAlienAngelClownCowboyCyclopsDevilDoctorFemale FighterMale FighterMohawkMusicNerdPartyPirateSkywalkerSnowmanSoldierVampireZombie KillerGhostSkeletonBunnyCatCat 2ChickChickenChicken 2CowCow 2DogDog 2DuckGoatHippoKoalaLionMonkeyMonkey 2MousePandaPigPig 2SheepSheep 2ReindeerSnailTigerTurtleBeerDrinkLiquorCoffeeCakePizzaWatermelonBowlPlateCanFemaleMaleHeartBroken HeartRoseDead RosePeaceYin YangUS FlagMoonStarSunCloudyRainThunderUmbrellaRainbowMusic NoteAirplaneCarIslandAnnouncebrbMailCellPhoneCameraFilmTVClockLampSearchCoinsComputerConsolePresentSoccerCloverPumpkinBombHammerKnifeHandcuffsPillPoopCigarette

Bitte folgende Codes benutzen:
<a href="ADRESSE">BESCHRIFTUNG</a>  <strong>WICHTIG/FETT</strong>  <em>HERVORGEHOBEN/KURSIV</em>  <blockquote>ZITAT</blockquote>

Mit dem Absenden Ihres Kommentars willigen Sie ein, dass der angegebene Name und Ihre Email-Adresse von mir im Zusammenhang mit Ihrem Kommentar gespeichert werden. Die Email-Adresse wird natürlich nicht veröffentlicht oder sonst weitergegeben. Die IP-Adresse speichere ich nicht. Mehr hierzu in den Datenschutzhinweisen. Sollte Ihr Kommentar nach dem Absenden hier nicht erscheinen, so wurde er entweder als Spam eingestuft oder er erwartet meine Moderation. Ich überprüfe eingehende Kommentare zeitnah und schalte sie gegebenenfalls frei.