Skip to content

Latest commit

 

History

450 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LUCI-THEME-FOOTSTRAP

English · Русский · Playground — try the whole thing with no router

owfeed owfeed

A LuCI theme for OpenWrt 23.05 and newer. No framework, luci-base is the only dependency.

23.05 is supported and gated like the rest: the same live checks run on a 23.05 router before every release. The one thing that release does not have is ui.RangeSlider (it arrived in 24.10), so the Appearance sliders are the theme's own there — same markup, same behaviour.

The same overview in dark with the top bar: the menu sits on the brand's row and the content runs full width.
Appearance settings The Footstrap tab on System → System: layout, theme, palette, density and rounding; the colour fields for accent, the status colours and the surfaces, each with the contrast it lands at in words; the wallpaper picker with the cats doodle behind the page; and Save as default next to the two resets.

Install

wget -qO- https://raw.githubusercontent.com/VizzleTF/luci-theme-footstrap/main/install.sh | sh

The script adds its own package feed and installs from it. After that the theme upgrades with the router: apk update && apk upgrade (or opkg). Running it again upgrades the theme and prints what it did — installed, upgraded from which version, or already current.

raw.githubusercontent.com is rate-limited per address, so if it answers 429 (a shared exit, CGNAT), the same script is attached to every release and served from a CDN with no such budget — signed, so it can be checked before it is run:

wget -qO- https://github.com/VizzleTF/luci-theme-footstrap/releases/latest/download/install.sh | sh

Then pick Footstrap in System → System → Language and Style, field "Design".

More screenshots →

What it does

  • Styles every page, stock or not — but never overwrites what an app styles itself
  • Works on a phone, and installs to its home screen — icon, own window, no address bar
  • Faster than bootstrap — the numbers are below
  • Upgrades with the router, from the package feed
  • Twenty-one appearance axes, applied instantly, in one tab

Measured, not claimed

Time to first paint, same router, same pages.

Page bootstrap footstrap
Wireless status 271 ms 54 ms
Interfaces 374 ms 111 ms
DNS 329 ms 108 ms
Firewall zones 311 ms 79 ms
38-page run 11 306 ms 4933 ms
Requests/page 15–47 0–7

Median page 3.03× faster, the whole run 2.29×. Router CPU for the same tour: 37.3 s against 18.4 s. Measured on real hardware, five runs — method and full data in docs/benchmark.md.

Documentation

Developer documentation is in docs/ — architecture, the design system, the stylesheet build, the SPA router, packaging, the release runbook. Start with architecture.md for what the theme is, or conventions.md for the rules a patch has to follow.

Writing a luci-app? Read how to style it so it works under any theme, and paste your CSS into the devkit — token grid, component markup, style checker.

About

A faster, better-looking LuCI. Theme for OpenWrt 24.10+ with SPA navigation and real mobile layout

Topics

Resources

Security policy

Stars

139 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Used by

Contributors

Languages