#!/usr/bin/perl
use strict;
use warnings;
use HTTP::Proxy::Builder;
use HTTP::Proxy::BodyFilter::tags;
use HTTP::Proxy::BodyFilter::htmltext;
my %leet = (
a => [qw( 4 /-\ @ )],
b => ['|3'],
c => [qw! c ( < [ !],
e => [qw( e 3 )],
g => [qw( g 6 )],
h => [qw! h |-| )-( !],
k => [qw( k |< ]{ )],
i => [ 'i', '!' ],
l => [ 'l', "1", "|" ],
m => [ 'm', "|V|", "|\\/|" ],
n => ["|\\|"],
o => [ 'o', "0" ],
s => [ "5", "Z" ],
t => [ "7", "+" ],
u => [qw( u \_/ )],
v => [qw( v \/ )],
w => [qw( vv `// )],
'y' => [ 'j', '`/' ],
z => ["2"],
);
our $proxy;
$proxy->push_filter(
mime => 'text/html',
response => HTTP::Proxy::BodyFilter::tags->new,
response => HTTP::Proxy::BodyFilter::htmltext->new(
sub {
s/([a-zA-Z])/$leet{lc $1}[rand @{$leet{lc $1}}]||$1/ge;
}
)
);