Toimiva mobiili-irc iPhoneen

Koetanpas pitkästä aikaa herätellä blogia taas henkiin – ja vaikkapa pienen vinkin myötä, eli siis miten saada toimiva irc-client iLaitteiseen (tässä toimiva tarkoittaa, että se ei hukkaa viestejä vaikkei olisi linjalla, ja privaattiviestit ja highlightit pamahtavat pushina heti perille). Joidenkin mielestä irc lienee jo jotain antiikkista, mutta ei välitetä siitä – tämä voi silti kiinnostaa jotakuta, ja jos ei niin onpahan itselle muistissa miten se tehtiin jos joskus tarvii taas säätää vastaava pystyyn. Ohjeet eivät tarkoituksella mene ihan simppelille tasolle, vaan tämän tekeminen olettaa tekijältä jonkin verran perustaitoja ja oman järjen käyttöä (kannattaa huolehtia suojauksista ja salasanoista kunnolla!) – tässä siis lähinnä vinkkejä siitä, mitä on testattu ja havaittu toimivaksi.

Tarvitset:

  • Linux-palvelin (tai joku kone jossain päin nettiä, mikä on päällä 24/7, mihin bouncerin voi asentaa)
    • tässä esimerkissä Ubuntu, johon asennetaan bounceri nimeltä znc
  • iPhone / iPad / joku muu mobiililaite, johon löytyy sopiva irc-appi
    • tässä esimerkissä iPhone, johon asennetaan appi nimeltä Colloquy (yksi kolmesta, mistä ikinä olen maksanut)

Aloitetaan bouncerin asentamisesta. Se on siis softa, joka toimii irc-clientin ja serverin välissä. Etuja tästä on monia; koska se on aina linjalla, niin viestit eivät mene ohi, ja se lähettää bufferista viimeisimpiä viestejä clienttiin kun kirjautuu sisään eli ei missaa niitäkään viestejä mitä liikkui sillä aikaa kun ei ollut aktiivisena linjalla. Siihen voi myös kirjautua useammasta paikasta (vaikka shellistä irssillä ja mobiilivekottimella samaan aikaan) ja silti on sisällä samalla nickillä ja näkee samat viestit. Ja sopivalla lisäosalla bouncerin saa myös pushaamaan viestit suoraan taskuun, niin että saapuvat privaviestit ja highlightit hälyttävät kuin tekstarit konsanaan.

Aloitetaan asentamalla znc:

sudo apt-get install znc znc-dev

Ensimmäinen asentaa znc:n, jälkimmäinen asennuskalut jolla asennetaan znc:hen lisäosana colloquy-niminen plugini, joka hoitaa pushauksen:

https://github.com/wired/colloquypush/tree/master/znc/
(tarkat asennusohjeet githubin sivulla – ne kolme $-alkavaa riviä)
 

Näiden jälkeen kannattaa ajaa znc –makeconf joka luo oletusasetustiedoston yleensä kotihakemiston alle .znc/config/znc.conf -polkuun tjsp. Sitä pitänee sitten hieman editoida, mm. lisäämällä user-kohdan network defaults -alakohdan alle seuraava:

LoadModule = colloquy

Jos aikomuksena on käyttää mobiililaitteen lisäksi esim. irssiä, niin suosittelisin lisäksi myös seuraavan modulin käyttöönottoa (sillä muuten Colloquyn käynnistyttyään huutelemat who, ban, ym.listat pamahtelevat aina irssinkin ruutuun):

LoadModule = route_replies

Kannattaa myös katsoa että muut znc:n asetukset ovat järkeviä, mm.  käyttäjätunnukset, salasanat, portit. Suosittelisin myös SSL:n päällekytkemistä (SSL = true), webiliittymän poiskytkemistä (AllowWeb = false)  ja oman avaimen tekemistä (znc –makepem -käskyllä). Itse viritin lisäksi crontabiin vartin välein ajoon skriptin, joka tarkastaa znc:n olevan ajossa tai spawnaa sen jos sitä ei ajosta löydy (esim. serverin rebootin takia).

Asennetaan colloquy iLaitteeseen:

Tämä on tosiaan yksi kolmesta maksullisesta applikaatiosta, mitä ikinä olen iPadiin tai iPhoneen hankkinut – ja toistaiseksi tuntuu sen reilun euron arvoiselle. Softa löytyy AppStoresta:

https://itunes.apple.com/us/app/colloquy-irc-client/id302000478?mt=8
 

Siihen laitetaan asetuksiin serveriksi kone, mihin znc on asennettu, ja portit, tunnukset ja salasanat ylläkonffatun mukaan – ja jälleen suosittelen myös SSL:n käyttöä, tai muuten kännykkä huutelee avoimissa wlaneissa käyttäjätunnusta, salasanaa ja kaikkia viestejäsi täysin avoimesti!

Ylläolevat kun ovat kasassa, niin ainakin perustoiminnallisuus pitäisi olla kunnossa. Ja sitten vain virittelemään lisää – vinkkejä ja muita kivoja ominaisuuksia löytyy mm. seuraavista paikoista:

Tässäpä tätä. Ensi kerralla ehkä taas jotain vähän yleistajuisempaa… 😉

Leave a Reply

Your email address will not be published. Required fields are marked *