Downloads
One binary for every board at every site. The WiFi name, the WiFi password and the controller address are typed into the board itself from a phone, and the board asks the controller for its own secret — so there is nothing to edit before flashing and no per-board build.
Works on NodeMCU v3 and Wemos D1 mini. Includes the thermal printer and push-button kiosk mode.
baifi-coin.bin at offset 0x00000
(esptool, NodeMCU Flasher, or coin-bridge/flash.sh).
Erase the flash first — a board that keeps an old secret talks to a
controller that no longer knows it.BaiFi-Setup-XXXX — no password. Any page you open
lands on the setup form.f602e5414d28769bc0220d729e7233f5604dc4678832a2cc4e5499956ba49cc0The whole controller on one disk image: the portal, RADIUS, billing, vouchers, payments and the cloud link. Write it to the mini PC's disk and it comes up configured — there is no installer to sit through.
First boot generates this machine's own keys and shows its
address on the console. Default console login baifi /
baifi, and the boot screen keeps saying so until you change
it.
xzcat baifi-os-*.img.xz | dd of=/dev/sdX bs=4M status=progress.http://<address>:8080/admin.d6a31066dc10fe223c9a52b394ce3619d496f912eddd1e8cf0fdf8123b75d84aThe captive portal, served by the router itself. Provisioning pushes these automatically; this copy is for uploading by hand, or for a router being set up before its controller is on site.
Every page is local and every link is relative — a captive portal browser will load what the hotspot hands it and will not follow a redirect anywhere else.
baifi-hotspot folder in
Winbox → Files first, or MikroTik adds login_1.html
beside the old one and keeps serving the old one.baifi-hotspot folder into Files./ip hotspot profile set <profile>
html-directory=baifi-hotspot46ef6a9f720e4e13d56eb2ee4bd7dbbef727dd704e75085e6f74c1f1247aa4d6