npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

clockdrift

v5.0.0

Published

Use HTTP headers to see if servers have synchronized clocks or not

Downloads

9

Readme

clockdrift.js

Node script for detecting clock drift on remote web servers

  • Author: Rich Trott
  • Copyright: Regents of the University of California (c) 2012
  • License: MIT

What is it?

Shibboleth authentication via simpleSAMLphp broke on one of our apps when the system clock on the Shibboleth server drifted more than a minute into the future.

I am not the administrator of that machine and I don't know if they fixed whatever was causing the problem. But it occured to me that even with no access to the server, I could detect clock drift by examining the date stamp in HTTP headers from the server.

So, I wrote this tool to use in a crontab.

How do I install it?

npm install -g clockdrift

How do I use it?

clockdrift 15 http://www.example.com/ https://www.example.net/

The first argument is the drift tolerance in seconds. Clocks that are off from your local clock by less than the specified number of seconds (15 in the example above) will not be reported. Use -1 to receive notices about all clocks even if they are set precisely.

By the way, since the tool uses your clock as the canonical clock, it's good to take steps to make sure that your system clock isn't the problem. I include the Naval Observatory clock URL at http://tycho.usno.navy.mil/ in my cron job to make sure that it's not my system clock that is off as opposed to the remote server clock.

The remaining arguments are the URLs that the tool should connect to in order to retrieve timestamps. In the example above, we are checking the clocks on www.example.com and www.example.net.

The tool assumes that you have a fast connection and/or are on a network that is nearby the servers you are checking. Therefore, a one second timeout is hardcoded. This insures against false positives due to slow network connections.