This is a python plugin for weechat. It implements blowfish encryption and DH1080 key exchange and should be compatible with FiSH from http://fish.secure.la/
This version uses a separate blowfish library to allow usage of keys with a length of up to 72 bytes.
Can use weechat secured data to store keys. To encrypt keys:
/secure set fish *********
/set fish.secure.key "${sec.data.fish}"
Or you can set a randomly generated key with:
/blowkey genkey
To return to storing in plain text:
/set fish.secure.key ""
This supports ECB and CBC modes for encryption. To indicate CBC mode you need to prefix a key with cbc:
The default for DH1080 key exchange is to indicate that CBC is supported. If you deal with people that have incompatible installations of DH1080 you can force the old style of DH1080 key exchange messages by prodiving the argument -ecb
to the blowkey exchange command.
Normal key exchange the same way flakes/mirc_fish_10 does it, indicating CBC support with a suffixed CBC
tag:
/blowkey exchange
Old-style blowkey exchange with no indication of CBC support:
/blowkey exchange -ecb
Run make
to compile the custom blowfish library. If you store your weechat scripts in the standard location ~/.weechat/python
, just run make install
.
Otherwise copy the resulting fish.py
and weechat.so
to your weechat installations python
directory.
For fish.py
to load pycryptodome or the old pycrypto
lib are required for CBC de-/encryption.