Making an iOS/Android App for OpenWrt

Cool idea! But, In this modern age, trashing a device is more easy! This is, why devs do not take the opportunity to not trash a 4mb flash device :(.

I got here trying to find a way to ¿offload? the Luci interface from the router in an 4MB/32MB RAM router.

Isn't it feasable to run the WHOLE Luci interface on a remote computer to configure the router?
I mean something like, connect to the router through SSH, load a 'Luci webpage' with that configuration, make the changes that you need, save the configuration and send it to the router (either as a configuration file or a series of commands)?

It would almost be something like:

  • Backup and download configuration
  • Load configuration in a GUI
  • Modify configuration
  • Save configuration
  • Upload and restore configuration

Wouldn't this kind of thinking be sharing almost most of the development of Luci currently?
I mean, it would change from where to read and write the configuration, but other than that, wouldn't it be the SAME as Luci running on the router?
I'm an ignorant here so I don't see if it would be a complicated thing to do if Luci is already being developed for each version.

(I think this would make a lot of low powered routers useful again for simple tasks)

Yeah, that's possible. OpenWrt stores all config as text files, you would just need a web page that downloads them to your PC, you edit and then upload them, and it will overwrite the config with what you uploaded.

The issue is finding someone that wants to do something like that.

I was wondering if there was no interest on this alternative for devices low on storage.

Since I don't really know the commands, I don't really lnow how to do this.
(I would probably do a GUI on python)

And by the time you learn how to do this so that you can implement it all in the app, you will realize that it is just easier to use ssh and not bother with any UI at all. The amount of work to maintain several apps across multiple releases is huge.
There is a reason why OpenWRT has such high barrier for entry: the devs are doing the work for free and making everything super easy to use will increase the number of inexperienced users that constantly need support. Why would the devs want to do that without compensation? All the new users would also demand more new features, also for free. What are the benefits for developers here?
If someone wants an app, then just do it. Do not demand it, because it is not gonna happen by itself. An app could be a great thing if properly implemented and supported, but there are no takers so far, only demands.

P.S. Look at Gl.iNet routers: they are OpenWRT based, have two web interfaces, and also an app to manage their routers.

1 Like

the project made the call to drop support ( for many reasons ) and for routers that are supported... sshforwarding is a practicable solution.

I'm not terribly interested about devices with low storage, I've "retired" them (flashed a last good full-feature firmware and gave them off to relatives and such). You can probably find many people that will like to keep using their devices in other threads about 32MB or 4MB limitations.

I would actually find interesting a GUI application that can replace Luci, more for a "fleet management" system (so I can quickly provision or reconfigure dozens of devices automatically), or just because it's easier to add advanced/complex functionality to it than working with Luci (yes I would be writing plugins for it for some stuff I want and I'm far too annoyed by Luci to implement in it).
As long as it is communicating over SSH, I'm fine for security.

It's important to pitch the application for more than one usecase, so even if you don't gather much interest in one, you can always get for others, and use that to kill multiple birds with one stone.

This is not a iOS/Android app though, so if you want to go through, create a new thread about this project please.

Are you aware that developing a GUI is ALWAYS like that? You ALWAYS need to know how to do it without the GUI first.

The GUI isn't for you that develop it, but for everyone else that you don't want to suffer through the same learning process.

He seems to have said he can make a Python-based GUI application for PC, which is already more than average.

Ah, never in my life I heard about this concept. Wow!

So now you know that people that develop GUIs for anything (Luci included) are selfless heroes of mankind. The More You Know.

Just tossing this out there because I am enjoying the debate in this thread so much

  1. Connect via SSH and download the output of uci show
  2. Store that in some convenient data structure
  3. For each key the the user wants to change, find it, and update the corresponding value
  4. Send the updated ones (or just to be lazy, send entire thing) back to the router, all prepended with uci set and close it off with a uci commit

It would probably be best to do it in some web framework that can be trans-piled to iOS/Android/whatever so you get universal coverage. React Native?

3 Likes

Surely you know of OpenWISP?

Respectfully, I disagree with the premise that OpenWrt devs want to exclude people, so they are making things unessisarially complicated to keep the barrier of entry artificially higher than it needs to be.
Maybe I can change your mind: developers are working on what they think they should be working on. That's all there is to it. Have you seen the incredible amount of documentation on openwrt.org/docs? If developers really wanted to keep everything too mysterious to comprehend would that body of knowledge be not only made available but constantly updated? It's all there for anyone to read, they just have to read it, we all had to; nobody is born knowing. Would they fund the hosting of those servers with their own personal money? If they did not want to support new users, then why would these public forums, in which they participate exist? Why would the source code be licensed to the public?

I do agree with your other point though, which is if you want it done then you'll probably have to take the initiative, whether that's coding it yourself or sponsoring the work, or something else. That's what open source has always been about, in my opinion.

1 Like

overcomplicated, needs to install stuff in the router and relies on much of the same host infrastructure Luci also uses (lua backend) which makes it just as hard to add plugins for as Luci is.
Also web interface for no reason.

I have a working PC and the device(s) have SSH, the application can just connect with SSH and send console commands to do stuff, and do all GUI or data management work on the PC.
The idea is to keep it as simple as possible to allow anyone that knows how to do stuff with command line to add a plugin, if I wanted to add functionality to OpenWISP I would need to learn too much about how it works to make it worth it, and this is imho a big limitation of most interfaces. It's cool and all but the barrier of entry is too high for anyone that isn't a web dev or a programmer.

Because I have already a system that works, it's just a bash script with mostly hard-coded operations for my usecase, that I run from my PC. I would like to see (and can contribute to) a slightly more professional thing that others can also use, but on the same general KISS principles.

That was mostly written by community members or package maintainers over the years of OpenWrt existence and mostly just moved around to make it easier to find topics at a glance. Core devs don't write it or update it. Which is why most of the more technical and development topics (how the OpenWrt internals actually work) are full of hypothetical, reverse-engineering and lack a lot of information.

The wiki/site exists and is arranged how it is now (instead of being a straight clone of the old wiki) because back then when they split into LEDE, tmomas, I and rich-hanover (which are not developers, I did contribute some device support so I guess I'm the more "developer" of the three) did step up as maintainers of the "new" wiki.

1 Like

I was referring to inexperienced users who have no time and determination to learn and get their hands dirty. Here is some proof for what I said: Luci Gui improvement needed - #28 by jow. There were more over the years and you can search the forum for more.
OpenWrt will never be as easy to use as a consumer router, because that increases the number of clueless and lazy users, which in turn increases the support without any financial benefit to the designers.

1 Like

You make no sense, it is already as easy to use as a consumer router for all functionality a consumer router offers. When was the last time you used Luci?

Also, the amount of users is completely irrelevant, there is no warranty nor support for anything. People on this forum are all volunteers and most core devs don't even have an account (jo-philipp is one of the few who does).

And even with no such obligation in most cases the support most people on OpenWrt get is still usually better than what you can hope for from a hardware manufacturer.

You are misreading what he said. He is saying that it's NOT in OpenWrt's scope to implement an AI system to autoconfigure anything remotely complex, and that the user is supposed to RTFM to learn how to operate the system.

1 Like

So, you are now gonna tell me that configuring a guest wifi only takes one click? And Samba just works out of the box? And the router performance is at least as good as the stock? Yeah, right...

Never used, it seems you need to follow a tutorial to set this up. Point taken. On the flip side it should be easy enough to automate.

also never used, Samba is garbage even on Linux servers. This should work out of the box though, you should only need to tell it where the device is from the Luci page.

What does this even have to do with what I said?

I might take an opportunity to summarise the crux of the issue here:

This is never going to happen unless someone:

  • stands up and says "I'm going to take on this project"
  • stands up and says "I'm putting a $$$$$ bounty on getting this feature implemented"

Unless you guys want to keep arguing, maybe the thread can just finish with the open question of "who?"...

2 Likes

This thread was just a reference for people that might want to make a basic smartphone app for OpenWrt, there is no need to add "open questions" to "finish" anything.

21 out of 25 developers do have a forum account.

Out of those 21

  • 5 have been seen in the forum during the last 24h
  • 6 within the last 7 days
  • 4 within the last 30 days
  • 6 more than 30 days ago

Just mentioning...

1 Like