Matrix-IRC

Linux.fista

Tarvisiko sillata IRCNet-kanava Matrixiin "paremmalla tavalla" eli plumbaamalla? Plumbaamalla saat kanavalle admin-oikeudet Matrixin puolelle josta on riemua joissain tilanteissa.

Homma on vähän kimuranttia mutta näillä ohjeilla pitäisi onnistua.

Ennakkotiedot[muokkaa]

Tarvitset seuraavat tiedot:

  • IRC-siltabotin mxid - IRCNetissä @ircnet:irc.snt.utwente.nl
  • Oma mxid - @sina:palvelin.org
  • IRC-kanavan nimi - #esimerkki
  • IRC-käyttäjän nick, jolla on opit #esimerkki -kanavalla - opin_nick
  • Matrix-kanavan id - Alkaa huutomerkillä ja löytyy Element Webistä kanavan asetuksista Advanced | Internal room ID: !paLjOnKirJAimiA:palvelin.fi

Valmistelu[muokkaa]

  • Luo Matrix-kanava ellei ole jo. ÄLÄ laita päästä päähän-salausta päälle.
  • Luo IRC-kanava, ellei ole jo liittymällä siihen. Huolehdi että sinulla (tai avustajallasi) on op-status kanavalla.
  • Kutsu IRC-siltabotti Matrix-kanavalle - Matrixissa /invite @ircnet:irc.snt.utwente.nl
  • Botti EI liity kanavalle vielä. Voit silti tehdä seuraavan kohdan.
  • Aseta IRC-siltabotille riittävät oikeudet Matrixissa (PL99 riittää): /op @ircnet:irc.snt.utwente.nl 99
  • Aseta Matrix-kanavalle "Change permissions"-oikeus vaatimaan tason 99, jos haluat että silta voi asettaa IRC-puolen opit moderaattoreiksi.
  • JOS IRC-kanava on invite only (+i), kutsu IRC-siltabotti sinne: IRCissä /invite SNTMatrixBot

Siltaus[muokkaa]

Työkalu, jolla siltaus onnistuu löytyy sivulta https://l4mrh4x0r.me/plumb-irc/ (lähdekoodi)

Anna työkalulle IRC-kanava, Matrix-kanavan ID, IRC-opin nick ja oma Matrix-tunnuksesi. Työkalu sanoo "Link request posted" jos tiedot ovat oikein.

Vaihtoehto: Siltaus JSON-pyynnöllä[muokkaa]

Voit vaihtoehtoisesti tehdä siltauspyynnön curlilla jos se tuntuu hauskemmalta tai työkalu ei jostain syystä toimi.

Tee seuraavanlainen curl-komento (kirjoita vaikka tekstieditorissa ja copypastea terminaaliin):

curl --location --request POST 'https://matrix-irc.snt.utwente.nl/ircnet/provision/link' --header 'Content-Type: application/json' --data-binary '{
 "remote_room_server": "irc.snt.utwente.nl",
 "remote_room_channel": "#esimerkki",
 "matrix_room_id": "!paLjOnKirJAimiA:palvelin.fi",
 "op_nick": "opin_nick",
 "user_id": "@sina:palvelin.org"
}'

Vahvistus[muokkaa]

Siltabotti kysyy nyt opin_nick-käyttäjältä IRC:ssä yksityisviestissä:

<SNTMatrixBot> @sina:palvelin.org has requested to bridge 'Kanavan nimi' (https://matrix.to/#/#kanava:palvelin.org) with #esimerkki on this IRC network. Respond with 'yes' or 'y' to allow, or simply ignore this message to disallow. You have 600 seconds from when this message was sent.

Vastaa: yes

Silta on nyt valmis! Jos on ongelmia, kysele IRCNet-sillan kanavalla #ircnet:utwente.io

Lopuksi[muokkaa]

Tässä vaiheessa on varsinkin uudella kanavalla hyvä varmistaa että kanava on salainen +s ja vain opit voivat vaihtaa topicin +t. Lisäksi kannattaa asettaa reop-lista +R jotta opit eivat katoa IRCin puolella. Huomaa että Matrix-sillan luomilla IRCNet-käyttäjillä on uniikki pysyvä IPv6-osoite, eli sitä voi käyttää reop-listalla.

Sano IRC-käyttäjänä:

/mode #esimerkki +st +R *!matrixuuser@2001:xxx:yyy:zzz:0:0:0:xxxx +R *!ircuuseri@palvelin.fi

Kanavan päivitys[muokkaa]

IRC-silta OSAA seurata kanavapäivitystä. Jos päivität kanavan uuteen versioon, silta tunnistaa sen ja käyttäjät tulevat automaattisesti kanavalle. Tämä tosin tapahtuu vasta kun käyttäjä sanoo jotakin tai silta käynnistetään uudelleen.

Portaalikanavan muuttaminen plumbatuksi[muokkaa]

Tee näin ja tässä järjestyksessä:

  • Hanki opit IRC-kanavalla oikealla IRC-käyttäjällä.
  • Perusta uusi Matrix-kanava
  • Pura silta (katso kohta Sillan purkaminen)
  • Siltaa uusi kanava
  • Tee tombstone vanhalle kanavalle osoittamaan uuteen

Huom! Jos et pura siltaa ennen plumbausta, silta jää elämään kahdelle kanavalle eikä sitä saa vanhalta omatoimisesti pois. Tämä lienee bugi IRC-sillassa.

Sillan purkaminen[muokkaa]

Sillan pitäisi purkautua kun viimeinen Matrix-käyttäjä poistuu kanavalta.

Jos haluat purkaa sillan ja säilyttää Matrix-kanavan, tee seuraavasti (Esimerkki IRCNetissä):

  • Selvitä Matrix-kanavan ID (Advanced | Internal room ID)
  • Selvitä IRC-kanavan nimi IRC-verkossa
  • Varmista että sinulla on op-status IRC-kanavalla.
  • Avaa viestiyhteys integraatiobotille (IRCNetissä @ircnet:irc.snt.utwente.nl) ja katso sen kotipalvelin (IRCNetissä irc.snt.utwente.nl)
  • Anna komento integraatiobotille:
!unlink !kanavanIdJossaPaljonKirjaimia:palvelin.fi irc.snt.utwente.nl #kanava


Heisenbridge[muokkaa]

Heisenbridge on vaihtoehtoinen IRC-silta, jota käytetään joko henkilökohtaisena puppet-siltana tai relaybottina.

Heisenbridgejä EI ole julkisesti käytettävissä, se käytännössä pitää asentaa omalle kotipalvelimelle.

Relaysillan plumbaus[muokkaa]

  • Lisää kyseessä oleva IRC-verkko Heiseniin
  • Luo uusi Matrix-kanava tarvittaessa, ei salausta
  • Selvitä Matrix-kanavan ID (Advanced | Internal room ID)
  • Sano verkon huoneessa: plumb !kanavanIdJossaPaljonKirjaimia:palvelin.fi #kanava

Portaali-IRC-kanavan muuttaminen Heisenbridgelle[muokkaa]

IRC-sillan luomaa portaalikanavaa ei voi epäsillata !unlink-komennolla, vaan täytyy tehdä uusi kanava:

  • Perusta uusi Matrix-huone, ei salausta
  • Siirrä kaikki muut sillat uuteen huoneeseen
  • Kutsu vanhan huoneen Matrix-käyttäjät uuteen huoneeseen (ÄLÄ käytä tombstonea!)
  • Poista vanhan huoneen aliakset ja lisää ne uuteen huoneeseen
  • Poista vanha huone spaceista joissa se on, lisää uusi tilalle
  • Merkkaa vanha huone jotenkin vanhaksi. Vaihda huoneen nimi vaikka Vanha: (Huoneen nimi)
  • Plumbaa uusi huone Heisenbridgellä (kts ylempi otsikko)

Huomaa että vanhalle kanavalle pääsee liittymään yhä toisen IRC-sillan kautta. Näin liittyvät käyttävät näkyvät irkkaajina Matrixin kautta.

Helpotusta irkkaajille[muokkaa]

Heisenbridge on ns. relaybot, eli sillä on yksi yhteys irkkiin ja se välittää usean käyttäjän viestit tämän yhden botin kautta:

<botti> <kayttaja> Morjensta!

IRC-clientteihin saa skriptejä, joilla botin osuus kadotetaan näkyvistä: