IRC-technologienieuws uit de eerste helft van 2026
In mijn vorige nieuwsbericht uitte ik mijn teleurstelling over de vloedgolf aan vibe-coded IRC-projecten. Sinds die tijd zijn er een paar dingen gebeurd. De IRCv3 Working Group is begonnen met het toevoegen van AI-markeringen (robot-icoontjes) aan software in de ondersteuningstabellen op ircv3.net, wanneer bekend is dat deze met aanzienlijke AI-ondersteuning is ontwikkeld. De leden van Codeberg e. V. stemden met 358 tegen 144 stemmen voor een verbod op vibe-coded projecten op de gratis code-hostingdienst van Codeberg. Al dit is zeer nuttig bij het evalueren van nieuwe softwareprojecten.
Hieronder vindt u een vermelding van een nieuwe mobiele app genaamd Mensajitos, die in een verfrissende wending is gecodeerd via traditionele hersen-handcoördinatie en een duidelijk en verstandig AI-beleid heeft. Het is werkelijk nectar voor de vermoeide ziel om te zien dat dergelijke projecten nog steeds worden gemaakt.
Protocolspecificaties
De working group publiceerde in februari een overzicht van specificaties, waarbij de nadruk lag op de geratificeerde reply client tag en Websockets, evenals updates voor de react client tag, Metadata en client-batch. Sinds dat overzicht heeft de groep de volgende zaken geratificeerd:
- Account Extended Ban
- no-implicit-names extensie
- channel-context client tag
Daarnaast is er een concept voor de oper-tag extensie geïntroduceerd. Updates aan bestaande specificaties en concepten omvatten de chathistory-context en chathistory-end tags, en een ACCOUNTREQUIRED ISUPPORT-token, samen met verschillende verbeteringen aan het concept voor de account-registration spec.
Mobiele clients
goguma (voor mobiel Linux, iOS en Android)
Er is ondersteuning toegevoegd voor netwerkicoontjes en avatar-metadata, het delen van video's vanuit de mediabibliotheek van de telefoon, unreactions, het redigeren van reacties, de chathistory-end tag, CHATHISTORY TARGETS paginering en het ACCOUNTREQUIRED ISUPPORT-token.
IRCCloud (verbinding met elke IRC-server en Slack workspaces)
De Android-app heeft UI-updates ontvangen voor verbeterde compatibiliteit met nieuwere Android-versies. In de iOS-app is de afhandeling van de reply tag robuuster gemaakt.
Mensajitos (client voor Android en iOS)
Dit is een nieuwe client die in juni openbaar is gemaakt. Het doel is om aan te voelen als een echte mobiele chat-app in plaats van een terminal-client die in een telefoonscherm is geduwd. De app maakt gebruik van React Native.
Weechat-Android (WeeChat relay client voor Android)
Foutmeldingen worden nu getoond in snackbars (berichten onderaan het scherm) en de kopieerdialog is verbeterd.
WeechatRN (WeeChat relay client voor mobiel via WebSockets)
Er is een knop toegevoegd om naar ongelezen berichten te scrollen en het is nu mogelijk om het relay-pad te configureren.
Webclients
Convos (Go in de backend, Svelte in de frontend)
De backend is overgezet van Perl naar Go. Het plug-insysteem is verwijderd omdat dit nauw verbonden was met Perl; ook het CMS is verwijderd. Er is ondersteuning toegevoegd voor OIDC-login voor single sign-on, en Web Push wordt nu ondersteund voor meldingen op mobiele clients. De afhandeling van channel modes is verbeterd en er is ondersteuning toegevoegd voor server-time, multi-prefix, userhost-in-names en extended-join. Daarnaast zijn de message tags msgid, account en reply toegevoegd, evenals de commando's /ignore en /unignore om berichten van nicks lokaal in de client te filteren.
gamja (een minimalistische webclient)
De gebruikerservaring bij het uploaden van bestanden is verbeterd en er is een router toegevoegd, waardoor de gefocuste buffer bij een paginaverversing kan worden hersteld via een URL-schema.
irc-hybrid-client (single user hybride client met JavaScript frontend en Node.js/Express backend)
Er kan nu een aangepaste achtergrondkleur worden gespecificeerd voor elk IRC-kanaal en er is een allow list voor websocket Origin geïmplementeerd.
KiwiIRC (maakt gebruik van statische bestanden en ondersteunt theming en plug-ins via JavaScript)
Het donkere thema is verbeterd en de taaldetectie is robuuster gemaakt.
The Lounge (moderne webclient op basis van Node.js)
Er is een /cleartopic commando toegevoegd, msgid tags worden nu afgehandeld, en acties zoals /me ontvangen nu STATUSMSG-indicaties. De toegankelijkheid is verbeterd en de mobiele viewport werkt nu correct wanneer het virtuele toetsenbord verschijnt.
Desktopclients
bIRC (native client voor macOS)
Dit is een nieuwe app die al alle IRCv3-functies ondersteunt, inclusief die in conceptfase. De client werkt met bouncers, ondersteunt DCC-bestandsoverdracht en is scriptbaar met JavaScript.
ERC (Emacs IRC client)
Er is een match API toegevoegd om te reageren op de inhoud en andere gegevens van berichten. Desktopmeldingen zijn configureerbaarder geworden en er is een instellingenmodule toegevoegd voor het granulair toepassen van opties.
geoIRC (client voor Commodore GEOS in 6502 assembly)
Voor gebruik hiervan is GEOS nodig op een Commodore 64 met een 1541 Ultimate II+ cartridge of een Ultimate 64. Op YouTube zijn een algemene presentatie en een technische diepduik over de client beschikbaar.
Halloy (cross-platform client geschreven in Rust)
Nieuwe functies zijn onder meer:
- Een
/connectcommando om tijdelijk verbinding te maken met een server. - Ondersteuning voor transparante achtergronden.
- Mogelijkheid om meerdere sneltoetsen aan één shortcut toe te voegen.
- Ondersteuning voor emoji-reacties via IRCv3 react.
- Invoegen van emoji's en commando's via de picker.
- Ondersteuning voor verzenden van meerregelige berichten en typing indicators.
- Bestanden uploaden via soju.im/FILEHOST.
- Ondersteuning voor channel-context, metadata, WebSockets en bot mode IRCv3 features.
- Het
/massmessagecommando voor Ergo/Solanum mass-messages. - Berichten kopiëren via het contextmenu en persistente concepten van berichten.
- Ondersteuning voor SVGs, een nick- en channel completion picker, reply and draft/message-redaction.
Nieuwe instellingen laten de gebruiker server-icoontjes in het zijmenu verbergen, de standaardreden voor QUIT en PART instellen, de lettergrootte van emoji-berichten aanpassen, verzendbevestigingen uitschakelen, queries toevoegen aan de zijbalk na verbinding, regelafstand configureren, en bepalen wanneer en hoe automatische away-berichten worden getoond.
Irken (kleine, modulaire client geschreven in Tcl/Tk)
De reconnection plug-in is robuuster gemaakt.
MERK (cross-platform, multiple-document interface client)
Verbeteringen zijn onder meer:
- Kanaaltitels kunnen optioneel worden getoond in tooltips in de windowbar.
- Markdown voor het opmaken van invoertekst.
- Ondersteuning voor ASCIImoji shortcodes en IRC-kleuren in de invoer.
- Ondersteuning voor Wayland sessies op Linux.
- Optionele "tip of the day" dialoog bij opstarten.
- Nieuwe kanaalchats kunnen optioneel een systray-flitsmelding triggeren.
- Flatpak als installatiemethode op Linux.
- Ondersteuning voor SASL-authenticatie en verbeterde IRCv3 capability negotiation.
- Een logviewer met zoekfunctionaliteit.
- Scripts die uitgevoerd kunnen worden bij verbinding met een server of specifiek kanaal.
- Plug-ins kunnen IRCv3 extensies aanvragen bij de server die MERK niet native ondersteunt.
- Aangepaste markering van woorden via het
/highlightcommando. - De bot-status van gebruikers wordt getoond in gebruikerslijsten en away-berichten kunnen als tooltips verschijnen bij de nickname-weergave.
mIRC (Windows-only)
Editboxes in aangepaste dialogen ondersteunen nu grijsgekleurde optionele tekst, de dark mode is verbeterd en de installer vereist geen administratorrechten meer.
Pidgin (multi-netwerk/protocol chat applicatie)
De eerste alpha-releases van Pidgin 3.0 zijn verschenen (2.95.0 en 2.96.0). Er is een nieuwe volledig bindbare AccountSettings API toegevoegd, de accounteditor is vernieuwd en er is ondersteuning voor avatars toegevoegd.
Polari (GNOME client)
Thumbnails zien er nu beter uit op HiDPI-schermen.
RudeChat (Python client gericht op snelheid en portabiliteit)
De inkleuring van nicknames is verbeterd.
Terminalclients
clown (client geschreven in Rust)
Aan deze nieuwe client zijn basisfunctionaliteiten toegevoegd, zoals tab-completion, berichtenlogs en ondersteuning voor meerdere serververbindingen.
senpai (TUI client gemaakt voor bouncers)
Er is een Alt+Delete sneltoets toegevoegd om het volgende woord vanaf de cursor te verwijderen. Spellingscontrole is nu mogelijk en het /upload commando zonder argumenten uploadt nu de inhoud van het klembord. Er is ondersteuning toegevoegd voor draft/chathistory-end tags en er zijn Windows binaries beschikbaar.
SMDT (Sega Megadrive/Genesis terminal emulator, telnet en IRC client)
Berichten kunnen optioneel tijdstempel-prefixen hebben.
Swirc (lichtgewicht ICB en IRC client)
Een /userhost commando is toegevoegd, samen met de afhandeling van RPL_USERHOST events, en een /log commando voor het beheer van logbestanden.
tiny (client geschreven in Rust)
Er is een configuratieoptie toegevoegd om automatische serververbindingen uit te schakelen.
WeeChat (uitbreidbare chat client)
Het /eval commando heeft nu een -e optie voor het evalueren van alle commando's vóór uitvoering, en de tekst voor de typing indicator kan worden aangepast.
Bouncers
KiwiBNC (Node.js)
Logica voor het behouden en opschonen van berichten is geïmplementeerd voor de SQLite-berichtenopslag.
soju (multi-user bouncer)
Ondersteuning is toegevoegd voor onversleutelde HTTP/2 en PROXY protocol PP2SUBTYPESSLCLIENTCERT. Er is een soju.im/client-cert IRC extensie toegevoegd voor het beheren van clientcertificaten. Daarnaast worden draft/unreact, draft/extended-isupport, CHATHISTORY AROUND en draft/ACCOUNTREQUIRED nu ondersteund, en er is een Quassel PostgreSQL importtool toegevoegd.
ZNC (geavanceerde bouncer)
De ervaring met Goguma mobiele clientverbindingen is verbeterd. Standaard hardening response headers worden nu verzonden in de web-admin en relevante API-endpoints, en SSL is standaard ingeschakeld bij verbindingen met servers.
Daemons
Ergo (combinatie van ircd, services framework en bouncer)
PostgreSQL en SQLite kunnen worden gebruikt als geschiedenis-backends. Er zijn HTTP API endpoints toegevoegd voor het vermelden van kanalen, het bekijken of wijzigen van het DEFCON-niveau, het wijzigen van accountwachtwoorden en het uitvoeren van whois. Ondersteuning is toegevoegd voor draft/ACCOUNTREQUIRED, draft/chathistory-end en draft/AUTHTOKEN. Het /v1/check_auth API endpoint ondersteunt nu certificaat-vingerafdruk authenticatie. Er kan een configureerbare melding worden gestuurd naar clients bij verbinding om open proxies te detecteren. Websocket-authenticatie kan gebruikmaken van cookies, en auth-script en ip-check-script kunnen via Unix domain sockets worden uitgevoerd.
InspIRCd (stabiel, high-performance en modulair)
Ondersteuning is toegevoegd voor IRCv3 features: ACCOUNTEXTBAN, no-implicit-names en UTF8ONLY. Er zijn veel verbeteringen doorgevoerd in extended bans, inclusief de mogelijkheid om bans tussen kanalen te delen. TLS-vingerafdrukken kunnen nu worden doorgestuurd vanuit HAProxy, en er is ondersteuning toegevoegd voor local-only X-lines. De swhois en sacommands modules zijn herschreven, maximale targets kunnen per commando worden geconfigureerd, er is een interactief configure-script toegevoegd en WHO-responses bevatten nu account tags. InspIRCd vraagt om hulp bij het testen van development releases van v5.0.0.
Ircd-hybrid (lichtgewicht, high-performance daemon)
Het LIST commando implementeert nu de standaard ELIST creation-time filters correct; daarnaast zijn er diverse kleine verbeteringen doorgevoerd.
Solanum (IRCd voor unified networks)
Ondersteuning is toegevoegd voor BATCH, no-implicit-names, channel-context, reply en labeled-response. De documentatie voor hooks is volledig herzien, er is een quarantine module toegevoegd en de spamfilter heeft nu een bypass-mogelijkheid.
UnrealIRCd (de meest gebruikte IRCd)
Er zijn instellingen toegevoegd voor het beheren van SETIDENT en SETNAME. De module manager staat nu toe dat third-party modules externe bibliotheken en build flags specificeren. Er wordt meer gebruikgemaakt van beveiligingsfuncties op OS- en hardwareniveau waar beschikbaar. Ondersteuning is toegevoegd voor draft/multiline and de conditionele functies van configuratie zijn uitgebreid. Veel nieuwe crule-functies zijn toegevoegd voor het beheren van security groups, match items en spamfilter rules. De connection throttling werkt beter tegen IPv6 clone-aanvallen, en server bans en spamfilters bieden meer statistieken.
Bots
Calculon (bibliotheek voor bots en collectie plug-ins - OCaml)
De codebase is gemigreerd naar de irky bibliotheek met de Eio backend.
Eggdrop (de oudste bot die nog actief ontwikkeld wordt - C/Tcl)
De web UI is verder ontwikkeld, ondersteuning voor extended bans is toegevoegd en de bot kan nu willekeurige channel modes afhandelen zonder fouten.
gluon_bot (general purpose bot - Rust)
Deze bot is gestart in 2023 en beschikt inmiddels over functies zoals events, games, plug-ins, quotes, RSS/Atom feeds, tijdzones en weersinformatie.
Limnoria (robuuste, complete bot - Python)
Windows-ondersteuning is toegevoegd of verbeterd voor diverse plug-ins.
PBot (pragmatische bot - Perl)
Het zoeken in de Unicode character property applet en in de Factoids plug-in is verbeterd en er is een nieuwe random-quote applet met lokale database toegevoegd.
Sopel (lichtgewicht utility bot - Python)
Plug-in callables zijn herzien, wat meer flexibiliteit biedt voor plug-in auteurs.
Bibliotheken, frameworks en utilities
- Ibis (C): Een
Client::stoppedsignaal is toegevoegd en er zijn constanten toegevoegd voor standaard replies en metadata. - irc by hyperimpose (Erlang): Deze bibliotheek startte in 2024 en ondersteunt IRCv3 capabilities en extended-join.
- IRC::Client (Raku): Nickname-afhandeling is verbeterd.
- irc-framework (Node.js): Ondersteuning toegevoegd voor standard-replies, de afhandeling van ZNC-verbindingen is verbeterd en Unix sockets kunnen nu worden gebruikt in plaats van een hostname en poortcombinatie.
- irc-go (Go): Capability negotiation is robuuster gemaakt.
- ircv3-filehost-server (Go): Een nieuwe utility uit april dit jaar die serveroperators in staat stelt file hosting aan te bieden, ongeacht de gebruikte IRCv3 daemon. De FILEHOST spec is nog niet geratificeerd en ondergaat wijzigingen.
- irky (OCaml): Een fork van
irc-client, nu met optionele SSL/TLS ondersteuning en direct-style IO backends (Unix, Eio). - NetIRC (C#): De API is volledig gedocumenteerd.
- redis-irc-bot (Bash): Ondersteuning toegevoegd voor
account-tag. - superseriousstats (PHP): Een colour scheme switcher is toegevoegd aan de CSS styles.
Bridges (Bruggen)
- Biboumi (XMPP naar IRC gateway): Optie toegevoegd voor het verwijderen van oude berichten uit de database en de implementatie van draft/multiline is gepolijst.
- Dis4IRC (Discord $\leftrightarrow$ IRC bridge): Bridging wordt nu ondersteund voor slash commands en components.
- irgramd (IRC client naar Telegram als reguliere gebruiker): Bestanden downloaden is robuuster gemaakt.
- Reliable Discord-client IRC Daemon (rdircd): Optie toegevoegd om Unicode emoji's te vervangen door ASCII.
- teleirc (brug naar Telegram): Installatiescript toegevoegd om als systemd unit te installeren.
- whatsircd (IRC $\leftrightarrow$ WhatsApp bridge): Gelanceerd in augustus 2025. Ondersteunt reacties, replies en CardDAV voor het up-to-date houden van contacten.
Services
Anope (hoog modulair set van services)
Hostmasks kunnen worden opgeschoond of geweigerd bij toevoeging aan een access list. De output van nickserv/list toont relevantere informatie. De modules cssetmisc en nssetmisc voor het koppelen van informatie aan een kanaal of nickname ondersteunen nu validatie van door de gebruiker opgegeven gegevens. Informatie via nssetmisc kan worden getoond in WHOIS-output van geauthenticeerde gebruikers op InspIRCd en UnrealIRCd. De modules regexposix en regextre zijn beschikbaar op Windows en er zijn voorbeelden toegevoegd aan diverse BotServ commando's.
Atheme (voor grote netwerken met hoge schaalbaarheidseisen)
Documentatie is toegevoegd voor de JSONRPC module en een NEVEROP flag is toegevoegd voor groepen om te voorkomen dat anderen de groep toevoegen aan channel access lists.
Groetjes,