FiSH module for ZNC

So a bunch of us were sitting around talking one night and decided just for the lulz we would also start using FiSH Encryption in one of our back back channels on IRC. Not everyone that is in the channel are neck-beards and use irssi; some even don’t use XChat. To easy the transition for everyone, we setup a ZNC server to be a bouncer that also handles the FiSH encryption (yes this can defeat the purpose of FiSH, that’s why everyone is required to use SSL when connecting.)

As we were setting up, those of us who already were using FiSH couldn’t tell who was talking encrypted and who wasn’t. So @noah256 brought up the idea of prefixing encrypted messages. Later he also realized this can be spoofed; so he suggested to also prefix unencrypted messages from expected encrypted targets. At the same time, we realized when trying to talk to people without FiSH installed, it wasn’t really easy to temporarily send unencrypted messages so we also added a prefix to tell the module to not encrypt the message.

I used the fish.cpp from the fish – ZNC wiki page. For now, the behavior I added is hard coded. I hope when I have free time again, to make the prefixes and disable flag to be configurable.

My modified module can be found in my znc-fish repo on GitHub

"(e) " denotes the message was received encrypted
"(d) " denotes the message was received unencrypted

If you send a message prefixed with "-e",  it won't encrypt the message.
  • Aaron

    Dont hate the neck-beards dude.

  • cosmo1t

    I’m investigating a bug where multiple keyx’s or a keyx and a timeout cause znc to completely die. Note this is running on MacOSX 10.7.2..
    I’ll post on the github when i get further into it.