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!
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'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'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'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'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