Configuring SASL for irssi

This script, originally by Michael Tharp and Jilles Tjoelker has been further developed by Mantas Mikul─Śnas (grawity) and lives on Authentication information may be stored in ~/.irssi/sasl.auth.

  1. Copy the script,, into your ~/.irssi/scripts/autorun directory or from wherever irssi loads startup scripts.

  2. The script requires at least the Perl module MIME::Base64. If you're using Linux, Perl modules are generally in distribution repositories, or you can get them directly from CPAN. If you cannot install them for the whole system, you may be able to use local::lib.

  3. Load the script using /script load autorun/

  4. The script needs to be configured with /sasl set network nick password mechanism.

    • network is the (case-sensitive) name of the network specified with /network add.
    • nick is your registered nickname.
    • password is your NickServ password.
    • mechanism is one of the options below:

      PLAIN sends your password unprotected, as plain text (which is fine when connecting over SSL, as the entire exchange is encrypted already).

      EXTERNAL relies on the SSL layer for authentication. It requires support from the ircd, which freenode lacks right now, so it won't work on this network. For more information about using sasl-external, see CertFP.

      ECDSA-NIST256P-CHALLENGE is a certificate-based challenge authentication supported by newer versions of services. It requires the Crypt::PK::ECC module, and some prior setup to generate a keypair and set the pubkey property in NickServ.

      DH-BLOWFISH is a deprecated mechanism that separately encrypted your services password before sending it to the server. DH-BLOWFISH is no longer supported.

  5. Save the settings with /sasl save.

  6. If everything has been configured correctly, the next time you connect you should see the message:

    SASL authentication successful

The script also supports /sasl show and /sasl load. Show lists currently-configured networks and the saved credentials. Load re-reads the sasl.auth file. A /sasl set network command with no other arguments will delete the configuration for that network.

If you know of any additions or corrections, or would like to contribute improvements, contact us at the email below.

Copyright © 2002 – 2015 by freenode Creative Commons License
Comments to email address: support at freenode dot net