summary refs log blame commit diff stats
path: root/plugins/fishlim/README
blob: 00d7f682aa682faef69f944d13013590c75498ed (plain) (tree)
1
2
3
4
5



                                       
                                                   






















                                                                              
                                                         















                                                                         
                                FiSHLiM

                       http://fishlim.kodafritt.se/


FiSHLiM is an XChat plugin for FiSH IRC encryption. It's my attempt at making
a simple, lightweight and secure plugin for this encryption protocol.

For installation instructions, see the INSTALL file.


Features
--------

Working:
  * Sending/receiving messages
  * Topic decryption
  * Using unecrypted keys / keys without a password from blow.ini
  * Pure protocol-level filtering (works with highlighting, nick coloring etc)
  * Partially encrypted messages (i.e. prefixed with nickname by a bouncer)

Not working:
  * Key exchange
  * Password-protected key storage
  * Topic encryption
  * Remote exploitation (hopefully!)
  * Plaintext content that contain +OK is decrypted twice


Commands
--------

/setkey  [nick or #channel]  password

    Sets the encryption key for the nick or channel to password. The keys
    are stored in the configuration file in ~/.xchat2/blow.ini


/delkey  nick-or-#channel

    Deletes the given nick or channel from the configuration file.
class="w"> } if( /^\s*#/ ) { $_ = qq{"\\n"\n}; next; } s/\\/\\\\/g; # double the number of \'s s/"/\\"/g; s/^\s*/"/; s/\n/\\n"\n/; } return @lines; } for my $files ( [ "xchat.pm.h", # output file "lib/Xchat.pm", # input files "lib/Xchat/Embed.pm", "lib/Xchat/List/Network.pm", "lib/Xchat/List/Network/Entry.pm", "lib/Xchat/List/Network/AutoJoin.pm", ], [ "irc.pm.h", # output file "lib/IRC.pm" # input file ] ) { my ($output,@inputs) = @$files; open my $header, ">", $output or die "Couldn't open '$output': $!"; print $header qq["BEGIN {\\n"\n]; for my $input ( @inputs ) { (my $trimmed = $input) =~ s{^lib/}{}; print $header qq["\$INC{'$trimmed'} = 'Compiled into the plugin.';\\n"\n]; } print $header qq["}\\n"\n]; for my $input ( @inputs ) { print $header qq["{\\n"\n]; print $header qq{"#line 1 \\"$input\\"\\n"\n}; print $header header( $input ); print $header qq["}\\n"\n]; } close $header; }