1337 Translator pipe

The little command line tool to translate text into 1337 sp33k. It is able to translate text into several dialects of 1337.

There are serveral 0p710n5:

leet : Y0ur 574nd4rd 1337 (d3pH4u17)

ultraleet : |_||+R@ |33+zor!!!

meatleet : MêgÅ µ£+®Å é×+®ëmé £éê+îZÃ+îØñ

cap : rAndOm cAPitaliZAtIon

vowellower : oNLy CoNSoNaNT R CaPiTaLiZeD

It’s completely useless. No one should ever use this program, ever.
p.png

b1337.png

Here is how one might use this program:

#Print Hello World in leet.
echo “Hello world!” | 1337

#Print Hello World in ultra leet
echo “Hello world!” | 1337 -u

#Translate readme.txt to meat leet and save results to 1337ReadMe.txt
1337 -m < readme.txt > 1337ReadMe.txt

# To view the man page in 1337
nroff -man /usr/local/man/man1/1337.1 | 1337 -m | more

1337 Translator Sourceforge page

And here’s the Ruby code:

#!/usr/bin/env rubyrequire ‘getoptlong’

LEET_VERSION = ‘1.1

def printUsage

  puts <<usage>

</usage>1337 - 4 1337 7r4N51470r +00|.

V3r510n #{LEET_VERSION} by Jå§òÑ M@¢þhè®$Øñ <jason.macpherson@gmail.com></jason.macpherson@gmail.com>

U$@g3:

  1337 [0P710n5]

0p710n5:

  -l, –leet       : Y0ur 574nd4rd 1337 (d3pH4u17)

  -u, –ultraleet  : |_||+R@ |33+zor!!!

  -m, –meatleet   : MêgÅ µ£+®Å é×+®ëmé £éê+îZÃ+îØñ

  -c, –cap        : rAndOm cAPitaliZAtIon

  -w, –vowellower : oNLy CoNSoNaNT R CaPiTaLiZeD

  -h, –help       : Pr1N7 0u7 7h15 h31p 5cr33n pH0R j0() ||()0Bz

  -v, –version    : PR1N7 0u7 v3r510n 1NPh0RM4710N

3×4Mp135:

#Print Hello World in leet.

#echo "Hello world!" | 1337

#Print Hello World in ultra leet

#echo "Hello world!" | leet -u

#Translate readme.txt to meat leet and save results to 1337ReadMe.txt

#1337 -m < readme.txt > 1337ReadMe.txt

USAGE

 exit 0

end

def printVersion

 puts "1337 V3r510n #{LEET_VERSION}."

 exit 0

end

class GetoptLong

 def to_hash

        hash = {}

        each { |key, val| hash[key] = val or true }

        hash

 end

end

wordSubstitutions =

{

 "THE"    => "TEH",

 "THAT"  => "TAHT",

 "TAKE"  => "TAEK",

 "OWN"    => "POWN",

 " YO "  => " JO ",

 "YOU"    => "JOO",

 "DUDE"  => "JOOD",

 "ARE"    => "R",

        "EXPLOIT"      => "SPLOIT",

 "HAC"    => "HAX",

 "COOL"  => "KEWL",

 "S "      => "Z ",

 "IES "  => "Z ",

 "ER "    => "XOR ",

 " I "    => " EYE ",

 "NEWBIE"       => "NOOB",

 "!"        => "!!!!",

 "."        => "!!!",

 ";"        => "!!",

 ","        => "!",

 "?"        => "??!"

}

meatLeetChars =

{

 ’A’ => %w{@ Á Ã Ä Â Å ä ã â á à},

 ’B’ => %w{8 ß},

 ’C’ => %w{¢ © < ç [},

 ’D’ => %w{Ð},

 ’E’ => %w{é ë ê è},

 ’F’ => %w{f F},

 ’G’ => %w{g G},

        ‘H’ => %w{h H},

        ‘I’ => %w{| Ì Ï î ï},

        ‘J’ => %w{J j},

        ‘K’ => %w{K k},

        ‘L’ => %w{£ 1},

        ‘M’ => %w{M m},

        ‘N’ => %w{Ñ ñ},

        ‘O’ => %w{¤ Ò Ô Ö Ø # õ 0 ()},

        ‘P‘ => %w{¶ Þ},

        ‘Q’ => %w{Q q},

        ‘R’ => %w{®},

        ‘S’ => %w{$ §},

        ‘T’ => %w{+},

        ‘U’ => %w{µ Û Ü},

        ‘V’ => %w{V v},

        ‘W’ => %w{W w},

        ‘X’ => %w{× X},

        ‘Y’ => %w{¥ ÿ ý Ý},

        ‘Z’ => %w{z Z}

}

ultraLeetChars = {

        ‘A’ => %w{@ | / /-},

        ‘B’ => %w{|} |3 8 ]3},

        ‘C’ => %w{( <},

        ‘D’ => %w{[) })},

        ‘E’ => %w{3},

        ‘F’ => %w{|=},

        ‘G’ => %w{9},

        ‘H’ => %w{|-| }-{ }{},

        ‘I’ => %w{1},

        ‘J’ => %w{j _|},

        ‘K’ => %w{|< |{},

        ‘L’ => %w{| |_},

        ‘M’ => %w{|/| |V| ||},

        ‘N’ => %w{|| //},

        ‘O’ => %w{0 ()},

        ‘P‘ => %w{|* |>},

        ‘Q’ => %w{q Q},

        ‘R’ => %w{|2},

        ‘S’ => %w{$ 5},

        ‘T’ => %w{+},

        ‘U’ => %w{|_|},

        ‘V’ => %w{/},

        ‘W’ => %w{X/ ^/ |//},

        ‘X’ => %w{>< }{},

        ‘Y’ => %w{`/},

        ‘Z’ => %w{z Z 2}

}

leetChars = {

        ‘A’ => %w{4},

        ‘B’ => %w{b B},

        ‘C’ => %w{c C},

        ‘D’ => %w{d},

        ‘E’ => %w{3},

        ‘F’ => %w{Ph ph pH},

        ‘G’ => %w{6},

        ‘H’ => %w{h H},

        ‘I’ => %w{1},

        ‘J’ => %w{j J},

        ‘K’ => %w{k K},

        ‘L’ => %w{1},

        ‘M’ => %w{m M},

        ‘N’ => %w{n N},

        ‘O’ => %w{0},

        ‘P’ => %w{p P},

        ‘Q’ => %w{q Q},

        ‘R’ => %w{r R},

        ‘S’ => %w{5},

        ‘T’ => %w{7},

        ‘U’ => %w{u U},

        ‘V’ => %w{v V},

        ‘W’ => %w{w W},

        ‘X’ => %w{x X},

        ‘Y’ => %w{y Y},

        ‘Z’ => %w{z Z}

}

capsChars =

{

        ‘A’ => %w{A a},

        ‘B’ => %w{B b},

        ‘C’ => %w{C c},

        ‘D’ => %w{D d},

        ‘E’ => %w{E e},

        ‘F’ => %w{F f},

        ‘G’ => %w{G g},

        ‘H’ => %w{H h},

        ‘I’ => %w{I i},

        ‘J’ => %w{J j},

        ‘K’ => %w{K k},

        ‘L’ => %w{L l},

        ‘M’ => %w{M m},

        ‘N’ => %w{N n},

        ‘O’ => %w{O o},

        ‘P’ => %w{P p},

        ‘Q’ => %w{Q q},

        ‘R’ => %w{R r},

        ‘S’ => %w{S s},

        ‘T’ => %w{T t},

        ‘U’ => %w{U u},

        ‘V’ => %w{V v},

        ‘W’ => %w{W w},

        ‘X’ => %w{X x},

        ‘Y’ => %w{Y y},

        ‘Z’ => %w{Z z}

}

vowelLowerChars =

{

        ‘A’ => %w{a},

        ‘B’ => %w{B},

        ‘C’ => %w{C},

        ‘D’ => %w{D},

        ‘E’ => %w{e},

        ‘F’ => %w{F},

        ‘G’ => %w{G},

        ‘H’ => %w{H},

        ‘I’ => %w{i},

        ‘J’ => %w{J},

        ‘K’ => %w{K},

        ‘L’ => %w{L},

        ‘M’ => %w{M},

        ‘N’ => %w{N},

        ‘O’ => %w{o},

        ‘P’ => %w{P},

        ‘Q’ => %w{Q},

        ‘R’ => %w{R},

        ‘S’ => %w{S},

        ‘T’ => %w{T},

        ‘U’ => %w{U},

        ‘V’ => %w{V},

        ‘W’ => %w{W},

        ‘X’ => %w{X},

        ‘Y’ => %w{y},

        ‘Z’ => %w{Z}

}

$opts = GetoptLong.new(

        [ ‘–leet’,       ’-l’, GetoptLong::NO_ARGUMENT ],

        [ ‘–ultraleet’,  ‘-u’, GetoptLong::NO_ARGUMENT ],

        [ ‘–meatleet’,   ’-m’, GetoptLong::NO_ARGUMENT ],

        [ ‘–cap’,        ‘-c’, GetoptLong::NO_ARGUMENT ],

        [ ‘–vowellower’, ‘-w’, GetoptLong::NO_ARGUMENT ],

        [ ‘–help’,       ’-h’, GetoptLong::NO_ARGUMENT ],

        [ ‘–version’,    ‘-v’, GetoptLong::NO_ARGUMENT ]

 ).to_hash

printUsage if $opts[’–help’]

printVersion if $opts[’–version’]

charMap = case

 when $opts[’–leet’]           then leetChars

 when $opts[’–ultraleet’]      then ultraLeetChars

 when $opts[’–meatleet’]       then meatLeetChars

 when $opts[’–cap’]            then capsChars

 when $opts[’–vowellower’]     then vowelLowerChars

 else leetChars

end

while line = STDIN.gets

 line.upcase!

 wordSubstitutions.collect { |subWord| line.gsub!(subWord[0], subWord[1] ) }

 charMap.collect { |alpha| line.gsub!(alpha[0]) { |match| alpha[1][rand(alpha[1].length)] } }

 puts line

end

Some other 1337 stuff to try: