koreader/lj-wpaclient — explained in plain English
Analysis updated 2026-07-25 · repo last pushed 2026-03-12
Add Wi-Fi scanning and connection management to a Lua application running on embedded Linux.
Let an e-book reader app like KOReader connect to Wi-Fi to download books or sync reading progress.
Listen for Wi-Fi events such as disconnections from within a Lua program.
| koreader/lj-wpaclient | atcold/torch-torch7-tools | egor-oleg/aegis-autocraft | |
|---|---|---|---|
| Stars | 9 | 10 | 8 |
| Language | Lua | Lua | Lua |
| Last pushed | 2026-03-12 | 2014-05-29 | — |
| Maintenance | Maintained | Dormant | — |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 2/5 | 2/5 | 3/5 |
| Audience | developer | researcher | general |
Figures from each repo's GitHub metadata at analysis time.
Requires LuaJIT (not standard Lua) and a Linux system running wpa_supplicant with its control interface enabled.
lj-wpaclient is a small library that lets programs written in Lua talk to your device's Wi-Fi management software. Specifically, it lets a Lua application scan for nearby Wi-Fi networks, listen for Wi-Fi-related events, and configure connections to networks, all without shelling out to command-line tools. Under the hood, it communicates with wpa_supplicant, which is the standard background service on Linux that handles Wi-Fi connections. The library provides a straightforward interface: you create a client, point it at your Wi-Fi interface, and then call functions to scan for networks, add a network with its name and password, or wait for events like a connection dropping. It mirrors the C-level API that wpa_supplicant exposes natively, but wraps it in something Lua developers can use directly. This project exists primarily to serve KOReader, an open-source e-book reader application popular on devices like Kindles and Kobos. Those e-readers run embedded Linux, and if you want the reading app to manage Wi-Fi directly (say, to download books or sync progress), you need a way to communicate with the system's Wi-Fi software from within the app. Rather than calling external commands and parsing their text output, this library talks to wpa_supplicant through its native control interface, which is cleaner and more reliable. The library requires LuaJIT, a just-in-time compiler for Lua, rather than standard Lua. It offers two layers: a higher-level one that handles common tasks like scanning and connecting, and a lower-level one that more closely mirrors the original C interface for anyone who needs finer control. It is a focused, single-purpose tool, not a general networking library, but a bridge between a Lua application and the system's Wi-Fi plumbing.
A Lua library that lets applications communicate directly with the system's Wi-Fi software to scan for networks, manage connections, and listen for events without calling command-line tools.
Mainly Lua. The stack also includes LuaJIT, Lua, wpa_supplicant.
Maintained — commit in last 6 months (last push 2026-03-12).
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.