Skip to content

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.

ClientPlatformIRCv3 SupportNotes
WeeChatLinux/macOS/WindowsExcellentExtensible via scripts; best for power users
HexChatWindows/LinuxGoodGUI client; easy SASL setup
irssiLinux/macOSGoodTerminal; scriptable
TextualmacOSVery goodNative macOS look
KonversationLinux (KDE)GoodKDE-native
ClientNotes
KiwiIRCSupports WebSocket; can self-host
TheLoungeSelf-hosted bouncer-style; excellent IRCv3
GamjaLightweight; WebSocket
ClientPlatform
PalaveriOS
MutteriOS (by Textual devs)
Revolution IRCAndroid
GogumaAndroid
Server: irc.example.com
Port: 6667
SSL/TLS: No
Nick: YourNick
Server: irc.example.com
Port: 6697
SSL/TLS: Yes (verify certificate)
Nick: YourNick
Server: wss://irc.example.com:8443
Protocol: WebSocket
Nick: YourNick

SASL lets you authenticate before completing registration. Configure it in your client before connecting.

/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 myserver
  1. Network List → Add server → irc.example.com/6697
  2. Edit → check Use SSL
  3. Login Method: SASL (username + password)
  4. Enter your username and password
/connect -ssl -sasl_mechanism plain -sasl_username YourNick -sasl_password yourpassword irc.example.com 6697

Or in ~/.irssi/config:

{
address = "irc.example.com";
port = "6697";
use_ssl = "yes";
ssl_verify = "yes";
sasl_mechanism = "plain";
sasl_username = "YourNick";
sasl_password = "yourpassword";
}
  1. Preferences → Networks → Add
  2. Server: irc.example.com, Port: 6697, SSL: checked
  3. Identity → Authentication: NickServ SASL
  4. Enter username and password
FeatureWeeChatHexChatirssiTheLounge
SASL PLAIN
away-notify
extended-join
account-notifypartial
message-tagspartialplugin
server-timeplugin
multi-prefix
monitor
msgid
setname

Some channels require you to be registered and identified. If you’re not authenticating via SASL, use NickServ IDENTIFY after connecting:

/msg NickServ IDENTIFY yourpassword

If you get SSL errors, ensure:

  1. The server’s certificate is valid and not self-signed (or add it as a trusted cert)
  2. Your client has an up-to-date CA bundle
  3. 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 off

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 YourNick

Slow 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.