{"id":15116514,"url":"https://github.com/pendulum-project/ntpd-rs","last_synced_at":"2026-01-30T13:06:59.360Z","repository":{"id":37297057,"uuid":"466243290","full_name":"pendulum-project/ntpd-rs","owner":"pendulum-project","description":"A full-featured implementation of the Network Time Protocol, including NTS support.","archived":false,"fork":false,"pushed_at":"2025-05-08T13:56:30.000Z","size":9660,"stargazers_count":868,"open_issues_count":46,"forks_count":46,"subscribers_count":18,"default_branch":"main","last_synced_at":"2025-05-08T14:45:16.961Z","etag":null,"topics":["clock","ntp","ntp-client","ntp-protocol","ntp-server","ntpd","time","time-synchronization"],"latest_commit_sha":null,"homepage":"https://trifectatech.org","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pendulum-project.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE-APACHE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["pendulum-project"],"custom":["https://trifectatech.org/support/"]}},"created_at":"2022-03-04T19:15:34.000Z","updated_at":"2025-05-08T13:56:32.000Z","dependencies_parsed_at":"2022-07-13T09:20:30.605Z","dependency_job_id":"fb534f66-3333-4e43-ac98-aae51f241498","html_url":"https://github.com/pendulum-project/ntpd-rs","commit_stats":{"total_commits":2023,"total_committers":29,"mean_commits":69.75862068965517,"dds":0.699456253089471,"last_synced_commit":"af4befcd4cffece33782bc5406d46fd7ae105c2a"},"previous_names":["memorysafety/ntpd-rs"],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pendulum-project%2Fntpd-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pendulum-project%2Fntpd-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pendulum-project%2Fntpd-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pendulum-project%2Fntpd-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pendulum-project","download_url":"https://codeload.github.com/pendulum-project/ntpd-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254346624,"owners_count":22055808,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["clock","ntp","ntp-client","ntp-protocol","ntp-server","ntpd","time","time-synchronization"],"created_at":"2024-09-26T01:44:24.429Z","updated_at":"2026-01-30T13:06:59.353Z","avatar_url":"https://github.com/pendulum-project.png","language":"Rust","readme":"![checks](https://github.com/pendulum-project/ntpd-rs/actions/workflows/checks.yaml/badge.svg?branch=main)\n[![codecov](https://codecov.io/gh/pendulum-project/ntpd-rs/branch/main/graph/badge.svg?token=WES1JIYUJH)](https://codecov.io/gh/pendulum-project/ntpd-rs)\n[![Crates.io](https://img.shields.io/crates/v/ntpd.svg)](https://crates.io/crates/ntpd)\n[![Docs](https://img.shields.io/badge/ntpd--rs-blue?label=docs)](https://docs.ntpd-rs.pendulum-project.org/)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/8054/badge)](https://www.bestpractices.dev/projects/8054)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/pendulum-project/ntpd-rs/badge)](https://securityscorecards.dev/viewer/?uri=github.com/pendulum-project/ntpd-rs)\n\n# ntpd-rs\n\nntpd-rs is a tool for synchronizing your computer's clock, implementing the NTP and NTS protocols. It is written in Rust, with a focus on security and stability. It includes both client and server support.\n\nIf a feature you need is missing please let us know by opening an issue.\n\n## Documentation\n\nBe sure to check out the [documentation website] as it includes guides on getting started, installation and migration, as well as a high-level overview of the code structure.\n\n## Usage\n\nYou can install the packages from the [releases page]. These packages configure ntpd-rs to synchronize your computers clock to servers from the [NTP pool]. After installation, check the status of the ntpd-rs daemon with\n\n```console\n$ sudo systemctl status ntpd-rs\n```\n\nIf ntpd-rs was not started automatically, you can do so now with\n\n```console\n$ sudo systemctl start ntpd-rs\n```\n\nYou should now be able to check the synchronization status with\n\n```console\n$ ntp-ctl status\nSynchronization status:\nDispersion: 0.000299s, Delay: 0.007637s\nDesired poll interval: 16s\nStratum: 4\n\nSources:\nntpd-rs.pool.ntp.org:123/77.171.247.180:123 (1): +0.000024±0.000137(±0.016886)s\n    poll interval: 16s, missing polls: 0\n    root dispersion: 0.005905s, root delay:0.016190s\nntpd-rs.pool.ntp.org:123/45.137.101.154:123 (2): +0.000022±0.000081(±0.007414)s\n    poll interval: 16s, missing polls: 0\n    root dispersion: 0.004517s, root delay:0.005051s\nntpd-rs.pool.ntp.org:123/178.215.228.24:123 (3): +0.000117±0.000091(±0.009162)s\n    poll interval: 16s, missing polls: 0\n    root dispersion: 0.000549s, root delay:0.004318s\nntpd-rs.pool.ntp.org:123/162.159.200.123:123 (4): +0.000111±0.000076(±0.004066)s\n    poll interval: 16s, missing polls: 0\n    root dispersion: 0.000351s, root delay:0.003571s\n\nServers:\n```\nThe top part shows the overall quality of the time synchronization, and the time sources section shows which servers are used as well as offsets and uncertainties of those individual servers.\n\nFor more details on how to install and use ntpd-rs, see our [documentation website].\n\n## Roadmap\n\nSee [Project Pendulum] for our roadmap.\n\n## History\n\n### 2022\n\nThe project originates from ISRG's project [Prossimo], as part of their mission\nto achieve memory safety for the Internet's most critical infrastructure.\n\n\u003cimg alt=\"Prossimo\" src=\"https://www.memorysafety.org/images/Prossimo%20Brand%20Assets/Prossimo%20Horizontal%20Full%20Color.svg\" width=\"250px\"/\u003e\n\nProssimo funded the initial development of the NTP client and server, and NTS\nsupport. The [NTP initiative page] on Prossimo's website tells the story.\n\n### 2023\n\nAfter completion of the initial development, the project's ownership moved from\nProssimo to Tweede golf in April 2023. See the [NTP announcement] for more\ninformation.\n\nTweede golf is the long-term maintainer of ntpd-rs, that is now part of Tweede\ngolf's [Project Pendulum]. Pendulum is building modern, open-source\nimplementations of the Network Time Protocol (ntpd-rs) and the Precision Time Protocol (Statime).\n\nIn July of 2023 the [Sovereign Tech Agency] invested in Pendulum, securing ntpd-rs development and maintenance in 2023, and maintenance and adoption work in 2024.\n\n### 2024\n\nIn 2024, we completed the work for [Sovereign Tech Agency], which resulted in (among many other deliverables) a stable release for ntpd-rs. \n\nIn June of 2024, ntpd-rs was deployed in the infrastructure of [Let's Encrypt].\n\n![STF](https://tweedegolf.nl/images/logo-stf-blank.png)\n\n[releases page]: https://github.com/pendulum-project/ntpd-rs/releases\n[NTP pool]: https://www.ntppool.org\n[documentation website]: https://docs.ntpd-rs.pendulum-project.org/\n[Prossimo]: https://www.memorysafety.org\n[NTP initiative page]: https://www.memorysafety.org/initiative/ntp\n[NTP announcement]: https://www.memorysafety.org/blog/ntp-and-nts-have-arrived/\n[Project Pendulum]: https://github.com/pendulum-project\n[Sovereign Tech Agency]: https://www.sovereign.tech/tech/pendulum\n[Let's Encrypt]: https://letsencrypt.org/2024/06/24/ntpd-rs-deployment/\n","funding_links":["https://github.com/sponsors/pendulum-project","https://trifectatech.org/support/"],"categories":["Rust"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpendulum-project%2Fntpd-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpendulum-project%2Fntpd-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpendulum-project%2Fntpd-rs/lists"}