A Luau code compression utility
(Luau bytecode + zstd compression + minified Fiu vm fork = compression)
Not an obfuscator, but I suppose it works as one.
(Notice: extracting bytecode from the output is easy, but the full source code will be hidden).
(Requires Bun, might work with npm / node, but I haven't tested.)
To install dependencies:
bun install
Check the /test
directory and add a input.luau
file, then run:
bun run test
You should now see a output.luau
containing your processed code.
If you want to make modifications to the vm, then first get the proper tooling with Rokit:
rokit install
(You can also just manually install darklua.)
After making changes to vm/vm.luau
run:
bun run gen
This should generate a vm_output.luau
file, copy it's contents and paste it into the default export of src/vm.js
This project was created using bun init
in bun v1.1.42. Bun is a fast all-in-one JavaScript runtime.
Uses http requests to compile Luau (check src/index.js).
The vm being used for compressed files is a fork of Fiu