Client Compatibility
ElixIRCd implements standard IRC protocol (RFC 1459 / RFC 2812) with IRCv3 extensions. Any standard IRC client will work. Clients with IRCv3 support will get enhanced features.
Recommended Clients
Section titled “Recommended Clients”Desktop
Section titled “Desktop”| Client | Platform | IRCv3 Support | Notes |
|---|---|---|---|
| WeeChat | Linux/macOS/Windows | Excellent | Extensible via scripts; best for power users |
| HexChat | Windows/Linux | Good | GUI client; easy SASL setup |
| irssi | Linux/macOS | Good | Terminal; scriptable |
| Textual | macOS | Very good | Native macOS look |
| Konversation | Linux (KDE) | Good | KDE-native |
Web / Browser
Section titled “Web / Browser”| Client | Notes |
|---|---|
| KiwiIRC | Supports WebSocket; can self-host |
| TheLounge | Self-hosted bouncer-style; excellent IRCv3 |
| Gamja | Lightweight; WebSocket |
Mobile
Section titled “Mobile”| Client | Platform |
|---|---|
| Palaver | iOS |
| Mutter | iOS (by Textual devs) |
| Revolution IRC | Android |
| Goguma | Android |
Connecting to ElixIRCd
Section titled “Connecting to ElixIRCd”Basic Connection (Plain TCP)
Section titled “Basic Connection (Plain TCP)”Server: irc.example.comPort: 6667SSL/TLS: NoNick: YourNickTLS Connection (Recommended)
Section titled “TLS Connection (Recommended)”Server: irc.example.comPort: 6697SSL/TLS: Yes (verify certificate)Nick: YourNickWebSocket Connection
Section titled “WebSocket Connection”Server: wss://irc.example.com:8443Protocol: WebSocketNick: YourNickSASL Configuration
Section titled “SASL Configuration”SASL lets you authenticate before completing registration. Configure it in your client before connecting.
WeeChat
Section titled “WeeChat”/server add myserver irc.example.com/6697 -ssl/set irc.server.myserver.sasl_mechanism plain/set irc.server.myserver.sasl_username "YourNick"/set irc.server.myserver.sasl_password "yourpassword"/connect myserverHexChat
Section titled “HexChat”- Network List → Add server →
irc.example.com/6697 - Edit → check Use SSL
- Login Method: SASL (username + password)
- Enter your username and password
/connect -ssl -sasl_mechanism plain -sasl_username YourNick -sasl_password yourpassword irc.example.com 6697Or in ~/.irssi/config:
{ address = "irc.example.com"; port = "6697"; use_ssl = "yes"; ssl_verify = "yes"; sasl_mechanism = "plain"; sasl_username = "YourNick"; sasl_password = "yourpassword";}Textual
Section titled “Textual”- Preferences → Networks → Add
- Server:
irc.example.com, Port:6697, SSL: checked - Identity → Authentication: NickServ SASL
- Enter username and password
IRCv3 Features by Client
Section titled “IRCv3 Features by Client”| Feature | WeeChat | HexChat | irssi | TheLounge |
|---|---|---|---|---|
| SASL PLAIN | ✅ | ✅ | ✅ | ✅ |
| away-notify | ✅ | ✅ | ✅ | ✅ |
| extended-join | ✅ | ✅ | ✅ | ✅ |
| account-notify | ✅ | partial | ✅ | ✅ |
| message-tags | ✅ | partial | plugin | ✅ |
| server-time | ✅ | ✅ | plugin | ✅ |
| multi-prefix | ✅ | ✅ | ✅ | ✅ |
| monitor | ✅ | ✅ | ✅ | ✅ |
| msgid | ✅ | — | — | ✅ |
| setname | ✅ | — | — | ✅ |
Common Issues
Section titled “Common Issues””Cannot join channel” after SASL
Section titled “”Cannot join channel” after SASL”Some channels require you to be registered and identified. If you’re not authenticating via SASL, use NickServ IDENTIFY after connecting:
/msg NickServ IDENTIFY yourpasswordCertificate verification failures
Section titled “Certificate verification failures”If you get SSL errors, ensure:
- The server’s certificate is valid and not self-signed (or add it as a trusted cert)
- Your client has an up-to-date CA bundle
- The hostname in the certificate matches the server you’re connecting to
For self-signed certs during testing, you may need to disable verification (not recommended for production):
# WeeChat (dev/test only)/set irc.server.myserver.ssl_verify offNick already in use
Section titled “Nick already in use”If your nick is registered but you’re not authenticated, another user (or a ghost of your previous connection) may hold it. Use:
/msg NickServ GHOST YourNick yourpassword/nick YourNickSlow connection / timeout during handshake
Section titled “Slow connection / timeout during handshake”ElixIRCd performs async DNS resolution and ident lookup during the connection handshake. This typically completes in under a second but can take up to the configured timeout if DNS or ident servers are slow or unreachable. Most clients handle this transparently.