Hi everyone,
I have almost finished my first Ubuntu Touch app, but I would like some help to finish up some functionalities and if possible to also have feedback and advice on how to solve some of the shortcomings it has.
The app is a port of GUFW by @costales (This is actually pure coincidence, I discovered later that @costales was also the uNAV developer).
In short, it is a QML+Python frontend to manage the preinstalled ufw firewall that ships disabled by default in UT. It is my first UT app, my first QML app, my first GUI app, and so on, so don't expect anything fancy.
What I would like help with is the following:
Normally, on a desktop or laptop, you have 3 or 4 interfaces like eth0, lo and wlan0, wlan1. However, on those smartphones there is a myriad of interfaces like "rmnet_data0" that the SoC uses internally that would also be affected by the firewall if enabled, so I added some functionality to automatically add those internal interfaces to a list of whitelisted interfaces so they are not affected by the rules and only internet facing interfaces are affected.
Since every device has different interfaces, if someone wishes to use the app on their phone, I can add the list of internal interfaces for that device, so contributions of these interface names are more than welcome.
Right now the device is hardcoded for "sargo" but modifying the "devices.cfg" file with your device interfaces should also work, note that interfaces with a @ in the name are not supported yet.
Also, since the app needs obviously elevated privileges, it must open a root shell every time it has to do something, and for some reason this is very slow on the phone while instant on the computer, It there is another way to run root command, or a way to speed it up I would like to know.
The report functionality works with clickable on the desktop but it does not in my phone, but I am afraid this is a ufw problem and not a problem with the app.
The logo and name are provisional, I tried to create an icon following Suru guidelines and failed, the name sucks, but I hope to simply rename it to "Firewall" even if not accurate, or simply to "Wallmiri".
I have yet to do some attributions and license remarks regarding original code from GUFW and from some other projects that I used as a source.
Code can be found at codeberg as "qtpyufw" by "attesa", and since the forum seems to not allow me to post if I use links, I will try to post it another way or if someone can edit this one and add the link I would be grateful.
EDIT: codeberg -> /attesa/qtpyufw
Hope somebody finds it useful.
Best regards.