OpenWrt Forum Archive

Topic: Simple WebUI (for Xiaomi Mini) - Is there interest if I released code?

The content of this topic has been archived on 27 Mar 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

So I've been doing a bit of a project for my own benefit for a while now just mucking around with it. I was originally looking at monetizing it but it sounds like giving back to the community may be a better idea.

I've been writing this project using PHP on the Xiaomi MiWiFi Mini (Has 16MB Flash, using just over 8 of it currently).
The goals:
(very) roughly as follows:

  • Simple, the firmware should target the 95%, not the power-users

  • Minimal, remove anything that doesn't *really* need to be asked, don't give the user an overabundance of choices

  • Intuitive to use, no manuals and no online help, with minimal "tips" in the interface where required

  • Clean, based very loosely on Material Design

  • Mobile + Desktop, it shouldn't matter if you plug the device in and use a cellphone, tablet or laptop to set it up

The central theme of the WebUI will revolve around "naming" of devices, I want to make it easy to label "Bobs iPhone" as such, and then only once you've labelled a device can you:
* Statically assign it an IP address
* Port-forward to it
* Proritize traffic to it
* Block it completely

There's a couple of screenshots you can check out a little bit of what I've done so far, both on PC and on Cellphone:

What's working:

  • Main status page / overview / system & connection health page

  • WiFi settings, sets both 2.4 and 5Ghz, encrypted or open

  • LAN, set the IP, dhcp scope changes with

  • Device Naming

  • Port-forwarding (Mostly - Can't remove them)

  • System upgrades (Wanting to further automate it so it could upgrade without user intervention)

What's still work-in-progress:

  • Authentication, currently none

  • First-run wizard, needs to set root pw

  • Captive redirect, part of first-run, should redirect all HTTP traffic by default to router until the first-run is completed

  • QoS, want the user to select from drop-down list and "prioritize" one device for X period of time (Say 1, 4 or 24 hours)

  • WAN, the PPPoE and VLAN override is still a little rough and incomplete

  • Bandwidth usage, similar to Gargoyle in terms of "how much has X used in the last 15m, 1hr, 1 day"

  • Printer and HDD sharing, it's pretty low on the priority list to be honest.

Having never really worked on anything like this, or collaborated with others (If it ends up happening), this has been and still is a massive learning experience for me, but after showing it to a few other tech-friends the feedback was outstanding.
My problem is I'm hitting my own personal limits, the code isn't flawless, and I'm finding I haven't got such abundant spare time currently compared to what I'd like to finish it.

So, I need a bit of help.

Is there any interest in something like this?
Are people interested in it, both as a finished "firmware" product, or as a project to help contribute code to?

I sort of kept in mind that this could one day be used on other routers but the primary goal to begin with is most certainly these Xiaomi Mini routers.



Looks nice and clean. Please publish source code (on github?)

Very polished look, great job.

I'll have to look in to Github then and figure it out. Might be worth posting the code and build steps then?
Or just post a flashable bin file for people to have a play with?

Alright while I work this all out, here's a build of it:!HUFWjQaL!LuGb4VHe2hq3 … ipRioINMNQ

In case somebody is interested in giving it a bit of a whirl and providing some feedback. Very rough around the edges, as-per above. No root password if you want to ssh in to upgrade later.

(Last edited by Chilling_Silence on 2 Apr 2016, 05:25)

What's it based on? And is the wifi as performant as Stock/Pandora?

Based on OpenWRT Designated Driver, in particular this build was done on r48581

Chilling_Silence wrote:

Based on OpenWRT Designated Driver, in particular this build was done on r48581

Great smile. And the wifi? Is it fixed? Will you make the source public?

kvn1351 wrote:

Great smile. And the wifi? Is it fixed? Will you make the source public?

This is less about fixing the WiFi and more about a simple, easy-to-use WebUI that doesn't require a degree in networking to operate.
Unfortunately if you're looking for fixed WiFi, you're better off keeping an eye here:

I like your firmware very much ,however,I am not good at make it ,would you like to send a firmware  to me ,my email is ,thank you a lot !

The discussion might have continued from here.