Skip to content

smallhelm/droideka

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

droideka

build status dependency status

fight back against email scrapers

What it does

  • finds all <a href="mailto:... email addresses in your html
  • encrypts them
  • appends some JS to your html that decrypts them 1/2 second after the page loads

How to use it

var droideka = require('droideka');

html = droideka(html[, seed])

Your HTML

<p>
  Here is my email:
  <a href="mailto:some@email">[email protected]</a>
</p>
<p>
  Here is some more html stuff
</p>

In node run it through droideka

html = droideka(html);

Here is the output

<p>
  Here is my email:
  <span id="cihzenf7j0000i4dxll7gftvj"><noscript>You must enable JavaScript to see the email.</noscript></span>
</p>
<p>
  Here is some more html stuff
</p>
<script type="application/javascript">setTimeout(function(){var d=function(b){var c=b.substring(0,87);b=b.substring(c.length);var e,f,g,h='',d;for(e=0;e<b.length;e++)f=b.charAt(e),g=c.indexOf(f),d=(g-b.length+c.length)%c.length,d=0>d?c.length+d:d,h+=0<=g?c[d]:f;return h};(function(){var a=document.getElementById("cihzenf7j0000i4dxll7gftvj");if(!a)return;a.innerHTML=d("eY\"1]U.ZbrBtmCh[-:VpK!6WuXx8dlwM2GJ,kfT#(RHD&5L}I^o7~F*4S0{qzO%n3>gsQPvA'@cyjN<9=)a+iE$Gf S7H9,&*f#AFUq6U*HdH*f#A&K6U*HdH*f#AG/fK");}());}, 500);</script>

Take that spammers!

seed can be any string, i.e. your package.json's version string.

encoded = droideka.encode(text[, seed])

Lightly encrypt some text. (not cryptographically secure)

droideka.js_code_decode

A string of JS code that creates a local function d that can be used for decoding.

haml += '<script>';
html += droideka.js_code_decode;//insert the decoding function
html += 'var email = d(' + JSON.stringify(encoded) + ');';//call it
html += '</script>';

License

MIT

About

fight back against email scrapers

Resources

License

Stars

Watchers

Forks

Packages

No packages published