How to change configuration files from ios/android app

Overview:
We have our own router using OpenWrt firmware.
As a User We would like to create an ios/android app that will allow our router users to manually change Network & Wireless Configurations.

As a User we would like to dynamically update Network & Wireless Configurations from within our ios/android app based on our WiFi readings.

  • Is it possible to update/change configuration files from and ios/android app? if so, what would be the best approach? can you point me to any documentation that would help me get started with a quick proof of concept app for both ios and android?

You are asking for a solution, I did in the past already, as a freelancer job. You can contact me via PM, in case of interest.

1 Like

That is an extremely broad question.

In a nutshell you need to expose some sort of API on the router which you then consume from your application. You also need to think about security and authentication aspects, as well as device discovery in case you want to on-board yet unconfigured devices from your mobile phones as well.

You could leverage the existing ubus HTTPS API gateway which is used by modern LuCI to interface with OpenWrt's ubus system over HTTP. That gives you access to service control, uci manipulation and runtime state.

Alternatively develop your own HTTP(S) based solution using something like PHP or another suitable language which provides a number of rest points for retrieving and updating device state.

Other potential approaches would be sending direct shell commands via an SSH connection or having some kind of agent on the target reacting to MQTT broker messages or similar.

For documentation regarding Ubus-over-HTTP(S), refer to https://openwrt.org/docs/techref/ubus#access_to_ubus_over_http.

3 Likes
1 Like

"How to control OpenWrt admin from cloud" is the best, most advanced solution.

ok. thank you. this is the info I needed.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.