PfSense androidGUI app (a work in progress)
-
My current setup is a laptop using the build in wireless as AP …so its a no go on wake-on-lan ... but halt would be convent at times.
As for wake-on-lan I can achieve that once my desktop its booted ... but I flip the power on the surge to power up the switch and cable modem along with hitting the power button on the laptop. Once I'm done for the day I use Pfsense GUI to halt pfsense.
Would be nice if wake-on-wlan was possible... ;)
Here read some of my post here concerning a responsive GUI for Pfsense http://forum.pfsense.org/index.php/topic,60830.0.html
If Pfsense GUI where responsive there would be no need for a app as you are suggesting other than wake-on-lan. Once Pfsense boots you would have a native responsive GUI. Currently it seems a responsive GUI for Pfsense is a Pipe Dream.
-
Would be nice if wake-on-wlan was possible… ;)
This is already possible via the app, I did most the testing of this app over a vpn so it was remote wireless wol as I don't have pfsense at home.
Its also possible to remotely wol by adding an entry to the ARP table but I believe this is not recommened!
I read that link you posted to. Looks like most the changes will be in the backend and the GUI isn't really going to be touched
-
For all computers that I'm aware of wake-on-wlan is not supported in the bios. Now wake-on-lan is supported of course.
Keep in mind when my laptop is powered down my lan is hibernating but my wireless is not ….its powered down.
I believe Freebsd/pfsense would also require that the driver support wowlan which I say they don't have. Could be wrong.....
-
I see. I misunderstood you. Thought you meant it would be good to be able to send the magic packets wireless.
-
This looks interesting! :)
Just so I understand this, your app is interacting with lighttpd on the pfSense box and showing the results on a small screen touch friendly interface?
Whilst I commend your efforts this seems like perhaps not the best way to go about it. I have almost no experience in coding though so feel free to ignore me! ;)The problems with doing it as you are would be that, as you said, you have to write code to interpret each page in the gui and that once you've done that you have to maintain it against any changes in the gui. Big and big commitment tasks.
Might it not be better to ahve an app that simply 'translated' the existing html into something touch friendly? For example you could use the existing mobile theme (or write a super simple theme that's easier to interpret) and convert the Sections/subsections menu into something Android/finger friendly. You may be able to use the main frame code directly if your theme displayed large enough info. Thus new menu items and additional page objects would automatically become part of your app with no updating required on your part.There are definitely apps that already do stuff like this. How do they do it?
Whatever you decide to do I'll gladly do some testing you if you need it.
Steve
-
The app is first logging into the webgui and scraping the index page to provide me with the main menu ie all the URLS for the subpages!
Then on each click of an button for example "Services > Wake on LAN" it scrapes the "Wake on LAN" html page and then I am having to handle the data, output it nicely to the screen and map buttons to the relevant commands such as HTTP posts. I was sceptical about responsiveness but it is very responsive and even over my VPN its quite quick.
My Java skills aren't too bad but I wouldn't know where to begin translating into something touch friendly first. Feel free to point me in the right direction, links etc etc
I am well aware some changes to the webGUI with a future release could break many features if I carry on the way I started! Anything to limit this should be done now before I go too far in the wrong direction. Also the way I am currently going there is no way it would support packages as each package adds new pages to the webGUI
-
Well my first suggestion is that there is no need to scrape the menus from the pfsense home page. If the app doesn't support packages or any additional pages it would be better to just provide the menu hard coded with only whatever pages you do support. Less chance of the code getting confused I would have thought.
As I said this is way outside my field of expertise so there's a very good chance I'm overlooking something. ::)Steve
-
An app like this could be interested. I am thinking of the situation where you get a notification from pfsense by email and then you want to have a look on your machines if everything is working or something crashed. So I think more of a pfsense app which is for fast support and checking of pfsense functions.
So the diagnostic pages would be interesting and a possibility to restart some services.
For major configuration on pfsense I would probably never use my smartphone. But if some service crashed and I need to check some things I could think that a quick login on pfsense using the app would be helpfull.
I like the idea and I find it great that you spend time on something like that :)
-
Well my first suggestion is that there is no need to scrape the menus from the pfsense home page.
My reasoning here is that some users only have two interfaces LAN OPT1 while other have many OPT2, OPT3 which results in extra pages. So if I support setting up an interface I have to handle all links
As I said this is way outside my field of expertise so there's a very good chance I'm overlooking something. ::)
Mine too
So the diagnostic pages would be interesting and a possibility to restart some services.
For major configuration on pfsense I would probably never use my smartphone. But if some service crashed and I need to check some things I could think that a quick login on pfsense using the app would be helpfull.
Currently working on Status > Interfaces page. Scraped it pretty easily :) Now just need to enable the connect button and thats another page done.
I agree this will NEVER be a replacement for the webGUI but as you said. If you need to do something quickly when away from a PC it should be great!
I like the idea and I find it great that you spend time on something like that :)
I like to have an android project on the go. Couldn't think of an app I wanted so thought why not make a start on pfSense and see what happens
90% completed the Aliases page today, luckily it was very similar to the wol page so that wasn't too bad either. I'm fast approaching the complex stuff. Then we'll see how feasible this app will be
-
I am sure you would get help on your project if you could bring this on github so that everyone can easy submit any patches and so on.
I see this on another project like OCS Inventory-NG - they are on launchpad and this is very bad to submit some code. So just a suggestion how to spped up yur project and get some nice input from others :)
-
Yes I will probably go with github. But not quite yet for the following reasons.
-
I have to tidy up the code first
-
I have limited experience with github (cloning other people branches and compiling). I have never used it for development - Therefore it will be a learning curve. I don't want it to slow me down right now. So will probably wait until I lose momentum
Plan to upload the app for testing tonight/next few days (it will still be very much in an alpha state).
-
-
I would say you should focus on the future. The future would be a responsive GUI for Pfsense. If the GUI was responsive it would be cross browser compatible on all of today's known mobile devices. If you need some help getting things going on that front, I would be glad to give you a hand.
I also believe you would get far more interest on github for a new responsive GUI design for Pfsense than a android app as your setting up. Surely if interest took hold the developers of Pfsense I would think would put there 2 cents in to ensure at some point the two could merge.
As for development for android all that would be needed would be wolan …. after that the responsive GUI would take over. If you setup the app to access various services for example, every time Pfsense has a update there's a chance something will break. I don't know what the odds are, but it could turn out to be a major headache. The same can be said for a responsive GUI github project also but if its going in the right direction like I said the Pfsense developers should give the project a helping hand.
Hell, if you don't do the github for a responsive GUI I just might do it.
-
I would say you should focus on the future. The future would be a responsive GUI for Pfsense. If the GUI was responsive it would be cross browser compatible on all of today's known mobile devices. If you need some help getting things going on that front, I would be glad to give you a hand.
Hell, if you don't do the github for a responsive GUI I just might do it.
I hear what your saying but I am not a web developer and wouldn't know where to begin. If you make a start on this I can try and help you out!
-
I would like to see and Windows Phone version since I'm a windows guy. And you might as well make a Iphone version too. I would like to see you can do everything in the mobile version just as if I was on my laptop. I would even pay $5 if I knew that $2 was going to the Pfsense folks.
-
Uploaded a test version of the app for people to have a play with.
Please read the first post of this thread for instructions on how to install & the download link
-
Very good.
how i can donate ?. I use paypal. -
Loaded it on my Nexus 7. Seems to work fine.
It would be nice if the settings page showed the existing setting for each section without having to touch each one. More like the other android settings dialogues.Steve
-
Uploaded the project to github: https://github.com/CharlieMarshall/pfSense-androidGUI
All contributions are welcome
Edit: Upgraded my test box to pfSense 2.0.3 last night and everything seems to have survived the upgrade.
-
Ah, I should have mentioned my test box is 2.1. Worked fine. :)
Steve
-
Anyone know who I need to speak to about using the pfSense logo within the app?
If I can't use it for copyright reasons does anyone fancy making something?
On another note progress is moving along nicely (well it feel like it is but looking at the list of commits there's not a huge amount of new features)