MEWBIES@:  Facebook  Twitter  G+  YouTube  DeviantArt  Forum  Wall
 SHARE:
    ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
   ██                                                                       ██
  █▌                 -   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   -                            █▌
   █▌                                                                       █▌
    ██▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄██