Following information is meant for a Debian system.


Requirements

To be able to do this we will need the following:

  • irssi installed
  • tor package installed
  • registered nickname on freenode
  • SASL auth for that nickname

Install packages

sudo apt install tor irssi -y

Tor config

  1. Add this line to the bottom of /etc/tor/torrc
    MapAddress 10.40.40.40 ajnvpgl6prmkb7yktvue6im5wiedlz2w32uhcwaamdiecdrfpwwgnlqd.onion
    

    Do make sure that 10.10.10.40 is not actually in use on your network, otherwise pick something else.

  2. Restart the service
    sudo systemctl restart tor
    

    or

    sudo service tor restart
    

    Either one should work.

Certificate for SASL auth

  1. Generate cert & key pair
    You may have to start irssi once first for the .irssi directory to be created.
    mkdir ~/.irssi/certs
    cd ~/.irssi/certs
    openssl req -newkey rsa:4096 -x509 -keyout <nickname>.key -out <nickname>.crt -nodes -subj "/CN=<nickname>"
    
  2. Bundle the key and certificate
    cat <nickname>.key <nickname>.crt > <nickname>.pem
    
  3. Get the fingerprint (we’ll need this in the next section)
    openssl x509 -in <nickname>.pem -outform der | sha1sum -b | cut -d ' ' -f1
    

    IRSSI

  4. Start irssi
    irssi -n <nickname>
    
  5. Connect to Freenode
    /connect Freenode
    
  6. Msg Nickserv and register your nickname
    You wil also have to pick a password and give up an emailaddress to register
    /msg NickServ REGISTER <password> <emailaddress>
    
  7. Add the certificate fingerprint to your nickname (from the previous section, step 3)
    /msg NickServ CERT ADD <fingerprint>
    
  8. Verify your account
    You should have received an email with a confirmation code
    /msg NickServ VERIFY REGISTER <nickname> <confirmation_code>
    
  9. Add a network that we’ll use to connect via Tor
    The username and password should be the same as what you used in step 3.
    /network add -sasl_username <nickname> -sasl_password <password> -sasl_mechanism EXTERNAL FreenodeTor
    
  10. Add a server entry
    /server add -net FreenodeTor -ssl -ssl_cert ~/.irssi/certs/<nickname>.pem 10.40.40.40 6697
    

    You can also add -auto to this if you want to connect automatically when you start irssi.

  11. Finally, save the config and quit
    /save
    /quit
    

    Run IRSSI via Tor and connect

  12. Start irssi
    torify irssi -n <nickname>
    
  13. Connect (if required)
    /connect FreenodeTor
    

    I found this useful because otherwise your IP is visible and maybe you don’t want that.
    Good luck!