MEWBIES@: Facebook Twitter G+ YouTube DeviantArt Forum Wall
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██ ██
█▌ - INSTALLING FISH FOR IRSSI - █▌
█▌ █▌
█ ▐▌
█ My notes are gold to me :) I don't think I'll ever have this stuff ▐▌
█ memorized. FiSH was not an easy task finding complete 'how to' and active ▐▌
█ help. FiSH site fish.secure.la, forum (URLs are dead). FiSH is easy to ▐▌
█ use, though it's not my chosen encryption for nix IRC until it implements ▐▌
█ 'cbc mode'. Therefore I use Blowssi plugin for nix, which of course is ▐▌
█ compatible with fish, tutorial HERE. The advantage of FiSH over Blowssi is ▐▌
█ that it is capabale of auto key exchange; 'keyex plugin' and it encrypts ▐▌
█ your keys, prompting you for a password to load them. ▐▌
█ ▐▌
█ BTW there is another FiSH for irssi HERE, based on the original. This ▐▌
█ tutorial doesn't cover it. ▐▌
█ ▐▌
█ Huge Thank you to s***n** for showing me how to correctly do this and ▐▌
█ helping with the tut! ▐▌
█ ▐▌
█ PREREQUISITES: ▐▌
█ `````````````` ▐▌
█ irssi v0.8.9 or higher ▐▌
█ build-essential ▐▌
█ perl ▐▌
█ libglib1.2-dev ▐▌
█ libglib1.2ldbl ▐▌
█ libglib2.0-0 ▐▌
█ libglib2.0-dev ▐▌
█ libperl-dev ▐▌
█ libperl5.10 ▐▌
█ ▐▌
█ To view what prerequisites you have installed already: ▐▌
█ dpkg -l build-essential irssi libglib1.2-dev libglib1.2ldbl libglib2.0-0 libglib2.0-dev libperl-dev libperl5.10 perl
█ ▐▌
█ If you have those installed output will be similar to: ▐▌
█ [snip] ▐▌
█ ii build-essential 11.4 Informational list of build-essential ▐▌
█ ii irssi 0.8.12-7 terminal based IRC client ▐▌
█ ii libglib1.2-dev 1.2.10-19 The GLib library of C routines (deve ▐▌
█ ii libglib1.2ldbl 1.2.10-19 The GLib library of C routines ▐▌
█ ii libglib2.0-0 2.16.6-3 The GLib library of C routines ▐▌
█ ii libglib2.0-dev 2.16.6-3 Development files for the GLib libra ▐▌
█ ii libperl-dev 5.10.0-19lenny2 Perl library: development files ▐▌
█ ii libperl5.10 5.10.0-19lenny2 Shared Perl library ▐▌
█ ii perl 5.10.0-19lenny2 Larry Wall's Practical Extraction and ▐▌
█ ▐▌
█ Install those that weren't on your dpkg list output. For example: ▐▌
█ su ▐▌
█ aptitude update ▐▌
█ aptitude install irssi ▐▌
█ aptitude install perl build-essential libglib1.2-dev libglib1.2ldbl libglib2.0-0 libglib2.0-dev libperl-dev libperl5.10
█ Check they are installed properly; run the dpkg -l line again. ▐▌
█ exit ▐▌
█ ▐▌
█ INSTALL FISH FOR IRSSI: ▐▌
█ ``````````````````````` ▐▌
█ Change path names to correct versions that you have below. ▐▌
█ Make a directory to work in: ▐▌
█ mkdir fish; cd fish ▐▌
█ Check what version of irssi you have installed: ▐▌
█ irssi -v ▐▌
█ My reply: irssi 0.8.12 (20071006 0939) ▐▌
█ So I need irssi v 0.8.12 sources so that fish can use its setup to build ▐▌
█ the modules it requires. Be sure to get the same source version that you ▐▌
█ have installed; find it HERE, then wget it: ▐▌
█ wget http://irssi.org/files/irssi-0.8.12.tar.gz ▐▌
█ wget http://fish.secure.la/irssi/FiSH-irssi.v0.99-source.zip ▐▌
█ wget http://mewbies.com/fish/FiSH-irssi.v0.99-source.zip ▐▌
█ tar xzvf irssi-0.8.12.tar.gz ▐▌
█ unzip FiSH-irssi.v0.99-source.zip ▐▌
█ cd irssi-0.8.12 ▐▌
█ ./configure ▐▌
█ ▐▌
█ Check if any errors. If none, skip this paragraph and continue. ▐▌
█ If you did get 'errors' don't panic. More than likely you are just missing ▐▌
█ something. See what the error says. For example I had these errors: ▐▌
█ checking for working Perl support... error linking with perl libraries, ▐▌
█ building without Perl ▐▌
█ Building with Perl support ....... : NO! ▐▌
█ - Error linking with perl libraries: -Wl,-E -L/usr/local/lib -L/usr/lib/perl/5.10/CORE -lperl -ldl -lm @@-lpthread -
█ lcrypt: conftest.c:1: warning: return type defaults to 'int' ▐▌
█ conftest.c:1: warning: implicit declaration of function 'perl_alloc' ▐▌
█ /usr/bin/ld: cannot find -lperl *this was my clue. ▐▌
█ I google'd that and found that I needed to install 'libperl-dev'. So it's ▐▌
█ possible it might need some other items on the above apt-get list that I ▐▌
█ had already previously installed. If you do find any other requirements; ▐▌
█ please let me know so that we can share them here. ▐▌
█ Just install what you need and continue from ./configure above it's ok to ▐▌
█ configure again; you don't need to clean first. ▐▌
█ ▐▌
█ Continue: ▐▌
█ cd ../FiSH-irssi.v0.99-source ▐▌
█ mkdir MIRACL; cd MIRACL ▐▌
█ cp ../mir_amd64 amd64 ▐▌
█ cp ../mir_macosx macosx ▐▌
█ wget http://indigo.ie/~mscott/miracl.zip ▐▌
█ wget http://mewbies.com/fish/miracl.zip ▐▌
█ Or, found by blacka (I've not tried it yet), download MIRACL here: ▐▌
█ http://www.cs.sunysb.edu/~algorith/implement/shamus/distrib/ ▐▌
█ unzip -j -aa -L miracl.zip ▐▌
█ bash linux ▐▌
█ ▐▌
█ Replied had a few 'warnings', not errors, here are some: ▐▌
█ sample.cpp: In function int main(): ▐▌
█ sample.cpp:29: warning: deprecated conversion from string constant to char*
█ pk-demo.cpp:20: warning: deprecated conversion from string constant to char*
█ ▐▌
█ Wait until MIRACL is complete then you can test it: ▐▌
█ ./pk-demo ▐▌
█ reply at the end will be: ▐▌
█ MIRACL - Best multi-precision library in the World! ▐▌
█ ▐▌
█ copy the miracl.a file into the fish dir: ▐▌
█ cp miracl.a ../ ▐▌
█ cd .. ▐▌
█ pico Makefile ▐▌
█ Has this: ▐▌
█ glib_dir = $(HOME)/glib-1.2.10 ▐▌
█ irssi_dir = $(HOME)/irssi-0.8.9 ▐▌
█ ▐▌
█ Change to: ▐▌
█ glib_dir = /usr/lib/glib/include ▐▌
█ irssi_dir = $(HOME)/fish/irssi-0.8.12 ▐▌
█ ▐▌
█ since glib.h isnt currently located within that folder, we need to make a ▐▌
█ symlink to it: ▐▌
█ su ▐▌
█ ln -s /usr/include/glib-1.2/glib.h /usr/lib/glib/include/glib.h ▐▌
█ exit ▐▌
█ ▐▌
█ make ▐▌
█ press ENTER when prompted. ▐▌
█ ▐▌
█ After it has completed (it might reply some WARNINGS, hopefully not ▐▌
█ ERRORS), you will see ▐▌
█ something like this at the end: ▐▌
█ -rwxr-xr-x 1 user user 122330 2009-07-10 15:24 libfish.so ▐▌
█ Compiling finished -- /home/user/fish/FiSH-irssi.v0.99-source/libfish.so ▐▌
█ ▐▌
█ set it up for system wide use: ▐▌
█ su ▐▌
█ cp libfish.so /usr/lib/irssi/modules ▐▌
█ ▐▌
█ remove the symlink that we created earlier: ▐▌
█ rm /usr/lib/glib/include/glib.h ▐▌
█ exit ▐▌
█ ▐▌
█ Done :) ▐▌
█ ▐▌
█ LOAD LIBFISH.SO: ▐▌
█ ```````````````` ▐▌
█ If you would like fish to auto-load in irssi: ▐▌
█ Create an autorun dir if it doesn't exist: ▐▌
█ mkdir -p ~/.irssi/scripts/autorun ▐▌
█ cp /usr/lib/irssi/modules/libfish.so ~/.irssi/scripts/libfish.so ▐▌
█ chmod 755 ~/.irssi/scripts/libfish.so ▐▌
█ ln -s ~/.irssi/scripts/libfish.so ~/.irssi/scripts/autorun/libfish.so ▐▌
█ ▐▌
█ Another method would be to create a startup script since the files listed ▐▌
█ on this will be loaded before the files in ~/.irssi/scripts/autorun/ ▐▌
█ To do this: ▐▌
█ cp /usr/lib/irssi/modules/libfish.so ~/.irssi/scripts/libfish.so ▐▌
█ chmod 755 ~/.irssi/scripts/libfish.so ▐▌
█ pico ~/.irssi/startup ▐▌
█ Paste in: ▐▌
█ /load ~/.irssi/scripts/libfish.so ▐▌
█ ▐▌
█ chmod 755 ~/.irssi/startup ▐▌
█ ▐▌
█ Start irssi: irssi ▐▌
█ If you didn't do auto-load for fish, then: /load fish ▐▌
█ reply will be: ▐▌
█ -!- FiSH: Using default password to decrypt blow.ini... Try /setinipw to ▐▌
█ set a custom password. ▐▌
█ -!- Irssi: FiSH v0.99 - encryption module for irssi loaded! URL: ▐▌
█ http://fish.sekure.us ▐▌
█ -!- Irssi: Try /helpfish or /fishhelp for a short command overview ▐▌
█ -!- Irssi: Loaded module fish/core ▐▌
█ ▐▌
█ FISH USAGE: ▐▌
█ ``````````` ▐▌
█ cat ~/fish/FiSH-irssi.v0.99-source/FiSH-irssi.txt ▐▌
█ ▐▌
█ The commands below are for your irssi window: ▐▌
█ FiSH help: ▐▌
█ /fishhelp ▐▌
█ ▐▌
█ Set a password to encrypt your key-container (blow.ini). You'll be forced ▐▌
█ to enter it each time FiSH loads: ▐▌
█ /setinipw MySecurePassWordHere ▐▌
█ If you didn't set a password the default password is: *insecure* ▐▌
█ ▐▌
█ To remove your custom key for key-container and have it reset to the ▐▌
█ default key: ▐▌
█ /unsetinipw ▐▌
█ ▐▌
█ To set a key on current window: ▐▌
█ /setkey MyKeyHere ▐▌
█ To set a key on a specified channel or user: ▐▌
█ /setkey #mychannel MyKeyHere ▐▌
█ /setkey dog 'my key has spaces' ▐▌
█ ▐▌
█ To set an auto random generated key for current window: ▐▌
█ /keyx ▐▌
█ To set an auto random generated key on user dog: ▐▌
█ /keyx dog ▐▌
█ ▐▌
█ To view current window's key: ▐▌
█ /key ▐▌
█ To view a specified channel key: ▐▌
█ /key #mychannel ▐▌
█ ▐▌
█ To delete a key: ▐▌
█ /delkey #mychannel ▐▌
█ /delkey dog ▐▌
█ ▐▌
█ To send a notic to a channel or a user: ▐▌
█ /notice+ #mychannel Blah Blah Blah ▐▌
█ or ▐▌
█ /notfish #mychannel Blah Blah Blah ▐▌
█ ▐▌
█ To set an encrypted topic: ▐▌
█ /topic+ This is my topic ▐▌
█ ▐▌
█ To unload FiSH: ▐▌
█ /unload fish ▐▌
█ ▐▌
█ //---------------------------------------------------------------------- ▐▌
█ ▐▌
█ If you find mistakes, have suggestions, and or questions please post at ▐▌
█ mewbies forum HERE - thank you. ▐▌
█ ▐▌
█ Last update on 22 Oct '13 ▐▌
█ ▐▌
█▌ █▌
█▌ - mewbies.com - █▌
█▌ █▌
██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██