endpoints.path: /
endpoints.endpoint_type: HTTP
endpoints.scan_time: 2025-10-11T13:46:05.176842
endpoints.uri: https://tock.ngei.csir.co.za/
endpoints.protocol: HTTP/1.1
endpoints.status_reason: OK
endpoints.key: Accept-Ranges
endpoints.headers: bytes
endpoints.key: Last-Modified
endpoints.headers: Wed, 02 Jul 2025 06:29:40 GMT
endpoints.key: Server
endpoints.headers: nginx
endpoints.key: Content-Type
endpoints.headers: text/html
endpoints.key: Strict-Transport-Security
endpoints.headers: max-age=31536000
endpoints.key: ETag
endpoints.headers: "6864d1d4-f79"
endpoints.key: Content-Length
endpoints.headers: 3961
endpoints.key: Connection
endpoints.headers: keep-alive
endpoints.key: Date
endpoints.headers: <REDACTED>
endpoints.html_tags: <title>
  SANReN NTP Time Servers
  </title>
endpoints.body: <!DOCTYPE html>
  <head>
  <title>
  SANReN NTP Time Servers
  </title>
  </head>
  <body>
  <center>
  <h2>SANReN NTP Time Servers</h2>
  </center>
  <p>
  <h3>Access Policy</h3>
  Free and open to anyone.
  <p>
  <div>
  <img src="/images/ntp-hierarchy-s.png" alt="NTP Hierarchy" border=0 style="float: right; margin-top: 0px">
  <b>Disclaimer:</b>
  This service is done on a best effort basis, with reasonable effort to maintain a good quality NTP service.
  You use the service at your own risk and we accept no liability for its consequences.
  No guarantee about the availability or usefulness of the service is made.
  <p>
  If you abuse the sytem, we reserve the right to filter or rate limit your access.
  <p>
  <b>Note:</b>
  If you are synchronizing a lot of devices, it might be better to setup
  one or more of your own NTP servers, as depicted in the diagram.
  Configure only those to synchronize their time from NTP servers on the Internet.
  Then configure all your devices to use your own NTP servers.
  </div>
  </br>
  <p>
  <h4>Stratum 1 NTP servers</h4>
  <ul style="list-style-type:none;">
  <li>tick.sanren.ac.za</li>
  <li>tock.sanren.ac.za</li>
  <li>time-dev.sanren.ac.za (Used for development)</li>
  <li><b>Note:</b> All servers supports both IPv4 and IPv6.</li>
  </ul>
  <h4>Contact</h4>
  <ul>
  john+ntp <!-- no spam --> at <!-- no spam --> sanren.ac.za
  </ul>
  
  <h3>Status, Performance and Usage Statistics</he3>
  <ul>
  <li><a href="status.html">Current status of the TimeCard and NTPD</a></li>
  <li><a href="stats-3d.html">Over the last 3 days</a></li>
  <li><a href="stats-40d.html">Over the last 40 days</a></li>
  <li><a href="stats-400d.html">Over the last 400 days</a></li>
  </ul>
  
  <h3>Hardware</h3>
  <ul>
  <li>Supermicro SYS-110D-8C-FRAN8TP - 1U rack mount server</li>
  <li><a href="https://github.com/opencomputeproject/Time-Appliance-Project/tree/master/Time-Card">OCP TAP TimeCard v8</a> with:
  <ul>
  <li>ALINX SoM AC7100B: XILINX Artix-7 XC7A100T Field Programmable Gate Array (FPGA)</li>
  <li>Global Navigation Satellite Systems (GNSS) receiver board using an u-blox NEO-M9N</li>
  <li>Oscillator board with SiTime SIT5721AC 10MHz 5ppb Digitally Controlled Oven Controlled Crystal Oscillator (DCOCXO)</li>
  </ul>
  </li>
  </ul>
  <a href="/images/timecard.jpg">
  <img src="/images/timecard-s.jpg" alt="OCP TAP TimeCard" border=0 style="display: block;margin-left: auto;margin-right: auto; margin-top: 0px">
  </a>
  
  <h3>Software</h3>
  <ul>
  <li><a href="https://www.freebsd.org">FreeBSD</a></li>
  <li><a href="https://github.com/JohnHay/TimeCard/tree/main">TimeCard driver, timecard(4) and daemon timecard(8)</a></li>
  <li><a href="https://www.ntp.org">ntpd</a></li>
  </ul>
  The TimeCard implements a counter in 
  <a href="https://man.freebsd.org/cgi/man.cgi?query=clock_gettime&sektion=2&manpath=freebsd-release-ports">timespec</a>
  format,
  that is made available on the PCI-Express bus.
  It synchronizes the counter to International Atomic Time (TAI),
  using the GNSS receiver and implementing two Proportional-Integral-Derivative (PID) controllers, called servos,
  one for the frequency and one for the offset or phase.
  This is all implemeted in the FPGA.
  <p>
  The TimeCard driver provides access to the card functionality and also implements a FreeBSD timecounter using the
  <a href="https://man.freebsd.org/cgi/man.cgi?query=timecounters&sektion=4&manpath=freebsd-release-ports">timecounters(4) API</a>.
  It also makes the Pulse Per Second (PPS) signal available using the
  <a href="https://www.ntp.org/reflib/rfc/rfc2783.txt">RFC2783</a> PPS API.
  <p>
  <hr>
  <div>
  <a href="https://github.com/opencomputeproject/Time-Appliance-Project/tree/master/Time-Card">
  <img src="/images/tc_logo_black.png" alt="OCP TAP TimeCard" border=0 style="float:left;height: 76px; width: 146px;"></a>
  <a href="https://www.freebsd.org/">
  <img src="/images/powerlogo.gif" alt="Powered by FreeBSD" border=0 style="float:left"> </a>
  <i style="font-size:60%" style="float:right">
  Created by John Hay,
  <br/>
  Last edited: 2025-07-01
  </i>
  </div>
  </body>
  </html>
  
endpoints.name: https://tock.ngei.csir.co.za/favicon.ico
endpoints.html_title: 
  SANReN NTP Time Servers
  
endpoints.supported_versions: HTTP/1.1
endpoints.banner: HTTP/1.1 200 OK
  Server: nginx
  Date:  <REDACTED>
  Content-Type: text/html
  Content-Length: 3961
  Last-Modified: Wed, 02 Jul 2025 06:29:40 GMT
  Connection: keep-alive
  ETag: "6864d1d4-f79"
  Strict-Transport-Security: max-age=31536000
  Accept-Ranges: bytes
  
endpoints.ip: 155.232.19.7
[binary data, 7 values, 175 bytes]