Ircstream
Ircstream is an IRC service for broadcasting recent changes events from Wikimedia wikis. It was created in 2024 as new backend for irc.wikimedia.org and is developed by Faidon at https://github.com/paravoid/ircstream
Service
The service is currently hosted on irc1003.wikimedia.org and irc2003.wikimedia.org. Events are broadcasted from Wikikube pods (and a handful of remaining baremetal MediaWiki appservers) via UDP packets sent to port 9390. The ircstream.wikimedia.org CNAME points to the currently active server.
Administration
Adding/removing hosts
Two steps are needed to add/remove ircstream servers in the Mediawiki Wikikube config:
- The network policies for wikikube need to be updated to, e.g. https://gerrit.wikimedia.org/r/c/operations/deployment-charts/+/1076730
- The mediawiki-config needs to be updated to reference the nodes, e.g. https://gerrit.wikimedia.org/r/c/operations/mediawiki-config/+/1050261
Updating the Debian package
The upstream repository includes a debian/ directory, so it's a simple rebuild of what's shipped there.
Use
We now have a a vastly superior EventStreams service providing machine-readable push notifications over HTTP in JSON format at https://stream.wikimedia.org/v2/stream/recentchange, but until the key consumers of the IRC recent changes feed have migrated, this old service remains vital. No new services should use this service.
Bots still using the legacy setup
Bot name | Description | Homepage | Confirmed to actively consume the IRC feed | If so, bug for eventstream port |
---|---|---|---|---|
ClueBot | ClueBot NG is an anti-vandalism bot that tries to detect and revert vandalism quickly and automatically | https://github.com/cluebotng/bot/ and https://github.com/cluebotng/bot/ | ||
COIBot | COIBot is a bot that tries to track edits that are made by users who may have a conflict of interest | https://meta.wikimedia.org/wiki/User:COIBot/COIBot | ||
CVNBot | CVNBot (previously known as SWMTBot) is the main IRC bot software used by the Countervandalism Network to interpret recent changes streams and provide a feed on IRC for patrollers to work from | m:CVNBot (gerrit) (phab) | Yes, ~30 bots with some number of active users | Part of phab:T327136, unlikely to be done anytime soon given that it requires a complete rewrite. |
EarwigBot | EarwigBot is a Python bot that edits Wikipedia and interacts over IRC | https://github.com/earwig/earwigbot | ||
EstadoEdita | Bot which publishes Wikipedia edits from the State of Chile to Twitter, apparently defunct since no posts after May 2023 | https://github.com/jsajuria/estadoedita/ | seems defunct | n/a |
EyeInTheSkyBot | This is a stalk bot for edits on Wikipedia. It uses the RC IRC feed on irc.wikimedia.org to look for edits, and reports stalked edits in ##eyeinthesky on irc.libera.chat | https://github.com/stwalkerster/eyeinthesky | yes | https://github.com/stwalkerster/eyeinthesky/issues/61 |
FinlandEdit | Bot which publishes Wikipedia edits from different Finnish Government IPs to Twitter (defunct since July 2023) and Mastodon | https://github.com/duukkis/finlandedits | https://github.com/edsu/anon/issues/144 | |
KrdBot | The bot is written in Perl and based on the MediaWiki::Bot-Module. It runs continuously automatically or manually assisted at specified intervals, depending on tasks (see below). It normally does not more than one edit per minute on the same task | https://commons.wikimedia.org/wiki/User:Krdbot | ||
OverheidsEdits | This Twitter bot warns you when the Dutch government anonymously edits Wikipedia articles. Seems defunct, no posts to Twitter since July 2023 and the listed Mastodon URL is dead too | seems defunct | ||
Huggle | Huggle is a diff browser intended for dealing with vandalism and other unconstructive edits on Wikimedia projects, written in C++ using the Qt framework. Huggle is a desktop tool, not a bot, but it uses IRC as one of three RC sources (alongside the often-unreliable XmlRcs and RecentChanges polling). IRC has been recently preferred by users due to its reliability (compared to XmlRcs) and speed (compared to the polling API). | m:Huggle (GitHub) (Phab) | yes | none |
WikiMon | Watch the RecentChanges IRC feed with Python. Support for various WikiMedia projects and languages. At the moment, WikiMon's primary usage pattern is broadcasting changes over WebSocket | https://github.com/hatnote/wikimon | Yes, actively used by http://listen.hatnote.com/ | none |
Pastilles | Watch the RecentChanges IRC feed with | https://fr.wikipedia.org/wiki/Utilisateur:PastilleBot | yes | none |
See also
- https://github.com/paravoid/ircstream (Upstream homepage)
- m:IRC/Bots