explaingit

upmcplanetracker/ntpd-rs-nts-for-firewalla

Analysis updated 2026-05-18

1ShellAudience · ops devopsComplexity · 4/5Setup · hard

TLDR

A community install script that replaces a Firewalla router's default time service with encrypted, authenticated NTS time via ntpd-rs.

Mindmap

mindmap
  root((Firewalla NTS))
    What it does
      Encrypted network time
      NTP Intercept redirect
    Install
      post_main.d hook
      ntpd-rs.env config
    Safety
      Community project
      Reflash risk
    Verify
      ntp-ctl status
      Per-server offset

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Force every device on a home network to use encrypted, authenticated NTS time instead of plain NTP.

USE CASE 2

Automatically re-apply secure time firewall rules after every router reboot or network change.

USE CASE 3

Verify which NTS time servers are currently synced and healthy using the built in status command.

USE CASE 4

Update the list of trusted NTS servers without editing the install script itself.

What is it built with?

Shellntpd-rsiptables

How does it compare?

upmcplanetracker/ntpd-rs-nts-for-firewalla100/dotfilesabdellaouiamir/palworld-server
Stars111
LanguageShellShellShell
Last pushed2016-11-18
MaintenanceDormant
Setup difficultyhardeasymoderate
Complexity4/51/53/5
Audienceops devopsdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 30min

Only tested on a Firewalla Gold Plus running Ubuntu 22.04, modifying a router firmware carries real risk.

In plain English

This project is a community script that adds encrypted network time to a Firewalla router. It installs ntpd-rs, a time synchronization program that supports NTS, a protocol that authenticates and encrypts time requests so they cannot be silently altered by someone watching the network. It then uses Firewalla's own NTP Intercept feature to redirect every device on the local network to use this secure time service instead of whatever unencrypted server they were configured with. The README is upfront that this is not an official Firewalla product, carries real risk of destabilizing the router if misused, and should only be attempted by someone comfortable reflashing the device if something goes wrong. It also explains a limitation: devices behind NTP Intercept still only receive plain, unencrypted NTP, because that is the only protocol Firewalla intercepts, so any device that specifically requires NTS itself would need NTP Intercept turned off for its network segment. To install, a person places the script in a folder Firewalla already runs automatically after every boot and network change, downloads a companion configuration file that lists the NTS servers to use, and runs the installer. The script then finds the router's local network interfaces, installs the ntpd-rs package from its official prebuilt binary, disables any competing time services already running, adds the chosen NTS servers to the system's hosts file so they resolve even before local network lookups are ready, and sets up firewall rules to redirect all local time traffic to the new service. All of the editable settings, including the list of NTS servers, live in a separate configuration file rather than inside the script itself, so updating the server list does not require touching the installer. A verification command shows the current synchronization status and lists each configured time source along with its measured offset and delay, letting someone confirm the secure connections are actually working.

Copy-paste prompts

Prompt 1
Walk me through installing this NTS script on my Firewalla Gold Plus safely.
Prompt 2
Explain what happens to a device on my network that specifically needs NTS instead of plain NTP.
Prompt 3
Help me check whether my Firewalla is actually synced to the configured NTS servers.
Prompt 4
Show me how to update the NTS server list without touching the install script.

Frequently asked questions

What is ntpd-rs-nts-for-firewalla?

A community install script that replaces a Firewalla router's default time service with encrypted, authenticated NTS time via ntpd-rs.

What language is ntpd-rs-nts-for-firewalla written in?

Mainly Shell. The stack also includes Shell, ntpd-rs, iptables.

How hard is ntpd-rs-nts-for-firewalla to set up?

Setup difficulty is rated hard, with roughly 30min to a first successful run.

Who is ntpd-rs-nts-for-firewalla for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.