* The lounge (web based) :
* Halloy (rust, native) : https://github.com/squidowl/halloy
* Tiny (rust, TUI; easier to configure than weechat) : https://github.com/osa1/tiny
* Weechat (TUI; the goat but harder, here's a good guide to setting it up) : https://newblood.anonops.com/weechat.html
It got me back on using IRC every day after not using it regularly for years any more. Just following along in channels like #postgresql / #beets / #dokku on Libera I already learned a few new things.
Writing an IRC client is really a fun and rewarding exercise.
I also more or less started my career as a software engineer by maintaining a mildly popular Linux one, at the time.
Some things I learned ...
- A lot about shipping to real users and their pain points, since the devs are naturally accessible by IRC and you get to meet directly
- A whole lot about what makes a successful technology
- Equally much about tech warts, as IRC suffers from a fair number misguided early decisions and many years without functioning governance
- How incredibly rewarding it is to work on products that users directly "live their lives" in and that can help facilitate anything they do - it taught me to look out for jobs that have similar substrate-like qualities
Good luck with your project, I'm glad to see the cycle of renewal continue.
- Emacs clients: built-in rcirc and erc, non-built-in Circe.
- irrsi (standalone TUI)
- Quassel IRC (GUI; have not tried it myself, but saw others using it).
- mIRC (GUI, for Windows).
Maybe mIRC got bloated as of late, but my shitty Windows XP computer could easily handle multiple networks and 50-ish channels per network back in early 2000s, could it really have gotten so much worse since then?
edit: also just noticed parent post didn't include a link to it. https://thelounge.chat/
Soju works with other clients as well, but then requires some configuration. See https://git.sr.ht/~emersion/soju/tree/master/item/contrib/cl... for some possibilities.
I find manually configuring clients for use with a bouncers not very intuitive. The quality of integration depends on which protocols each client supports. So, I'd recommend trying the clients I lists above first.
There are two hosted soju services I'm aware of, both about $20/yr (both are a part of a larger service, but the price is good even if you just use the bouncer). Both include gamja, so installing your own IRC client is not required.
https://pico.sh/bouncer (also accessible as an ssh app)
You can also self-host soju/gamja, but that takes a bit of work.
A retarded C compiler, a TLS lib if you want TLS, and you are good to go.
my IRC network in the past has had issues with script kiddies disrupting us and causing drama and claiming that our IRC server was insecure (it wasn't), and we figured out that they had found us through another IRC indexing site - one which we weren't aware were indexing us. another problem was someone adding a "partyline" bot to our server, which opened a channel to all other "partyline" channels that the bot had been added to. cute idea, but we did not ask for this, someone just plunked it in our server and left.
I wish there was a robots.txt for IRC, or at the very least for the indexers to tell one of the admins, "hey, we're indexing your server, please let us know if you don't want us to do that". we want to be left alone.
https://providers.xmpp.net/ to help find a provider
https://xmpp.org/software/ to help find clients/servers
Many once-popular servers have stopped accepting new registrations (e.g. jabber.ccc.de), were involved in some nation state espionage activities [1], or simply seem to no longer be around.
For modern clients, it's not looking much better. There's always a promising new one around for a while, only to not live up to the expectations and become the "still current best but unmaintained" option of the future.
As much as I like XMPP, I can't help but notice that its future looks somewhat grim.
That's why providers.xmpp.net gives a good overview on where to sign up. The clients I know of also allow you to create an XMPP address directly from the app. The whole ordeal is to choose an username and a password then.
> involved in some nation state espionage activities
This is really more of a TLS thing than an XMPP thing, since the attacker was able to intercept traffic with a valid TLS certificate. Of course the second line of defense is E2EE here, but arguably, since the XMPP community was directly affected, they learned (monitoring certificate logs, channel binding , DANE, https://certwatch.xmpp.net/ ) a lot about defending even against this level of attacker from this incident.
> still current best but unmaintained [client]
I wonder which one you are talking about. My recommendations are Conversations, Gajim and Monal. They're all modern clients, actively maintained and have been around for a while now.
Conversations is indeed almost perfect on Android (I really wish it could use optionally use XEP-0357), but I mainly use iOS.
Monal looks nice, but I'm just generally wary of these single-engineer passion projects – ChatSecure looked nice before as well, and Monal could see the same fate any day.
> That's why providers.xmpp.net gives a good overview on where to sign up. [...] The whole ordeal is to choose an username and a password then.
The problem isn't finding one that lets you register, it's finding one that will reliably still be around in a few years.
If XMPP were to offer a lightweight, DNS-based "identity handle", this wouldn't be as much of a problem (as clients could back up your contact list and keys etc.), but as it is, if a server ever disappears, your lose everything.
That said, I do trust the people running conversations.im, and it even seems to be free at this point! (Down from EUR 10/year, which is nothing if you value XMPP, but an almost insurmountable hassle when trying to onboard any friends/family.)
- https://www.telnetbbsguide.com/
- https://www.ipingthereforeiam.com/
Plenty of boards run Multi-Relay Chat (MRC), which is IRC-ish.
To see it in action, feel free to open this in an incognito window, it won't prompt you for credentials https://leanprover.zulipchat.com/
The current solution is that projects that want their publicly available content to be search engine indexed set up https://github.com/zulip/zulip-archive, which usually involves hooking a GitHub action up to GitHub Pages for a 0-infrastructure deployment. Ultimately, that's the same model as an IRC indexing project like this one: a separate tool from the chat server is responsible for search engine indexing.
Lean runs one here: https://leanprover-community.github.io/archive/, but it looks like it hasn't updated in a year, so likely whoever in the Lean community needs to investigate why it isn't updating.
https://github.com/zulip/zulip/issues/21881 tracks our goal of making the server natively offer search engine indexing. The current separate archive tool model has some advantages (search engine load can't break the server, for example), but I think it'll be worth doing the native version when we can find the resources for it.
Source: I lead the Zulip project.
I don't think the actual chat conversations need to be indexed, in fact as a platform for chat I appreciate discord for what it is. though irc also worked fine for me back in the day.
What annoys me more is the fact that discord these days is also used as a substitute for forums and such. There is so much information just hidden on discord you will only find when you know to join specific servers because there is no way to search for that information from the outside.
For some topics and subjects that is fine. But for support for software (even open source) I feel that it is a loss and actually has contributed to a decline of information availability on the internet.
Which would, of course, be solved by having those conversations indexed and searchable on the web.
By those that have an account and that know on which "servers" to find the content they're looking for.
> What annoys me more is the fact that discord these days is also used as a substitute for forums and such. There is so much information just hidden on discord you will only find when you know to join specific servers because there is no way to search for that information from the outside.
And that's exactly the problem. Discord is a great Teamspeak successor (I suppose; I've never used that). It's a horrible substitute for a bug tracker, development roadmap, forum, release announcement feed etc.
In all seriousness, I hope this helps index some more active servers and some communities to grow. IRC was a big part of my life back at the turn of the century, but I spent some time last year sniffing around for my old haunts. They were either graveyards or did not exist anymore, sadly.
If I wanted to get involved in say more technical/niche channels outside my expertise, is there any advice or unwritten rules I should know?
Perhaps a better question, how should you participate (as noob) without getting Stack Overflow beatings, and show respect of other people's time?
As long as you adjust when people give you guidance (if needed), you'd be fine.
Everyone does something bad/ill accidentally every now and then, it's not the end of the world, apologize, learn and move on. It becomes a huge hassle for everyone involved when it's repeated even after being told it's wrong, so just listen and follow what others (ops) tell you.
I’ve been running an IRC network for 20 years, that currently has a few thousand users on it. Yet it does not seem to be indexed.
there was another topic recently about nostalgia regarding the old Internet, one of the arguments presented in centralisation is that discoverability is much improved-
One of the biggest channels ironically is one for an IRC client called "the lounge". Which is a very nice web based client with bouncer build in. Though I might be biased as I did contribute to the project years ago.
I was a dedicated IRC user for a long time, even going as far as developing this monstrosity: https://github.com/creesch/discordIRCd
At some point I didn't see the point anymore, as it clearly was just old guard sticking around with no one new joining.
It is a shame that discord as a closed platform is the de facto standard though. I am not sure things could have gone differently. Considering how glacial IRC development was at the time and the convenience and features Discord offers over alternatives like Matrix. I know that Matrix these days has a lot of the same features but certainly is not there as far as convenience goes.
In my opinion, most of the differences between IRC and Slack/Matrix/Discord/etc stem from trying to keep users in a group chat while they're not actually online, since this requires servers to store message history, and then you're legally required to have a way to moderate the message history, and you might as well send back-history to clients who just joined, and so on. Additionally, since each message is stored authoritatively on the server, it can be updated with things like text edits and emoji reactions.
Some of the differences, like being able to send pictures, do not stem from that.
I read and responded to a similar comment recently here on HN about email security. The gist of the question is "why don't we create something like email but secure?" and the gist of my reply is "if we created a whole new system, we'd add all the things we can now have that we couldn't have when email was invented, like instant notifications, and then it would be a reinvention of a newer protocol (I didn't name Matrix, Fediverse or XMPP), nothing like email.". https://news.ycombinator.com/item?id=42633785
Encode the image to Base64, post the string and have your client decode. Or use your browser.
Simple.
The lack of features that Slack/Discord specifically added to differentiate themselves from IRC are also important, but it was a lot simpler to add them to their brand new designs, than to work through having to specify them onto the IRC protocol and then get servers and clients to adopt it. You can look at the IRCv3 page linked higher in the thread to see some of the efforts, but this is 10 years later and we're still not there. :D
Personally, part of the charm of the IRC protocol is the simplicity. You can implement a client effortlessly in most languages in just an hour or two.
Then slack did the modern IRC client.
For what it's worth, the whole Matrix community has been solidly plugging away improving convenience and making good progress - all the new Matrix 2.0 APIs, and on launching Element X on the Element side: https://matrix.org/blog/2024/10/29/matrix-2.0-is-here/ and https://element.io/blog/we-have-lift-off-element-x-call-and-... etc. A lot of the "Matrix isn't good enough" trope is a few years old now.
But the reality is also that it has also been a decade since Discord was released. Meaning that for almost a decade people have been able to experience a very low threshold experience of joining entire servers and creating their own.
I don't want to discredit all the work that went into the protocol and clients. All I am saying is that after almost a decade it is quite clear that as far as IRC replacements go most of the internet moved to Discord. Which I also am not a fan of, but I can see why it did happen as Matrix simply didn't have all the features back then. I also do recognize that Matrix at this stage is much more user-friendly and offers many of the features discord also does. Spaces in place of servers and at least one client that is still quite okay. Though I do think some of the things I said a few years ago still apply https://news.ycombinator.com/item?id=30328120#30333252.
And the fact that after a decade there is still only one client having feature parity still stands out to me. I know that discord officially only has one client. But since there are multiple clients advertised for matrix it does add to confusion and therefore detracts from convenience.
Having said that, I firmly believe there is a place for matrix. It is clear there are vibrant communities on the platform, so I am not saying it is a dead platform. Just also not one that I see being more widely adopted in the near future.
I also have seen other applications that I found quite novel and pleasant. Just last year I had to do an online interactive training with a trainer. The platform itself with breakout rooms and trainer interaction was all based on matrix and element as far as I could tell.
Why they call it "modern" is outlined in the very first paragraph:
> Originally started in 2006, inspired by the now defunct SearchIRC [...] Our goal is to bring awareness to IRC, help modernize the IRC platform and prove that IRC is not dead
Compared to that, IRC driven looks more modern.
MM/DD timestamps is big yikes.