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:
http://imgur.com/a/a0y1W
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.
Cheers
Chill.