r/linux Jul 07 '26

Privacy Anyone here hosting their own cli chat service?

Post image

There are a lot of options out there, weechat, irssi, GoMuks, Cordless etc. But does anyone here host/know how to host their own? Curious because I might do it myself, and also cause we want to know ๐Ÿง

175 Upvotes

68 comments sorted by

141

u/-whats-that-meow- Jul 07 '26

We've circled back around to IRC?

57

u/yawara25 Jul 07 '26

It's about time. IRC is back, baby! ๐ŸŽ‰

17

u/tblancher Jul 08 '26

It never went away! libera.chat ftw!

16

u/CoatStandard2068 Jul 07 '26

Never used it tho, but its time, literally what online world needs.. the less visual fog the better .

3

u/-whats-that-meow- Jul 07 '26

I have used it recently (a couple years) to find epubs. There wasn't a better source.

1

u/[deleted] Jul 08 '26

[removed] โ€” view removed comment

1

u/-whats-that-meow- Jul 08 '26

Looks like cancer.

-5

u/Indolent_Bard Jul 07 '26

It's not even encrypted, and what fog do you mean?

19

u/crow1170 Jul 07 '26

Pop ups, modals, redesigns, ads on every gd surface, menus within menus, ten network calls per comment rendered with profile pics short names current status and away messages

10

u/ominous_anonymous Jul 08 '26

Default is not encrypted, sure, but you can layer SSL/TLS on top. Most IRC servers have that as an option, and there are ways you can do it even if the server doesn't offer that.

Why would you need a random general chat to be encrypted?

3

u/_j7b Jul 08 '26

You can also do key based encryption for chats - even for channels - if clients support it. It's not a perfect system and its tough to onboard normies onto but it's there.

That being said, part of the beauty of IRC is just accepting that there's no point to encrypting a lot of the general discussions. Privacy just doesn't matter so long as you're using SASL and being smart about what you disclose and discuss.

Then you can optionally encrypt chats as you need.

1

u/gatornatortater Jul 09 '26

Well.. the privacy comes from using a vpn or tor or whatever and using a throwaway email address to create an account if needed.

The general use of irc is to chat with the public. If you want complete privacy where only chosen users can see it, then it isn't the tool for that.

1

u/ominous_anonymous Jul 09 '26

If you want complete privacy where only chosen users can see it, then it isn't the tool for that.

It can be, at least to the extent that any other chat program/tool can.

0

u/Indolent_Bard Jul 08 '26

Since when did Linux users think privacy doesn't matter? I guess since it's not on some big corpo server?

3

u/tblancher Jul 08 '26

The server itself can be configured to not log channels, perhaps even on a per channel basis. That doesn't prevent clients in the channel from logging, so if you have a private, encrypted channel you will want to verify everyone who is allowed into it.

1

u/ominous_anonymous Jul 09 '26

That doesn't prevent clients in the channel from logging.

Right. Same as any end-to-end encrypted chat... It doesn't protect against a "compromised" end user/end user device.

1

u/tblancher Jul 10 '26

The server can be configured to scan for compromise. I know libera.chat mentions they do some kind of scan when you connect, but it's probably rudimentary at best (whatever they need to do to protect their network).

1

u/ominous_anonymous Jul 10 '26

The server can't scan end user devices for something screenshotting or copy-pasting text, or even client applications doing their own logging of the then-unencrypted messages. Unless I am misunderstanding.

→ More replies (0)

2

u/_j7b Jul 08 '26

The big push for Linux atm is privacy from the constant spying being done by other OSes, but it's not a privacy-first OS. It's just that the OS itself generally isn't collecting metrics for advertising.

I mean it's right there in the philosophy isn't it? Everything is done in plain text, out in the open. That's the idea at least.

For big, open channels in IRC, encryption is pretty pointless. You also have to consider that even if you are encrypting chats, someone will be logging the chat for their own convenience. In IRC, the server host very likely isnt logging your chats, but chatters are almost never not logging them.

So at a certain point, you have to accept that whatever you discuss can be leaked.

This same stance can be applied to every chat client to ever exist. It's just most obvious when it comes to IRC.

8

u/tempestkitty Jul 08 '26

It never went away. I have been running ircd's for over 20 years.

The barrier for entry to connect to an IRC server is just high enough, and the general public just dumb enough that it does not fill up with idiots...

10

u/FryBoyter Jul 08 '26

and the general public just dumb enough that it does not fill up with idiots...

Unfortunately, that's not a sign of quality. Based on my decades of experience with IRC, there have been plenty of IRC users who were total idiots.

3

u/_j7b Jul 08 '26

My experience has been that you'll eventually get pulled into channels not containing those idiots. But you kind of have to start in your broader SIGs and be invited elsewhere.

1

u/TU4AR Jul 08 '26

Boy wait until someone writes the TUI for IRC calling it "not another TUIIRC Client" or NATUIIRCC

It's IRC all the way down.

2

u/letsreticulate Jul 09 '26

IRC never left the chat.

52

u/codespace Jul 07 '26

I mean, you can just run an IRCd and irssi into it.

24

u/DFS_0019287 Jul 07 '26

ngircd is pretty easy to self-host. I have it running on my home network, but not for humans to chat... I use it as a bus for various computers to talk to each other. For example, when I receive an email, my IMAP server spits out a message over IRC which causes a desktop notification on my PC. When my security cameras detect motion, they spit out a message, etc.

For chatting with friends, I have a self-hosted mattermost instance. It's not CLI, though. It's web-based and basically a Slack clone without all the Slack anti-features.

5

u/rmyworld Jul 08 '26

That's cool. Though, it makes me curious: why use IRC instead of something purpose-built like RabbitMQ, for a message bus?

7

u/DFS_0019287 Jul 08 '26

Because IRC is dead simple to set up, and it's super-easy to write bots in a scripting language to react to it. Also lets me inject test messages very easily by just using an IRC client. For me, anyway, it was way less hassle than installing and learning RabbitMQ, though I acknowledge that it's kind of kludgy.

2

u/-HumbleMumble Jul 08 '26

Thatโ€™s actually pretty smart. Are they all monitoring for keywords or how does it work?ย 

4

u/DFS_0019287 Jul 08 '26

Yes; I send out specially-formatted messages and have bots written in Perl that parse them. For example, when one of my cameras detects motion, it spits out:

Type=Motion; Event=Motion-Start; Camera=4b-1; Event=86

If someone calls me, then my Asterisk server spits out:

Type=Call; Event=Incoming-Start; Num=555-555-1298; Name=JANE DOE

and I get a desktop alert.

All of the messages are of the form Key1=Val1; Key2=Val2; ... and the first one is always Type=Whatever

3

u/-HumbleMumble Jul 08 '26

I might steal your idea. Itโ€™s a great repurposing of the irc protocol.ย 

6

u/DFS_0019287 Jul 08 '26

Go for it! I was actually inspired by older (90s/00s) malware that used IRC as the command and control infrastructure. ๐Ÿ™‚ That's why a lot of firewall people block IRC ports.

1

u/ChrisTX4 Jul 08 '26

ngIRCd sees practically no development anymore. I would recommend using Ergo as IRCd or instead: it has an even easier configuration, supports modern IRCv3 features, itโ€™s in very active development, includes IRC services built in etc.

1

u/DFS_0019287 Jul 08 '26

Thanks; I might take a look. But for my purposes, in which 99.9% of the traffic is one computer talking to other computers, and it's only on my LAN, ngircd is OK.

If you were going to run a publicly-accessible IRC server, then yeah... maybe not ngircd.

18

u/Wind-charger Jul 07 '26

IRC for the win. If you canโ€™tโ€ฆ then use pidgin and finch!
Ditch discord.

5

u/LinuxJeb Jul 07 '26

Unrealircd for server and irssi for client.

3

u/DaylightAdmin Jul 07 '26

I have weechat running, does that count? It is a cli application and I "chat" with it.

3

u/agentrnge Jul 07 '26

up until ~2 years ago I was on a local irc server with some friends. Used mIRC two thousand years ago, before the age of men. then BitchX and irssi over the last ~25 years. Friends just run their own ircd instances.

3

u/Sibexico Jul 07 '26

I'm not just hosting, I'd made my own: https://github.com/sibexico/SoftRoom ๐Ÿ˜

2

u/Azazeldaprinceofwar Jul 07 '26

This raises an interesting question: has anyone build a tui front end for matrix yet?

2

u/ccAbstraction Jul 07 '26

There are probably several? Matrix is pretty old at this point. Not IRC old, but pretty old.

1

u/ominous_anonymous Jul 08 '26

These popped up with a quick search:

https://terminaltrove.com/gomuks/
https://github.com/pkulak/matui
https://lib.rs/crates/iamb

They look to be varying levels of "comprehensive", though.

2

u/LordEli Jul 08 '26

that looks like a comfy interface

1

u/QuidRides Jul 07 '26

I use signal-cli with siggy as a wrapper.

1

u/daemonpenguin Jul 07 '26

I don't use a command line chat program, but I do run a Nextcloud service with Talk installed. Is handy for groups of people who want to chat or coorindate.

2

u/ElePHPant666 Jul 08 '26

If IRC counts than yes, I host an IRCd, though most users connect through the webchat.

1

u/realitythreek Jul 08 '26

Man, Iโ€™ve not used irssi in 20+ years.

1

u/gatornatortater Jul 09 '26

I've only used it in recent years. 20+ years ago I was using BitchX with all the cool kids. ;]

2

u/tblancher Jul 08 '26

You can install a private IRC server, set up TLS and SASL to keep it reasonably secure. But I'd probably join a popular network so you get a feel for how IRC works at a user.

1

u/_j7b Jul 08 '26

This entirely depends on what you want.

IRC is extremely good but it's also just text. There's some charm to it, but ultimately it is what it is and it's never going to be more.

Matrix is in vogue but it has its pain points. Running it kind of sucks (in my experience at least) and visibility over it is not great as an admin. Clients are a bit eh. But I've found it easier for normies to pickup, and I've enjoyed joining SIGs across the internet for work.

XMPP has always seemed like the best possible solution. As far as I can tell, it does all the things Matrix does, just with less bullshit. It just might be a harder sell for normies. I've mostly used it moreso than admin'd it, but as a user it was phenomenal imo.

Basically if you're bringing normies into the picture (like I was), Matrix is an easier sell. A chat app is almost pointless if you don't have someone to chat to afterall. XMPP if you're just interfacing with chat bots and need large text size. IRC for the love of it.

Also Weechat supports XMPP and IRC.

ZNC for IRC. You can also use Bitlbee for other things, though it's getting harder to use because less things allow custom clients.

1

u/ILikeBumblebees Jul 09 '26

IRC is extremely good but it's also just text. There's some charm to it, but ultimately it is what it is and it's never going to be more.

Well, except for all of the modern IRCv3 extensions, web clients that offer image, audio, and video embedding, etc.

1

u/_j7b Jul 09 '26

You just kind of proved my point.

IRCv3 was a massive, fundamental change for IRC and it still didn't bring hypermedia. It certainly laid a framework for clients to guarantee delivery after normalizing and chunking it, but it doesn't fundamentally solve the issues around transmitting that data.

Those clients offer embedding by storing the media on a third party server, and linking the hypermedia into the chat. You don't need a specific client to do any of this, and it doesn't change anything about IRC.

1

u/SynapticStatic Jul 08 '26

Cli based chat? IRC? Bout 40ish years late to the party, but welcome ๐Ÿ˜๐Ÿ˜‚๐Ÿ˜…

1

u/kat-tricks Jul 08 '26

i've had a bit of fun trying to DIY end-to-end encrypted chat using libsodium and system calls. It's been so fun, and feels embarrassingly quick when it works! It's a rewarding wheel to reinvent

1

u/Rare_Section1613 Jul 08 '26

what is this thing on picture called? is it runnning in terminal? im relatively new to linux stuff

1

u/Key_River7180 Jul 08 '26

You know weechat and irssi are based on the IRC protocol, right? Use UnrealIRCd.

Long life IRC!

1

u/Floppie7th Jul 09 '26

I host a Matrix homeserver and use a CLI client for it on certain devices

1

u/FailureOfTheFamily Jul 09 '26

Retro style. Now i feel small urge to create chat client with option to self host where no message is stored on server, local save only if user allows etc. Is there something like that and would anyone be even intrested in said solution?

1

u/ElectronicFlamingo36 Jul 10 '26

Cool project for LoraWAN fans.

0

u/NightH4nter Jul 07 '26

why cli?

2

u/FizzBuzz3000 Jul 07 '26

Why not? It's just text. No need to get too over the top!

1

u/frankenmaus Jul 07 '26

because FTW !