lightenModule
Encrypted Lua script support (AES-256-GCM).
This module provides functions to load and run encrypted Lua scripts using the darken C module.
The key is the module light, /lib/modules/lua/light.lua, which returns the hex-encoded
32-byte key; without it, require("lighten") raises “module ‘light’ not found”.
tools/shade.sh darken [-s <secret>] <script>.lua encrypts a script into <script>.dark.lua,
which calls what lighten.load returns with its own arguments, and prints the secret, 64 hex
characters;
tools/shade.sh lighten <secret> writes light.lua from it. With -t both derive the key from
the current 30 second step, so light.lua and the dark script are generated in the same step:
SECRET=$(tools/shade.sh darken hello.lua) tools/shade.sh lighten "$SECRET" sudo cp light.lua hello.dark.lua /lib/modules/lua/ sudo lunatik run hello.dark
Functions
| load (ct, iv) | Decrypts and loads an encrypted Lua script without running it. |
| run (ct, iv) | Decrypts and executes an encrypted Lua script. |
Functions in detail
- load (ct, iv)
-
Decrypts and loads an encrypted Lua script without running it.
Parameters
Returns
-
function
the loaded script.
Raises
"invalid hexadecimal string"whenct,ivor the key is not hexadecimal of an even length, or the error darken.load raises.See also
- run (ct, iv)
-
Decrypts and executes an encrypted Lua script.
Parameters
Returns
-
The return values of the decrypted script.
Raises
"invalid hexadecimal string"whenct,ivor the key is not hexadecimal of an even length, or the error darken.run raises.See also