ln-obfuscator

Mode

Skin

Theme

Overview

ln-obfuscator binds to any DOM element carrying data-ln-obfuscator (<span>, <p>, <a>, table cells) and automatically deobfuscates its text nodes and href attributes at runtime. It operates with zero configuration using ROT13 as default, and supports universal Base64 and XOR ciphers via optional attributes for international scripts while maintaining an internal idempotency guard without DOM pollution.

It prevents automated email harvesters, telephone scrapers, and bot crawlers from extracting raw contact info and proprietary text from static HTML responses.

AttributeElementDefaultDescription
data-ln-obfuscator Any element 13 Triggers deobfuscation. Optional integer sets ROT shift (1–25). If empty, defaults to ROT13.
data-ln-obfuscator-codec Any element "rot" Selects cipher algorithm: "rot" (letters/digits Caesar), "base64" (universal UTF-8), or "xor" (keyed symmetric).
data-ln-obfuscator-key Any element "ln-ashlar" Custom secret key for "xor" codec. Providing this attribute automatically activates the XOR codec.

Static Examples (Authored in HTML)

These elements were delivered in the raw HTML payload as obfuscated strings. ln-obfuscator executed automatically upon page boot and hydrated them into readable text and actionable links:

Authored: <a data-ln-obfuscator href="znvygb:pbagnpg@rknzcyr.pbz">pbagnpg@rknzcyr.pbz</a>

Email Protection (Default ROT13)

Contact us at: pbagnpg@rknzcyr.pbz

Authored: <a data-ln-obfuscator href="gry:+612-03-456-789">+612-03-456-789</a>

Telephone Protection (Digits Rotated)

Direct phone: +612-03-456-789

Authored: <p data-ln-obfuscator data-ln-obfuscator-codec="base64">0JrQvtC90YLQsNC60YIg0YLQtdC70LXRhNC+0L06IDA3MCAxMjMgNDU2</p>

Universal Cyrillic (Base64 Codec)

0JrQvtC90YLQsNC60YIg0YLQtdC70LXRhNC+0L06IDA3MCAxMjMgNDU2

Authored: <p data-ln-obfuscator data-ln-obfuscator-codec="xor" data-ln-obfuscator-key="тајна">...</p>

Keyed Symmetric XOR (Cyrillic + Symbols)

ARgADgElAT8AAAE4ATLruLPSvsSw4aTwtOCx0KDctKyz37y4+GxSYGRSa4rxqOeN8IHjsfCE5K75

Safe Text-Node Traversal (Preserves Child HTML)

Unlike naive innerHTML replacers that corrupt HTML tag names (e.g. turning <strong> into <fgebat>), ln-obfuscator walks individual text nodes with TreeWalker. Child formatting tags remain 100% intact:

Authored: <div data-ln-obfuscator>Grkg jvgu <strong>obyq</strong> naq <em>vgnyvp</em>...</div>
Guvf vf n cnentencu jvgu obyq rzcunfvf, vgnyvpfglyr, naq va-yvar pbqr jvgubhg qrfgeblvat na ragver gnt fgehpgher!

Interactive Playground & Dynamic Injection

Test the client-side codec API (window.lnObfuscator.obfuscate / window.lnObfuscator.deobfuscate) across ROT, Base64, and XOR, and verify dynamic DOM injection via MutationObserver:

Live Sandbox Container

When an obfuscated element is appended below, ln-obfuscator's lifecycle observer detects it and deobfuscates it immediately.

Lifecycle Event Telemetry

Listening for ln-obfuscator:deobfuscated on document: