Slircdocs Open app

Connect / IRC clients

IRC clients

Slirc remains IRC underneath, so the conversation does not depend on one client.

Client shortlist

ClientPlatformsInterfaceSourceGood fit for
SenpaiLinux, macOSterminalopena focused keyboard-driven client
HalloyLinux, macOS, Windowsdesktopopena modern cross-platform GUI
TextualmacOS, iOSnativecommerciala polished Apple client
Revolution IRCAndroidnativeopenlightweight mobile IRC
WeeChatLinux, macOS, BSDterminalopenscripting and deep customization

These clients support registered IRC accounts through SASL. Exact history and media presentation varies by client.

How Slirc features appear

Connect with a password

  1. Open More → IRC client on a phone, or Profile → IRC on desktop.
  2. Choose Use a password and name the device, for example Halloy on MacBook.
  3. Save the password when it appears. Slirc shows it once.
  4. Copy the setup block for your client.

Clients connect to app.slirc.org on port 6697 with TLS and SASL PLAIN. Adding or removing a password device rotates the account password. Older password clients must use the newest password before they can reconnect.

Connect with a certificate

A certificate gives each client its own credential. Revoking one certificate does not interrupt other clients.

Generate an ECDSA P-256 key and self-signed certificate. Replace yournick with your Slirc account name:

nick=yournick; openssl req -x509 -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -days 3650 -subj "/CN=$nick" -keyout "slirc-$nick.key" -out "slirc-$nick.crt" && cat "slirc-$nick.key" "slirc-$nick.crt" > "slirc-$nick.pem" && chmod 600 "slirc-$nick.key" "slirc-$nick.pem" && openssl x509 -in "slirc-$nick.crt" -noout -fingerprint -sha256

Keep .key and .pem private. Anyone with either file can sign in as you. Open Profile → IRC → Use a certificate, name the device, and paste the SHA-256 fingerprint printed by OpenSSL.

Halloy

Add this to Halloy's config.toml, using absolute paths:

[servers.slirc]
server = "app.slirc.org"
port = 6697
use_tls = true
nickname = "yournick"
username = "yournick"

[servers.slirc.sasl.external]
cert = "/path/to/slirc-yournick.crt"
key = "/path/to/slirc-yournick.key"

WeeChat

Copy the combined PEM to WeeChat's private certificate directory, then configure server:

/server add slirc app.slirc.org/6697 -tls
/set irc.server.slirc.nicks "yournick"
/set irc.server.slirc.tls_cert "%h/tls/slirc-yournick.pem"
/set irc.server.slirc.sasl_mechanism external
/connect slirc

Older WeeChat releases call tls_cert ssl_cert and use -ssl instead of -tls.

Textual

Convert certificate to PKCS #12, import it into macOS Keychain, then select identity certificate in Textual's server settings and choose SASL EXTERNAL:

openssl pkcs12 -export -inkey slirc-yournick.key -in slirc-yournick.crt -out slirc-yournick.p12

Textual on iOS must receive identity through iOS certificate/profile management before it appears in server settings. Textual versions without SASL EXTERNAL must use password setup above.

Senpai

Senpai currently supports SASL PLAIN only and has no client-certificate setting. Use Use a password in Slirc for Senpai. Do not add PEM paths to Senpai config; current releases ignore them.

Never enter your magic-link URL into an IRC client. Magic links sign in to web app. IRC clients use password or certificate from device setup.