Skip to content
Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

164 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

luci-theme-proton2025

An elegant LuCI theme (OpenWrt 23.x+) with a dark design and optional light mode.

OpenWrt LuCI License

Screenshots

Desktop

LuCI Status Services Widget Dashboard Theme Settings Wireless Networks Network Interfaces System Log Temperature Page Login Page

Mobile

LuCI Status Mobile Services Widget Dashboard Mobile Theme Settings Mobile Login Page Mobile Wireless Networks Mobile Network Interfaces Mobile System Log Mobile Temperature Page Mobile

Features

  • πŸŒ™ 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)

Widgets

Services Widget

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

Temperature Widget

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)

Search

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

Theme Settings

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)

Settings Synchronization

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

Installation

Recommended: Install from IPK Package

On your OpenWrt router (via SSH), download and install the latest release:

πŸ“¦ The *_all.ipk package 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.ipk

Or 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

Install on OpenWrt builds with apk

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 .apk produced by the OpenWrt SDK/buildroot.

Quick Install (Testing Only)

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 | sh

Building Packages from Source

On 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=s

The compiled package will be in bin/packages/*/:

  • .ipk when building with an opkg-based OpenWrt SDK/buildroot
  • .apk when building with an apk-based OpenWrt SDK/buildroot

⚠️ Important: a valid OpenWrt .apk must be produced by the official OpenWrt SDK/buildroot. Simply packing the theme files into a tar.gz archive and renaming it to .apk does not produce a package that apk add can install.

Removal

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.sh

Or simply remove the package:

opkg remove luci-theme-proton2025

For systems with apk:

apk del luci-theme-proton2025

Revert to Default Theme

uci set luci.main.mediaurlbase=/luci-static/bootstrap
uci commit luci
/etc/init.d/uhttpd restart

Structure

luci-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

License

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.

Third-Party Assets

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

Stargazers over time

Star History

Star History Chart

About

Proton2025 - Modern LuCI theme for OpenWrt with a clean UI and improved usability.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages