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.
![]()
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:
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: