Skip to content

mawashii/weechat-fish

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FiSH for weechat

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.

Secured data

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 ""

CBC

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

Install

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.

Packages

No packages published

Languages

  • Python 70.2%
  • C 29.1%
  • Makefile 0.7%