NTP Services Aggregator for simonaroberts.com 1.1.11

As an API this is NTP Services Aggregator for simonaroberts.com 1.1.11; which allows you to anonymously without authentication add either IPv4, IPv6 or Network Netbios Hostnames for NTP Time based services on the internet and the wider worlds of networking.

You can get the NTP Protocol this is a time exchange based protocol which computers and the internet use to lookup and calibrate your own system clocks; so to use this you would from the following URL on your Windows or Macintosh Control Panel + System Settings in the time options; it also work in your internet router at home or in the office; put the following host pathname:

simonaroberts.com

For any on going details of this timing-bell please referee to our online documentation here: https://sourceforge.net/p/chronolabs-cooperative/wiki/NTP Servers Pooling/... You will also find a backup of the data on this API on the following Sourceforge.io: https://chronolabs-cooperative.sourceforge.io/ntp-db-list...

Code API Documentation

You can find the phpDocumentor code API documentation at the following path :: https://simonaroberts.com/docs/. These should outline the source code core functions and classes for the API to function!

ADDNTP Document Output

This is done with the add.api extension at the end of the url, you replace the example address with either a domain!

Add New NTP Network Source
Hostname/IP Address:*
NTP Service IP Address or Hostname (Will Test!)
Port:*
NTP Service Port (Normally 123, 124, 125)
Telephantist Name:*
This is who manages and reporting telephany is based on the record!
Telephantist URL:*
This is who manages and reporting telephany is based on blog or information site URL for the record!
Telephantist eMail:*
This is who manages and reporting telephany is based on the record email address, will recieve no reporting emails!
Company's Name:*
Company/Organisation/Facility name not a url or abbrivation complete name only!
Company's eMail:*
Company/Organisation/Facility email for NTP Services; indirect reporting will be sent to this address should goto who manages the NTP Services!
Company's Register Number:*
Business/Facility Rego Number or simply Postcode for a location postcode or zip for the rego number!
Company's Register Number Type:*
This is the TLA name of the Business Rego Number or simply Postcode for a location postcode or zip for the rego number!
Company URL:*
Output Format::*
Add NTP Source to DB*

This the HTML Code surrounding the api call

    <form name="addntp" id="addntp" action="https://simonaroberts.com/v1/addntp.api" method="post" onsubmit="return apiFormValidate_addntp();">
            <table width="100%" class="outer" cellspacing="1">
            <tr><th colspan="2">Add New NTP Network Source</th></tr>
        <tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Hostname/IP Address:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">NTP Service IP Address or Hostname (Will Test!)</div></td><td class="even"><input type='text' name='hostname' title='Hostname/IP Address: - NTP Service IP Address or Hostname (Will Test!)' id='hostname' size='28' maxlength='250' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Port:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">NTP Service Port (Normally 123, 124, 125)</div></td><td class="even"><input type='text' name='port' title='Port: - NTP Service Port (Normally 123, 124, 125)' id='port' size='8' maxlength='5' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Telephantist Name:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">This is who manages and reporting telephany is based on the record!</div></td><td class="even"><input type='text' name='name' title='Telephantist Name: - This is who manages and reporting telephany is based on the record!' id='name' size='28' maxlength='128' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption"><span class="caption-text">Telephantist URL:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">This is who manages and reporting telephany is based on blog or information site URL for the record!</div></td><td class="even"><input type='text' name='nameurl' title='Telephantist URL: - This is who manages and reporting telephany is based on blog or information site URL for the record!' id='nameurl' size='28' maxlength='128' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Telephantist eMail:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">This is who manages and reporting telephany is based on the record email address, will recieve no reporting emails!</div></td><td class="even"><input type='text' name='nameemail' title='Telephantist eMail: - This is who manages and reporting telephany is based on the record email address, will recieve no reporting emails!' id='nameemail' size='28' maxlength='196' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Company's Name:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">Company/Organisation/Facility name not a url or abbrivation complete name only!</div></td><td class="even"><input type='text' name='companyname' title='Company&#039;s Name: - Company/Organisation/Facility name not a url or abbrivation complete name only!' id='companyname' size='28' maxlength='128' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Company's eMail:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">Company/Organisation/Facility email for NTP Services; indirect reporting will be sent to this address should goto who manages the NTP Services!</div></td><td class="even"><input type='text' name='companyemail' title='Company&#039;s eMail: - Company/Organisation/Facility email for NTP Services; indirect reporting will be sent to this address should goto who manages the NTP Services!' id='companyemail' size='28' maxlength='196' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Company's Register Number:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">Business/Facility Rego Number or simply Postcode for a location postcode or zip for the rego number!</div></td><td class="even"><input type='text' name='companyrbn' title='Company&#039;s Register Number: - Business/Facility Rego Number or simply Postcode for a location postcode or zip for the rego number!' id='companyrbn' size='28' maxlength='196' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Company's Register Number Type:</span><span class="caption-marker">*</span></div><div class="api-form-element-help">This is the TLA name of the Business Rego Number or simply Postcode for a location postcode or zip for the rego number!</div></td><td class="even"><input type='text' name='companyrbntype' title='Company&#039;s Register Number Type: - This is the TLA name of the Business Rego Number or simply Postcode for a location postcode or zip for the rego number!' id='companyrbntype' size='8' maxlength='16' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption"><span class="caption-text">Company URL:</span><span class="caption-marker">*</span></div></td><td class="even"><input type='text' name='companyurl' title='Company URL:' id='companyurl' size='28' maxlength='128' value=''  /></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption-required"><span class="caption-text">Output Format::</span><span class="caption-marker">*</span></div></td><td class="even"><select size="4"  name="format" id="format" title="Output Format::"><option value="raw">PHP Output</option><option value="asp">ASP Output</option><option value="json">JSON Output</option><option value="serial">Serialisation Output</option><option value="xml">XML Output</option></select></td></tr>
<tr valign="top" align="left"><td class="head"><div class="api-form-element-caption"><span class="caption-text">Add NTP Source to DB</span><span class="caption-marker">*</span></div></td><td class="even"><input type='submit' class='formButton' name='Submit Values'  id='Submit Values' value='submit' title='submit'  /></td></tr>
</table>
 <input type="hidden" name="mode" id="mode" value="addntp" /></form>

<!-- Start Form Validation JavaScript //-->
<script type='text/javascript'>
<!--//
function apiFormValidate_addntp() { var myform = window.document.addntp; 
if (myform.hostname.value == "") { window.alert("You must enter the field 'Hostname/IP Address' this is required for the submission of this form!"); myform.hostname.focus(); return false; }

if (myform.port.value == "") { window.alert("You must enter the field 'Port' this is required for the submission of this form!"); myform.port.focus(); return false; }

if (myform.name.value == "") { window.alert("You must enter the field 'Telephantist Name' this is required for the submission of this form!"); myform.name.focus(); return false; }

if (myform.nameemail.value == "") { window.alert("You must enter the field 'Telephantist eMail' this is required for the submission of this form!"); myform.nameemail.focus(); return false; }

if (myform.companyname.value == "") { window.alert("You must enter the field 'Company's Name' this is required for the submission of this form!"); myform.companyname.focus(); return false; }

if (myform.companyemail.value == "") { window.alert("You must enter the field 'Company's eMail' this is required for the submission of this form!"); myform.companyemail.focus(); return false; }

if (myform.companyrbn.value == "") { window.alert("You must enter the field 'Company's Register Number' this is required for the submission of this form!"); myform.companyrbn.focus(); return false; }

if (myform.companyrbntype.value == "") { window.alert("You must enter the field 'Company's Register Number Type' this is required for the submission of this form!"); myform.companyrbntype.focus(); return false; }

var hasSelected = false; var selectBox = myform.format;for (i = 0; i < selectBox.options.length; i++) { if (selectBox.options[i].selected == true && selectBox.options[i].value != '') { hasSelected = true; break; } }if (!hasSelected) { window.alert("You must enter the field 'Output Format::' this is required for the submission of this form!"); selectBox.focus(); return false; }return true;
}
//--></script>
<!-- End Form Validation JavaScript //-->
    

NTP.CONF Document Output

This is done with the ntp.conf extension at the end of the url, you replace the example address with either a domain!

This provides a complete /etc/ntp.conf for debian/ubuntu at least that you can replace your existing one with
https://simonaroberts.com/v1/ntp.conf
Pooled results of 8 pools and return pool number 6 of /etc/ntp.conf for debian/ubuntu at least that you can replace your existing one with
https://simonaroberts.com/v1/6/8/ntp.conf

This the SH Cron batch script you should run on adverage every four hours and fifteen minutes!

##
## file: /var/replace-ntp.conf.sh
##
## CronJob:-
## */15 */4 * * * sh /var/replace-ntp.conf.sh
##
## require ntpd install on ubuntu run: $ sudo apt install ntp -y 
## require curl install on ubuntu run: $ sudo apt install curl -y
## require ntp on startup execution run once: $ sudo systemctl enable ntp
##
cd /tmp
rm -vf ntp.conf
curl https://simonaroberts.com/v1/ntp.conf > /tmp/ntp.conf
if [ -s "/tmp/ntp.conf" ]
then
   cp /tmp/ntp.conf /etc/ntp.conf
   rm /tmp/ntp.conf
   service ntp restart
   systemctl restart ntp
else
   echo " ntp.conf was returned empty or not existing! "
fi
####################################################[ 2024-03-28 13.24, Thu, 11:44:01 ]######
    

RSS Document Output

This is done with the command.rss extension at the end of the url.

This provides a RSS Feed of the top simonaroberts.com providers, pools and servers
https://simonaroberts.com/v1/top.rss?20

This provides a RSS Feed of the worst simonaroberts.com providers, pools and servers
https://simonaroberts.com/v1/worse.rss?20

This provides a RSS Feed of the new simonaroberts.com providers, pools and servers
https://simonaroberts.com/v1/new.rss?20

PHP Document Output

This is done with the command.php extension at the end of the url.

This provides a complete list and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/online.php

This provides a list from pool 6 of 8 pools and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/6/8/online.php

This provides a list and keys of defined NTP Source tested to currently be offline from host on the service
https://simonaroberts.com/v1/offline.php

This provides a list and keys of defined in the offline.php/online.php api call as well as the ping time (least to greatest)
https://simonaroberts.com/v1/pings.php

This provides a list and keys of defined in the offline.php/online.php api call as well as the up-time (least to greatest)
https://simonaroberts.com/v1/uptime.php

This provides a list and keys of defined in the offline.php/online.php api call as well as the down-time (least to greatest)
https://simonaroberts.com/v1/downtime.php

This provides a list and keys of defined in the offline.php/online.php api call as well as the next time the key is due to be pinged by timeout (least to greatest)
https://simonaroberts.com/v1/nextping.php

This provides a list of the companies which are currently online from closest ping to least!
https://simonaroberts.com/v1/companies.php

This provides a list of the companies which are currently offline currently!
https://simonaroberts.com/v1/offcompanies.php

ASP Document Output

This is done with the command.asp extension at the end of the url.

This provides a complete list and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/online.asp

This provides a list from pool 6 of 8 pools and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/6/8/online.asp

This provides a list and keys of defined NTP Source tested to currently be offline from host on the service
https://simonaroberts.com/v1/offline.asp

This provides a list and keys of defined in the offline.asp/online.asp api call as well as the ping time (least to greatest)
https://simonaroberts.com/v1/pings.asp

This provides a list and keys of defined in the offline.asp/online.asp api call as well as the up-time (least to greatest)
https://simonaroberts.com/v1/uptime.asp

This provides a list and keys of defined in the offline.asp/online.asp api call as well as the down-time (least to greatest)
https://simonaroberts.com/v1/downtime.asp

This provides a list and keys of defined in the offline.asp/online.asp api call as well as the next time the key is due to be pinged by timeout (least to greatest)
https://simonaroberts.com/v1/nextping.asp

This provides a list of the companies which are currently online from closest ping to least!
https://simonaroberts.com/v1/companies.asp

This provides a list of the companies which are currently offline currently!
https://simonaroberts.com/v1/offcompanies.asp

Serialisation Document Output

This is done with the command.serial extension at the end of the url.

This provides a complete list and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/online.serial

This provides a list from pool 6 of 8 pools and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/6/8/online.serial

This provides a list and keys of defined NTP Source tested to currently be offline from host on the service
https://simonaroberts.com/v1/offline.serial

This provides a list and keys of defined in the offline.serial/online.serial api call as well as the ping time (least to greatest)
https://simonaroberts.com/v1/pings.serial

This provides a list and keys of defined in the offline.serial/online.serial api call as well as the up-time (least to greatest)
https://simonaroberts.com/v1/uptime.serial

This provides a list and keys of defined in the offline.serial/online.serial api call as well as the down-time (least to greatest)
https://simonaroberts.com/v1/downtime.serial

This provides a list and keys of defined in the offline.serial/online.serial api call as well as the next time the key is due to be pinged by timeout (least to greatest)
https://simonaroberts.com/v1/nextping.serial

This provides a list of the companies which are currently online from closest ping to least!
https://simonaroberts.com/v1/companies.serial

This provides a list of the companies which are currently offline currently!
https://simonaroberts.com/v1/offcompanies.xml

JSON Document Output

This is done with the command.json extension at the end of the url, you replace the address with either a domain, an IPv4 or IPv6 address the following example is of calls to the api

This provides a complete list and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/online.json

This provides a list from pool 6 of 8 pools and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/6/8/online.json

This provides a list and keys of defined NTP Source tested to currently be offline from host on the service
https://simonaroberts.com/v1/offline.json

This provides a list and keys of defined in the offline.json/online.json api call as well as the ping time (least to greatest)
https://simonaroberts.com/v1/pings.json

This provides a list and keys of defined in the offline.json/online.json api call as well as the up-time (least to greatest)
https://simonaroberts.com/v1/uptime.json

This provides a list and keys of defined in the offline.json/online.json api call as well as the down-time (least to greatest)
https://simonaroberts.com/v1/downtime.json

This provides a list and keys of defined in the offline.json/online.json api call as well as the next time the key is due to be pinged by timeout (least to greatest)
https://simonaroberts.com/v1/nextping.json

This provides a list of the companies which are currently online from closest ping to least!
https://simonaroberts.com/v1/companies.json

This provides a list of the companies which are currently offline currently!
https://simonaroberts.com/v1/offcompanies.xml

XML Document Output

This is done with the command.xml extension at the end of the url, you replace the address with either a domain, an IPv4 or IPv6 address the following example is of calls to the api

This provides a complete list and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/online.xml

This provides a list from pool 6 of 8 pools and keys of defined NTP Source tested to currently be online from host on the service
https://simonaroberts.com/v1/6/8/online.xml

This provides a list and keys of defined NTP Source tested to currently be offline from host on the service
https://simonaroberts.com/v1/offline.xml

This provides a list and keys of defined in the offline.xml/online.xml api call as well as the ping time (least to greatest)
https://simonaroberts.com/v1/pings.xml

This provides a list and keys of defined in the offline.xml/online.xml api call as well as the up-time (least to greatest)
https://simonaroberts.com/v1/uptime.xml

This provides a list and keys of defined in the offline.xml/online.xml api call as well as the down-time (least to greatest)
https://simonaroberts.com/v1/downtime.xml

This provides a list and keys of defined in the offline.xml/online.xml api call as well as the next time the key is due to be pinged by timeout (least to greatest)
https://simonaroberts.com/v1/nextping.xml

This provides a list of the companies which are currently online from closest ping to least!
https://simonaroberts.com/v1/companies.xml

This provides a list of the companies which are currently offline currently!
https://simonaroberts.com/v1/offcompanies.xml

The Author

This was developed by Dr. Simon Antony Roberts in 2019 and is part of the Chronolabs System and api's.

This is open source which you can download from https://sourceforge.net/p/chronolabs-cooperative/ntp-pooling-api-php/ci/master/tree/ contact the scribe chronolabscoop@outlook.com