Source file
Choose the Lua source you want to protect.
or
Only .lua uploads are accepted. When local mode is active, Lua source stays on this device and is not uploaded.
Every build uses compressed byte-escaped payloads split into shuffled per-build slices, independent per-slice and whole-stream reversible byte transforms, randomized private loader names, three per-slice rolling integrity checks, and separate reconstructed-payload/source checks. Comments and formatting are removed, every string literal is individually encrypted with its own per-build key and decrypted inline at the point it is used, and eligible local bindings are renamed through lexical scope resolution. Numeric literals can optionally be encrypted the same way; this is off by default because tight arithmetic loops are far more sensitive to the added per-access cost than typical string usage is. Globals, closure captures, loop variables, and table member/key names are handled conservatively; reflective and typed syntax may intentionally retain names. These raise the effort needed for static inspection; the loader still reconstructs transformed Lua at runtime.
Integrity checks are intentionally non-invasive. They detect malformed runtime inputs, not all tampering or code inspection. Keep sensitive business logic on a trusted server instead of relying on client-side secrecy.
Upload a Lua file. If server processing is unavailable, LuaRN can process it locally in your browser.
