Skip to content

Node implementation of the NTP Client Protocol

License

Notifications You must be signed in to change notification settings

tinovyatkin/ntp

 
 

Repository files navigation

NTP Client node Build Status styled with prettier codecov

Lightweight (no dependencies) modern Javascript implementation of the NTP Client Protocol.

We use it in production at https://transfers.do for webhooks timestamps checking (like Stripe and so on) where VM time is not reliable enough.

Usage

Add the module to your project with npm install @destinationstransfers/ntp.

const NTPClient = require('@destinationstransfers/ntp)';

const date = await NTPClient.getNetworkTime();
console.log(date) // 2017-09-20T15:29:09.443Z

API

getNetworkTime accepts hash of parameters, below they are with default values:

const { getNetworkTime } = require('@destinationstransfers/ntp)';

const date = await getNetworkTime({
  timeout = 10000, // timeout in ms, default is 10sec
  server = 'time.google.com', // ntp server address
  port = 123, // NTP server port
})

You also can override default values using env variables NPT_PORT, NTP_SERVER and NTP_REPLY_TIMEOUT.

Credits

About

Node implementation of the NTP Client Protocol

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%