
Lilush has its own async I/O runtime on epoll, its own TLS 1.3 implementation,
an HTTP client and server, DNS client/server, an embedded key/value database with
full text search, a markdown renderer, and a terminal UI toolkit.
There is nothing to install alongside it, and nothing to audit outside its sources.
This page is served by RELIW, a web server written in Lilush. The source browser at git.lilush.link is lilgit, a cgit alternative written in Lilush.
Linux only, x86_64 only. LuaJIT with FFI disabled, Lua 5.1 semantics, built
against musl. Lilush Shell requires Kitty-compatible
terminal. Beta, pre-1.0, core module APIs may still break between minor versions.
lilu is the runtime-only build.lilush is the full build: runtime, shell, graphics and audio, testing framework.liluEverything needed to write and ship a networked tool, in one file:
epoll — sockets, timers, combinators.lilushThe full build adds a modular Linux shell (as in Bash, Csh or Fish). Lilush Shell features:
kat (file viewer + pager with media support), lem
editor, netstat, dig, wgcli (WireGuard CLI), and more.The builtins are not wrappers around system tools, they are part of the
binary. A machine with lilush on it has a shell, an editor, a pager, a DNS
client and a WireGuard CLI, whether or not it has anything else.
Lilush Shell relies on a number of Kitty protocol extensions — keyboard protocol, text sizing, terminal graphics. All features are only guaranteed in Kitty, Ghostty, or terminals that fully implement those extensions.
Besides shell the full lilush build includes graphics & audio engines, built specifically for LEV async I/O, and can be used as a game engine framework.
# Download the latest release and its signature
BINARY="lilush" # or "lilu" for the runtime-only build
curl -fLO "https://lilush.link/releases/latest/${BINARY}"
curl -fLO "https://lilush.link/releases/latest/${BINARY}.sig"
# Verify it against the release signing key
cat > allowed_signers <<'EOF'
vladimir@deviant.guru ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICEWU0xshVgOIyjzQEOKtjG8sU8sWJPh25CP/ISfJRey
EOF
ssh-keygen -Y verify -f allowed_signers -I vladimir@deviant.guru \
-n file -s "${BINARY}.sig" < "${BINARY}"
# Run it
chmod +x "${BINARY}"
./lilush
Install locally:
install -Dm755 lilush ~/.local/bin/lilush # make sure ~/.local/bin is in PATH
All releases are signed with my SSH key.
Each release also carries a signed SHA256SUMS. See the
README for the full
verification procedure and for building from source.
Lilush has its own packaging system, LILPACK. LILPACKs are signed packs installed at runtime, or compiled directly into a custom static binary.
See the LILPACK docs and the HTTP repo for available packages.