Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cloudflare/cfnts
Cloudflare's implementation of the NTS protocol written in Rust
https://github.com/cloudflare/cfnts
Last synced: about 1 month ago
JSON representation
Cloudflare's implementation of the NTS protocol written in Rust
- Host: GitHub
- URL: https://github.com/cloudflare/cfnts
- Owner: cloudflare
- License: bsd-2-clause
- Archived: true
- Created: 2019-06-12T15:49:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2024-04-09T16:54:37.000Z (8 months ago)
- Last Synced: 2024-08-02T15:44:56.999Z (4 months ago)
- Language: Rust
- Homepage: https://blog.cloudflare.com/announcing-cfnts/
- Size: 18.3 MB
- Stars: 176
- Watchers: 21
- Forks: 19
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - cloudflare/cfnts - Cloudflare's implementation of the NTS protocol written in Rust (Rust)
README
# cfnts
## DEPRECATION NOTICE
**This software is no longer maintained. Consider using an alternative NTS implementation such as [chrony](https://chrony-project.org) or [ntpd-rs](https://github.com/pendulum-project/ntpd-rs).**cfnts is an implementation of the NTS protocol written in Rust.
**Prereqs**:
Rust**Building**:
We use cargo to build the software. `docker-compose up` will spawn several Docker containers that run tests.
**Running**
Run the NTS client using `./target/release/cfnts client [--4 | --6] [-p ] [-c ] [-n ] `Default port is `4460`.
Using `-4` forces the use of ipv4 for all connections to the server, and using `-6` forces the use of ipv6.
These two arguments are mutually exclusive. If neither of them is used, then the client will use whichever one
is supported by the server (preference for ipv6 if supported).To run a server you will need a memcached compatible server, together with a script based on fill-memcached.py that will write
a new random key into /nts/nts-keys/ every hour and delete old ones. Then you can run the ntp server and the nts server.This split and use of memcached exists to enable deployments where a small dedicated device serves NTP, while a bigger server carries
out the key exchange.**Examples**:
1. `./target/release/cfnts client time.cloudflare.com`
2. `./target/release/cfnts client kong.rellim.com -p 123`