HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
susam
nimb
Python2023–2023
susam / nimb

nimb

NIMB IRC Matrix Bridge (NIMB) is a simple client tool that bridges IRC and Matrix channels and forwards messages from one to others

2Distinct people
6Mentions
0Explicit recommenders
17GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

NIMB IRC Matrix Bridge (NIMB) is a simple client tool that bridges IRC and Matrix channels and forwards messages from one to others

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by week6 dated mentions

Observed mentions: 2023-07-03 16:08:21 UTC to 2023-11-28 23:50:33 UTC. Weeks start Monday, UTC.

012342023-07-03 00:00:00 UTC to 2023-07-10 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 commentsJul 32023-07-10 00:00:00 UTC to 2023-07-17 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-07-17 00:00:00 UTC to 2023-07-24 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-07-24 00:00:00 UTC to 2023-07-31 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-07-31 00:00:00 UTC to 2023-08-07 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-07 00:00:00 UTC to 2023-08-14 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-14 00:00:00 UTC to 2023-08-21 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-21 00:00:00 UTC to 2023-08-28 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-28 00:00:00 UTC to 2023-09-04 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-04 00:00:00 UTC to 2023-09-11 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-11 00:00:00 UTC to 2023-09-18 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 commentsSep 112023-09-18 00:00:00 UTC to 2023-09-25 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-25 00:00:00 UTC to 2023-10-02 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-02 00:00:00 UTC to 2023-10-09 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-09 00:00:00 UTC to 2023-10-16 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-16 00:00:00 UTC to 2023-10-23 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-23 00:00:00 UTC to 2023-10-30 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-10-30 00:00:00 UTC to 2023-11-06 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-06 00:00:00 UTC to 2023-11-13 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-13 00:00:00 UTC to 2023-11-20 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-20 00:00:00 UTC to 2023-11-27 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-27 00:00:00 UTC to 2023-12-04 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 commentsNov 27

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Jul 32023-07-03 00:00:00 UTC2023-07-10 00:00:00 UTC211
Jul 102023-07-10 00:00:00 UTC2023-07-17 00:00:00 UTC000
Jul 172023-07-17 00:00:00 UTC2023-07-24 00:00:00 UTC000
Jul 242023-07-24 00:00:00 UTC2023-07-31 00:00:00 UTC000
Jul 312023-07-31 00:00:00 UTC2023-08-07 00:00:00 UTC000
Aug 72023-08-07 00:00:00 UTC2023-08-14 00:00:00 UTC000
Aug 142023-08-14 00:00:00 UTC2023-08-21 00:00:00 UTC000
Aug 212023-08-21 00:00:00 UTC2023-08-28 00:00:00 UTC000
Aug 282023-08-28 00:00:00 UTC2023-09-04 00:00:00 UTC000
Sep 42023-09-04 00:00:00 UTC2023-09-11 00:00:00 UTC000
Sep 112023-09-11 00:00:00 UTC2023-09-18 00:00:00 UTC000
Sep 182023-09-18 00:00:00 UTC2023-09-25 00:00:00 UTC000
Sep 252023-09-25 00:00:00 UTC2023-10-02 00:00:00 UTC000
Oct 22023-10-02 00:00:00 UTC2023-10-09 00:00:00 UTC000
Oct 92023-10-09 00:00:00 UTC2023-10-16 00:00:00 UTC000
Oct 162023-10-16 00:00:00 UTC2023-10-23 00:00:00 UTC000
Oct 232023-10-23 00:00:00 UTC2023-10-30 00:00:00 UTC000
Oct 302023-10-30 00:00:00 UTC2023-11-06 00:00:00 UTC000
Nov 62023-11-06 00:00:00 UTC2023-11-13 00:00:00 UTC000
Nov 132023-11-13 00:00:00 UTC2023-11-20 00:00:00 UTC000
Nov 202023-11-20 00:00:00 UTC2023-11-27 00:00:00 UTC000
Nov 272023-11-27 00:00:00 UTC2023-12-04 00:00:00 UTC413

What Hacker News says

6 sources
Your security advisory has been quite helpful and I could reproduce the issue involving CR. It is particularly enlightening to know that the null byte could also cause the same issue because some IRC servers may interpret the null byte too as a line ending. It is late here but I have pushed a quick fix to plug this loophole: <https://github.com/susam/nimb/commit/1c02137>. Review comments, feedback, pull requests, patches, etc. are very welcome! Thank you for this comment thread which has been constructive as well as productive.
In Shutting down the Matrix bridge to Libera chat
You need to split on (or sanitize) null bytes here: https://github.com/susam/nimb/blob/b40d87ddf2e1134fed4d7380b... and sanitize NUL/CR/LF from the prefix (well, display_name) here: https://github.com/susam/nimb/blob/b40d87ddf2e1134fed4d7380b... Otherwise you may have a command injection vulnerability similar to what matrix-appservice-irc used to have: https://pktz.fr/matrix/security/2022-appservice-irc-command-... (though with carriage returns instead of null bytes)
In Shutting down the Matrix bridge to Libera chat
I wrote my own IRC + Matrix client to bridge the channels I operate. I've made the source code available under the terms of the MIT license here: https://github.com/susam/nimb If you find any issues, bugs, etc. in this tool, please let me know. Although this tool works well for my modest requirements, someone else may find issues while using this tool that I have not encountered yet. In such a case, bug reports, pull requests, patches, etc. are very welcome!
In Shutting down the Matrix bridge to Libera chat
I have had my own share of problems with both portalled rooms as well as plumbed rooms on Matrix. Dropped messages, dropped connections, etc. were some of the problems. Sometimes the re-connection times can be several hours long. Despite these problems, the portalled rooms have been a convenient way to quickly set up a relatively persistent connection to the IRC network via the Matrix bridge. That convenience is now going to be lost unless the IRC channel operators opt-in to create an account on Matrix, then set up a plumbed room on Matrix, and then advertise the plumbed rooms sufficiently well. Of course, many regular IRC users set up an IRC bouncer (I use ZNC myself) to keep a persistent connection to the IRC network, so this move would not affect them. But the portalled rooms served as a good alternative to setting up IRC bouncers your
Read the rest
self and unfortunately, this nice alternative is now going away. As a channel moderator, I haven't been too happy with the plumbed channels either. For example, one of the things I have found to be a little problematic is that the Matrix bridge service joins the Matrix room with Admin power level. To avoid these complications, I wrote my own tiny script to bridge the Matrix rooms and IRC channels I needed. Since my script joins the networks as an ordinary client, it does not need elevated privileges in the channels/rooms. In case, anyone is interested in the script, I have shared it here: https://github.com/susam/nimb The section "Differences from Matrix Appservice" at the bottom of the README in the preceding link explains some of the inconveniences I faced with the Matrix bridge service for plumbed channels and why I had to write my own script to avoid them.
In Disabling Matrix Portalling

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.