This is the FiSH encryption plugin for HexChat, providing encryption support for the FiSH protocol. FiSH is a simple encryption protocol used in IRC for secure communication. This plugin allows users to encrypt and decrypt messages, set encryption keys, and perform Diffie-Hellman key exchanges.
- Message Encryption: Encrypt outgoing messages using the FiSH encryption protocol.
- Message Decryption: Decrypt incoming encrypted messages and display the decrypted content.
- Key Management: Set, delete, and view encryption keys for channels or individual users.
- Diffie-Hellman Key Exchange: Perform key exchanges to establish secure communication channels.
-
gio
-
openssl
-
hexchat
-
meson
- Clone or download the repository.
- Open the project in Visual Studio.
- Build the solution.
- Copy the compiled DLL file (e.g.,
Blowfish.dll
) to the HexChat plugins folder (usually located in the HexChat installation directory).
For local installation, follow these steps:
meson builddir
ninja -C builddir install
For system-wide installation, use the following commands:
meson builddir
ninja -C builddir
sudo ninja -C builddir install
These commands assume you have Meson and Ninja installed on your system. Adjust the options according to your project's requirements.
/SETKEY [<nick or #channel>] [<mode>:]<password>
: Set the encryption key for a channel or user. Modes: ECB, CBC./DELKEY [<nick or #channel>]
: Delete the encryption key for a channel or user./KEY [<nick or #channel>]
: View the encryption key for a channel or user./KEYX [<nick>]
: Initiate a Diffie-Hellman key exchange with the specified user./SETTOPIC+ <topic>
: Set an encrypted topic for the current channel./MARKER [<append|prepend|disabled>]
: Set the message marker mode for encrypted messages.
- Configuration File: The plugin uses a configuration file named
blowfish.conf
to store encryption keys. It is located in the HexChat config directory. - You can set a password in keymanagement.h or in hexchat_plugin.cpp
- Load the plugin using the command
/load blowfish
. - Set encryption keys using
/SETKEY
. - Communicate securely with encrypted messages.
- Perform Diffie-Hellman key exchanges with
/KEYX
. - Manage encryption keys with
/KEY
and/DELKEY
.
- Version: 1.0.1
This plugin is provided as-is and does not guarantee absolute security. Use it responsibly and be aware of its limitations.
- Plugin developed by bla0r
- This plugin based on flakes mirc_fish_10 and on BakasuraRCE FiSHLiM Plugin.
Feel free to contribute to the development or report issues on the GitHub repository.