An elegant LuCI theme (OpenWrt 23.x+) with a dark design and optional light mode.
- π Dark glass/blur design with optional light mode
- π¨ Customizable accent color, border radius, zoom
- π± Responsive layout for mobile devices
- β‘ Compatible with LuCI ucode (OpenWrt 23.x+)
- π Services monitoring widget on Status β Overview page
- π‘οΈ Temperature monitoring widget with thermal sensors
- π Elegant Load Average visualization with color-coded progress bars
- π Built-in semantic search with pre-indexed LuCI pages, transliteration, and typo-tolerant matching
- π Automatic styling for third-party packages and custom pages
- π Multi-language support (10 languages: EN, RU, ZH, DE, UK, ES, PT, PL, FR, IT)
- π Settings sync across browsers/devices (localStorage + UCI)
The main page (Status β Overview) displays a widget showing system service statuses:
- Status visualization (Running/Stopped)
- Add services via modal or custom input
- Settings saved in browser
Real-time temperature monitoring on Status β Overview:
- Reads data from
/sys/class/thermal/and/sys/class/hwmon/ - Color-coded levels (Normal, Warm, Hot, Critical)
- Peak temperature tracking
- Auto-refresh every 5 seconds
- Built-in ucode RPC module (no external dependencies)
The top bar includes built-in LuCI search:
- Semantic search across pages, tabs, and settings
- Keyboard layout swap plus basic RU/LAT transliteration
- Manual page indexing with cached search data stored on the router
Available at System β System β Language and Style:
- Theme mode (Dark/Light)
- Accent color (Blue, Purple, Green, Orange, Red)
- Border radius
- Interface zoom
- Page width
- Animations and transparency
- Custom font (Inter)
- Services widget (enable/disable, grouping, log)
- Temperature widget (enable/disable)
- Log highlighting
- Search page index tools (build and clear cached data)
- Table text wrap (wraps long AP names in Wireless Associated Stations table)
Theme settings are stored using a hybrid approach:
- localStorage β instant application without flickering
- UCI (
/etc/config/proton2025) β persistent storage, syncs across browsers/devices
Benefits:
- Settings are included in router backup (
sysupgrade -b) - Works across different browsers and devices
- Instant UI updates without page reload
On your OpenWrt router (via SSH), download and install the latest release:
π¦ The
*_all.ipkpackage is universal and works on any architecture
wget https://github.com/ChesterGoodiny/luci-theme-proton2025/releases/latest/download/luci-theme-proton2025_*_all.ipk
opkg install luci-theme-proton2025_*_all.ipkOr download manually from GitHub Releases and upload to your router.
π‘ Tip: If you updated and don't see changes (e.g. icons), do a hard refresh (Ctrl+F5) or clear the browser cache.
Benefits:
- β Includes all translations
- β Proper package management (easy updates/removal)
- β Dependency tracking
On your OpenWrt router (via SSH), download the APK package from the latest release and install it:
wget https://github.com/ChesterGoodiny/luci-theme-proton2025/releases/latest/download/luci-theme-proton2025-*.apk
apk add --allow-untrusted luci-theme-proton2025-*.apkπ‘ Note: this only works with a valid OpenWrt
.apkproduced by the OpenWrt SDK/buildroot.
On your OpenWrt router (via SSH):
β οΈ Note: This method is intended for testing purposes only.
wget -qO- https://raw.githubusercontent.com/ChesterGoodiny/luci-theme-proton2025/main/install.sh | shOn your build machine (where you have OpenWrt SDK/buildroot):
cd ~/openwrt
git clone https://github.com/ChesterGoodiny/luci-theme-proton2025 package/luci-theme-proton2025
./scripts/feeds update -a && ./scripts/feeds install -a
make menuconfig # LuCI -> Themes -> luci-theme-proton2025
make package/luci-theme-proton2025/compile V=sThe compiled package will be in bin/packages/*/:
.ipkwhen building with anopkg-based OpenWrt SDK/buildroot.apkwhen building with anapk-based OpenWrt SDK/buildroot
β οΈ Important: a valid OpenWrt.apkmust be produced by the official OpenWrt SDK/buildroot. Simply packing the theme files into atar.gzarchive and renaming it to.apkdoes not produce a package thatapk addcan install.
On your OpenWrt router (via SSH):
wget -O uninstall.sh https://raw.githubusercontent.com/ChesterGoodiny/luci-theme-proton2025/main/uninstall.sh
chmod +x uninstall.sh
./uninstall.shOr simply remove the package:
opkg remove luci-theme-proton2025For systems with apk:
apk del luci-theme-proton2025uci set luci.main.mediaurlbase=/luci-static/bootstrap
uci commit luci
/etc/init.d/uhttpd restartluci-theme-proton2025/
βββ docs/
β βββ status.png
β βββ status-mobile.png
β βββ ...
βββ Makefile
βββ htdocs/luci-static/
β βββ proton2025/
β β βββ cascade.css
β β βββ custom-pages.js
β β βββ search-proton2025-data.js
β β βββ search-proton2025.js
β β βββ services-widget.js
β β βββ settings-sync.js
β β βββ translations.js
β β βββ fonts/
β β βββ icons/
β β βββ brand.svg
β β βββ logo.svg
β β βββ spinner.svg
β βββ resources/
β βββ menu-proton2025.js
β βββ view/status/proton-temperature.js
βββ root/
β βββ etc/
β β βββ config/proton2025
β β βββ uci-defaults/30_luci-theme-proton2025
β βββ usr/share/
β βββ luci/menu.d/luci-theme-proton2025.json
β βββ rpcd/
β βββ acl.d/luci-theme-proton2025.json
β βββ ucode/
β βββ luci.proton-search-cache
β βββ luci.proton-settings
β βββ luci.proton-system
β βββ luci.proton-temp
βββ ucode/template/themes/proton2025/
βββ header.ut
βββ footer.ut
βββ sysauth.ut
Apache-2.0
Copyright 2025-2026 ChesterGoodiny.
Project icons and bundled SVG assets are original first-party assets covered by Apache-2.0.
See LICENSE and NOTICE for project attribution details.
This theme includes the following third-party assets:
- Inter Font - Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
- Licensed under SIL Open Font License 1.1
- License file:
htdocs/luci-static/proton2025/fonts/LICENSE.txt - Used for consistent typography across all platforms















