irssi-proxy: one IRC to rule them all
Veel mensen vragen mij hoe ze op een eenvoudige manier overal op IRC kunnen inloggen zonder op een andere computer te moeten uitloggen – ze willen in principe via eender welke computer op hun “globale IRC account” kunnen inloggen.
Meestal zeg ik dan: “als je met een terminal client overweg kunt, gebruik irssi in screen“. Nou, dat is een leuke oplossing voor een aantal mensen, maar vaak krijg ik als antwoord: “Maar, ik wil graag [insert grafisch IRC programma] gebruiken!”
“Probeer dan eens irssi-proxy“, is dan mijn antwoord. Maar aangezien veel mensen problemen hebben met de effectieve configuratie van irssi-proxy, leg ik in deze post even het principe en een simpele configuratie van irssi-proxy uit.
Wat is irssi?
irssi is een zeer uitgebreid IRC programma met een tekstuele interface. Het is een open source programma, vrijgegeven onder de GPL licentie.
Wat is irssi-proxy?
irssi-proxy is een module (plugin) voor irssi om een soort bouncer te draaien voor andere clients. Dit betekent dat je met een andere IRC client (bijvoorbeeld XChat of Konversation) kan verbinden met de server waar irssi-proxy op draait en op die manier dus eigenlijk op de IRC account zit van irssi, maar dan via een tweede IRC client.
Wat zijn de voordelen?
- 1 globale verbinding delen tussen meerdere/verschillende IRC clients (en/of meerdere computers)
- irssi draait steeds op de achtergrond en kan dus chatlogs bijhouden en je account continu online houden
- eventueel kan je gebruik maken van ssh tunneling zodat de verbinding tussen een client en de irssi-proxy server door middel van sterke encryptie gecodeerd is
Simpele configuratie van irssi en irssi-proxy
- irssi pakket installeren
- Ubuntu instructies: sudo apt-get install irssi
- Andere distributies: irssi installeren en ervoor zorgen dat de irssi module ook aanwezig is; in geval van compilatie vanaf de source moet je “–with-proxy” meegeven als argument bij ./configure
- irssi starten
- commando uitvoeren in een terminalvenster: irssi
- basisconfiguratie van irssi
- Netwerk toevoegen en commando uitvoeren na opstarten van dit netwerk:
vb.: /NETWORK ADD -autosendcmd “/^msg nickserv identify ircwachtwoord;wait 2000″ Freenode - Server aan netwerk toevoegen en deze server automatisch gebruiken:
vb.: /SERVER ADD -auto -network Freenode irc.freenode.org 6667 - Kanalen aan netwerk toevoegen en deze kanalen automatisch joinen:
vb.: /CHANNEL ADD -auto #ubuntu-nl Freenode
- Netwerk toevoegen en commando uitvoeren na opstarten van dit netwerk:
- configuratie van irssi-proxy
- Voeg de onderstaande lijnen toe aan het bestand ~/.irssi/startup (.irssi is een verborgen map in je persoonlijke /home/gebruiker folder) je kan het aanpassen met bijvoorbeeld gedit (GNOME), kwrite (KDE), mousepad (XFCE) of nano (terminal).
Indien het bestand niet bestaat, gewoon aanmaken.
vb.: gedit ~/.irssi/startup# Proxy module laden LOAD proxy # Wachtwoord instellen voor proxy module SET irssiproxy_password wachtwoord # Verschillende netwerken 'forwarden' over verschillende poorten # Bij meerdere items gewoon een spatie tussen de items laten # (vb.: Freenode=6789 Andernetwerk=6790) SET irssiproxy_ports Freenode=6789
- Na het aanpassen van het startup bestand kan je best irssi even herstarten om te testen of alles automatisch werkt (eventueel kon je ook de commando’s die nu in het startup bestand staan handmatig invoeren, maar zonder het startup bestand moet je deze bij elke start van irssi opnieuw invoeren)
- Voeg de onderstaande lijnen toe aan het bestand ~/.irssi/startup (.irssi is een verborgen map in je persoonlijke /home/gebruiker folder) je kan het aanpassen met bijvoorbeeld gedit (GNOME), kwrite (KDE), mousepad (XFCE) of nano (terminal).
Jouw favoriete IRC client configureren om aan te melden via irssi-proxy
De IRC client die je wil configureren om aan te melden via irssi-proxy mag op eender welke computer in jouw netwerk staan, de enige vereiste is dat er een verbinding tot stand kan worden gebracht met de computer waar irssi-proxy draait.
Ik bespreek kort de configuratie voor twee populaire grafische IRC clients op linux: XChat (GNOME) en Konversation (KDE):
- XChat configuratie:
- In de netwerklijst (XChat -> Netwerklijst… of CTRL+S) klik je op de knop “Toevoegen“.
- In de lijst met netwerken verschijnt nu een nieuw item, typ een gepaste naam in, dit mag eender wat zijn, bijvoorbeeld: irssi-proxy-freenode
- Terwijl het nieuwe item in de lijst is geselecteerd: klik op de knop “Bewerken…“
- Naast de serverlijst klik je op de knop “Bewerken” en je verandert deze waarde naar de hostnaam (of het IP adres) van de server waar irssi-proxy draait en de poort naar de poort waar dit bepaalde netwerk naar gelinkt moet worden (zoals je geconfigureerd hebt bij irssi-proxy, je weet wel, in het startup bestand)
vb.: hostnamevanserver/6789 - Bij “Serverwachtwoord” kan je eventueel het wachtwoord invullen dat je hebt ingesteld voor irssi-proxy, maar het kan ook zijn dat je ervoor gekozen hebt om geen serverwachtwoord in te stellen.
- Konversation configuratie:
- In de serverlijst (Bestand -> Serverlijst… of F2) klik je op de knop “Nieuw…“
- Typ een gepaste naam bij “Netwerk”, dit mag eender wat zijn, bijvoorbeeld: irssi-proxy-freenode
- Klik onder de serverlijst op “Toevoegen…” en vul hier de hostnaam (of het IP adres) in van de server waar irssi-proxy draait en de poort naar de poort waar dit bepaalde netwerk naar gelinkt moet worden (zoals je geconfigureerd hebt bij irssi-proxy, je weet wel, in het startup bestand)
vb.: Server: hostnamevanserver; Poort: 6789 - Eventueel kan je bij “Wachtwoord” nog het wachtwoord invullen dat je hebt ingesteld voor irssi-proxy, maar het kan ook zijn dat je ervoor gekozen hebt om geen serverwachtwoord in te stellen.
Er waren echter een paar problemen met de originele XFiSH plugin. De source wou niet compileren en er was geen ondersteuning voor het Freenode netwerk. Een zekere Gnilor heeft de oorzaak van deze problemen gevonden.
