
Lilu is a statically compiled LuaJIT interpreter bundled with everything you need to build production tools on Linux — networking, crypto, filesystem, terminal UI, etc.
One binary, under 2MB, no dependencies. Core components:
Filesystem & Processes — File operations, process manipulation, pipes, forks.
Networking: TCP/UDP with TLS 1.3 support, a full HTTP(S) client, and an HTTP(S)/1.1 server. TLS is backed by WolfSSL, which is compiled into the binary.
Cryptography: hashing, HMAC, Ed25519, X.509
Terminal UI: UTF-8 aware terminal I/O, styling via TSS (Terminal Style Sheets), and a set of widgets for building CLI apps.
Extras: JSON, Markdown processing and rendering, Redis protocol support, WireGuard and ACMEv2 clients.
lilush extends lilu with a modular Linux Shell (as in Bash, Csh or Fish). Lilush Shell features:
Rich prompts: host, user, directory, git branch, Kubernetes context, Python venv.
Completions & navigation: Tab completions with scrolling, fast directory navigation and history search in the spirit of McFly and zoxide.
Built-in tools — kat (file viewer + pager), ktl for kubectl, netstat, dig, wgcli, and many more.
Extensibility — Add your own plugins. Style everything with TSS.
Lilush Shell uses Kitty's keyboard protocol and requires a compatible terminal emulator (kitty, foot, alacritty, konsole, etc.).
# Download the latest release
curl -fLO "https://codeberg.org/latimar/lilush/releases/download/latest/lilush"
# Install
chmod +x lilush
install -Dm755 lilush ~/.local/bin/lilush
Release binaries are signed with my SSH key. See the repository for verification instructions and building from source.
The project as a whole is named Lilush, which is a portmanteau abbreviation of "Linux Lua Shell".
The minimal build without the shell is Lilu, the binary is lilu.
The full build with shell is Lilush Shell, the binary is lilush.
Projects built on the lilu runtime:
RELIW — A Redis-backed HTTP server & framework.
RECALL — A Redis-backed caching recursive DNS server.
zxkitty — A ZX80 emulator for the terminal.