An implementation of the Time over HTTPS Specification with a pretty front-end providing analog and digital clock displays synchronized using a simplified version of the NTP algorithm.
By default the server listens for local HTTP connections on port 8123.
Listens for connections on all network interfaces instead of only localhost.
Listens for connections by binding to <PORT> instead of 8123.
Creates a Unix domain socket at <PATH> to listen for connections.
Set the owning user of the Unix domain socket to <USER>.
Set the owning group of the Unix domain socket to <GROUP>.
Enables support for HTTPS using the TLS certificate read from a PEM-encoded file
at <PATH>. Requires --tls-key.
Enables support for HTTPS using the private key read for a PEM-encoded file at
<PATH>. Requires --tls-cert.
If no TLS certificate is provided a self-signed certificate for "localhost" is automatically generated to enable WebTransport when testing locally.
Enables QUIC support, including support for WebTransport. Opens an additional UDP socket to listen for QUIC connections. Uses port 8123 by default.
Listens for QUIC connections on <PORT> instead.
Drop privileges to <USER> after loading certs and binding sockets.
Drop privileges to <GROUP> after loading certs and binding sockets.
Chroot to <PATH> after loading certs and binding sockets.
Prints help text.
Prints the application version.
The frontend component is located in the web directory and must be built first
using npm:
$ npm install
$ npm run buildThe backend component can now be built with Cargo:
$ cargo buildWhen built in debug mode the frontend components are served live from the dist
directory. When built in release mode they are included in the binary.