Nicer, more stable, AJAX/JSON enabled pingonyou.com and also preparations in background to introduce the 24/7 Monitoring feature.
So here we are. First a bit of short history, if you have seen the first version of the pingonyou.com, you probably had a sense of 90’s view of the page just by looking at it. Everything was static HTML and all updates were actually refreshing the whole page (including every new line in the ping functionality needed a whole site refresh!). This was also including the fact that the design and color selection was really very basic. If you want to have a look on the old version, simply go to previous articles on this blog (where pictures are) for a comparison or here is a picture of beta 1.0. But lets now focus on the new version which is available from today!
The first thing is the color-scheme, after trying out several dozens of combinations, the blue variant was the best overall that provide both good console readability and combined with the fact that the functions that it provides needed to be categorized much better. First everyone that comes to this site is probably simply going for the “ping” function, so right now this one is a category of its own that is simply giving access to this most popular feature. This is a quick look:
The second most useful feature is the detection of client IP when he arrives to the site, at this point it doesn’t yet provide proxy detection or GeoIP, but there are future planned functions, right now you can get your public IPv4 or IPv6 address, and to DNS / RIPE or ping functionality towards it using simple buttons.
The last section is “Advanced Function” here you can find direct nslookups / RIPE resolution and also some advanced things like web SSH client and HTTP header checks. This section plans to be generally expandable for the future with new functions, therefore list-like structure was selected, you can simply click any function to directly get a form to enter target information and hit Submit. Future functions might break this a little if needed, but the basic structure should remain similar.
As mentioned at the beginning, the original site was static HTML, this was practically one giant perl CGI script that did both the real work in the background, and also generated all HTML views. This is now split to three components.
- Main page is HTML -> the main page is back to HTML as a file, this makes it both more secure (because not everything that is visual has to pass CGI logic) and more clean by keeping all visual parts of the web in the main HTML (and supporting CSS) file.
- Perl CGI and SQL DB in the background was daemonized -> this means that instead of public internet facing CGI to actually run all the system commands, right now the remaining CGI functions are only interacting with an SQL database in the background to enter requests and read results. But execution of functions from running a simple “ping” command to initiating SSH tunnels for the web SSH client is now done by a background daemon process that I have written which is reading the SQL database form the other side, executing what is needed as a daemon and adding results back to the SQL database.
All these functions took essentially a full re-development of the pingonyou.com so right now I can say that less than 5% of the code remained, 95% of pingonyou.com is now completely new …. I hope you will like it.