Matrix-IRC
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-huone 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-huoneeseen - Matrixissa /invite @ircnet:irc.snt.utwente.nl
- Botti EI liity huoneeseen 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-huoneelle "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.fi" }'
Valmistelu[muokkaa]
Kutsu siltabotti kanavalle (IRCNetissä @ircnet:irc.snt.utwente.nl)
Anna botille vähintään moderaattorin oikeudet.
Suorita CURL-pyyntö.
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
[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.
[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
[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ä: