Irssi is the irc client gurus use. Really, it is, just like mutt.

Basics

Window Motion

FIXME: explain this stuff

Ignoring

See /help ignore. /help levels lets you see what kinds of things you can ignore.

Config file

Autoconnecting

Here are some instructions for getting irssi to automatically connect to a particular network.

  1. Add the network if it doesn't already exist.
  2. Tell it to autoconnect.
  3. You're already done.

Here is what the relevant part of the ~/.irssi/config file looks like:

servers = (
  { address = "irc.oftc.net";
    chatnet = "OFTC";
    port = "6667";
    autoconnect = "Yes";
  },
);

(you will, of course, likely have other servers listed to)

It is also possible to get channels to autojoin, but for some reason this does not work with hidden channels, at least as far as I can tell.

Installing the FiSH encryption module

Get the package here: http://fish.sekure.us/. Unzip.

apt-get source irssi-text

This gets the source for irssi, which is needed to compile the plug-in.

You may need dev files for libglib (some version) (maybe just "irssi")

cd to the FiSH source directory. type "make". It will run and then give you instruction as to what to do. Do what it says. It involves wgetting and building a sub-utility. When you get to "make", run this command: Edit the makefile to say:

glib_dir = /usr/lib/glib/
irssi_dir = /home/richard/fish-stuff/irssi-text-0.8.9/

C_INCLUDE_PATH=/usr/include/glib-1.2/ make

then {{{cp libfish.so ~/ }}}

I load it using

/load /home/richard/libfish.so

so that I don't have to move stuff to other directories as root.

Random Commands

/trigger add -privmsgs -masks 'MsAlizarin' -modifiers 'i' -regexp '^[ ._-]*(..?.?.?.?)[ ._-]*$' -command '/msg $N $1'

screen + irssi + bitlbee + znc + mobile device

Problem: you mainly use IRC by ssh and screen, but you also have a mobile device and sshing all the time is not convenient. You want a better way to connect to and access IRC on your device. You want to have scrollback on your device, and also you want anything you say to appear on both devices.

Solution: this section.

irssi: self explanatory. Run in screen on some server, and is always on. You probably already do this.

irssi proxy module: irssi has a proxy module. This is not a script, but a module. It starts a proxy irc server on the current machine. Connecting to that proxy will give you the same session you are in in screen. Thus, everything that you send to the proxy server appears as things your real nick says. Anything that comes into IRC gets sent to the screen and the proxy server. This provides the entry point, to split between irssi+screen and a mobile device.

To initialize the proxy server, type

/load proxy

(note that this isn't /script load proxy!. Then, you need to configure it.

/set irssiproxy_password = SOME_SECRET
/set irssiproxy_ports = oftc=2070 bitlbee=2072

The irssiproxy_ports are ports for each network (you can do /server to see your network tags: the network tag is the first thing on each line before the colon.) Note that the proxy section in the config does something different! You want the irssiproxy configuration variables. You can grep for configuration variables by doing /set proxy to list all settings containing the word "proxy".

This setting means this: on port 2070 on localhost, if you connect with an IRC client and that password, you will get all the same information as the oftc network on your server.

znc: znc is what they call an IRC bouncer. It connects to an IRC server and logs everything. When you connect to the bouncer, it sends you all the scrollback. We us this so that, if you get disconnected on your mobile device, you will get the scrollback when you next get a connection. You could use this instead of irssi as your main server connection, but I wanted to keep using irssi since I know it well.

znc is installed on legasov. You can run it per-user. Just type "znc" at the command line and it will go through a configuration wizard. Answer the questions. Tell it to connect to localhost and the port you specified above for irssiproxy. znc will listen on another port you specify - pick something not used by irssiproxy. You can type znc --foreground on the command line and it will start. If you go back to irssi, you will see if znc successfully connects to it. You should be able to configure znc to use SSL.

bitlbee: provides an interface between IRC and other chat protocols, such as google talk, AIM, MSN, facebook, etc. On legasov, there is running on port 6687, and you may use it. You can read about bitlbee on its site for now.

FIXME: document how to add a server to irssi. Something like (this is untested)

/server add -ssl -network bitlbee localhost $PORT $PASSWORD

mobile device: Install an IRC client. I have tried yaaic and andchat, others are probably also good. In the configuration of the client, have it connect to legasov (legasov.zgib.net) and the port of znc. You need to ask rkd to make a port forwarding so that you _can_ connect to that znc. Then connect, and you should have IRC on both console and your mobile device, in the ideal interface for both. When you reconnect via mobile, you will get all the scrollback since your last connection.

DebianNotes/Irssi (last edited 2014-02-04 21:23:47 by RichardDarst)