I’ve been using OpenWRT for 20 years but have in recent times found its interface a bit difficult to drive from my phone, which is the primary device that I use for most things. Also given that OpenWRT is rock solid I rarely need to log in and when I do I would always need to brute force the menus to find the setting I was looking for.
I knocked together a new UI which is a bit more modern and mobile friendly. Thought I’d share in case anyone is interested to use or build on top of it.
Main features:
Modern, mobile-friendly UI
Command drawer so it's easier to find features
SSH to your router over Web tunnel
Backwards compatibility with all existing LuCI apps
I’ll be honest - I don’t understand enough about the ecosystem to be able to answer that. At this stage I don’t have any plans to integrate in any formal capacity but open to guidance on what might be useful to the community.
I've been using the theme for a bit now and wanted to share some feedback. Overall, I really like the direction it's going in, and these are just a few suggestions that I think could make the experience even better.
The Memory % value might look better if it were centered inside the donut chart. It would make the information easier to read at a glance.
I noticed that the Associated Devices and Active DHCP Leases sections are no longer visible. Personally, I found those very useful on the dashboard and would love to see them return if possible.
For users with multiple WAN-like interfaces (for example, a pppoe-wan and a wireguard vpn), it currently shows both. It could be nice to have an option to choose which interface is used for the upload/download statistics displayed on the dashboard.
The Interfaces page showing all interfaces is a bit overwhelming one thing I miss from the default Bootstrap theme is being able to quickly see the status of only active interfaces, such as whether they're connected, their uptime, DNS servers, etc. In my case, I mostly care about my pppoe-wan and wireguard interfaces, so having active interfaces highlighted or prioritized could be helpful.
As I mentioned earlier, some LuCI components still appear to use the default Bootstrap styling rather than the theme. A few examples I noticed were:
Channel Analysis
Routing
Software
Attended SysUpgrade
Backup / Flash Firmware
Interfaces
Wireless
One small usability issue I found is that scrolling is not working when categories are expanded.
The Information about your Disk Space, Memory is too Minimal we should have an option to get a detailed view of these
These are all minor observations, and I only wanted to mention them because I genuinely like the theme and think it has a lot of potential. It's already looking great, and I'm excited to see how it develops further. Thanks for all the work you've put into it!
This looks promising for phone use. One small thing I would make very explicit in the README is the security model for the web SSH/tunnel part: whether it is local-only by default, what it exposes, and how to disable it completely. A mobile-friendly UI is nice, but on routers I would rather see the remote/control features opt-in and boringly documented than surprising.
Thanks for the feedback. So that I can better understand, what do you mean by local-only in this context? The tunnel is over whatever web session you are connecting to LuCI over, it does not expose any additional surface. I mean, I haven't audited it, but this is the intent. It is the same approach as most other modern router interfaces that I've used.
The 3rd paragraph in README.md has a summary of the implementation, not difficult to implement a toggle so I'll include that in a future release.
Thanks for your comment but I have no intention of ever merging it anywhere.
It’s obviously written using AI. The premise that AI-written code is unmaintainable, or that humans will be the ones maintaining code in the future, is an interesting one.
I’ve added an AI disclosure section to the README to avoid the need for others to point out the obvious.
I can kind of accept the the former, but not the later. For getting things merged into OpenWrt, it does need to be maintainable by humans - if you actually do -or not- is another question. The problem with effectively lumping it all into a single file is a problem for ongoing maintenance, because that kind of code duplication makes it much harder to fix anything (ranging from security issues to adaptions for API changes). This is even more relevant for Second System circumstances, OpenWrt is changing all the time - no one can really confirm that n+1 new skins (themes) or alternative webinterface keep working, so there is a strong aim to keep things manageable.