chrony is a versatile implementation of the Network Time Protocol (NTP). It can synchronise the system clock with NTP servers, reference clocks (e.g. GPS receiver), and manual input using wristwatch and keyboard. It can also operate as an NTPv4 (RFC 5905) server and peer to provide a time service to other computers in the network.

It is designed to perform well in a wide range of conditions, including intermittent network connections, heavily congested networks, changing temperatures (ordinary computer clocks are sensitive to temperature), and systems that do not run continuously, or run on a virtual machine.

Typical accuracy between two machines synchronised over the Internet is within a few milliseconds; on a LAN, accuracy is typically in tens of microseconds. With hardware timestamping, or a hardware reference clock, sub-microsecond accuracy may be possible.

Two programs are included in chrony, chronyd is a daemon that can be started at boot time and chronyc is a command-line interface program which can be used to monitor chronyd’s performance and to change various operating parameters whilst it is running.

Supported systems

The software is known to work on Linux, FreeBSD, NetBSD, OpenBSD, macOS, and illumos. Closely related systems may work too. Any other system will likely require a porting exercise.

Contact

Bug reports, questions, and suggestions can be submitted to the project’s GitLab tracker, or sent to the chrony-users mailing list. Patches can be submitted as merge requests, or to the chrony-dev mailing list. See the mailing lists page for more information.

When reporting a security issue, please report it to the GitLab tracker and mark it as a confidential issue.

chrony was originally written by Richard Curnow. It is currently maintained and developed by Miroslav Lichvar (PGP key).

License

chrony is distributed under the GNU General Public License version 2.