Skip to content

case/rdap-cctld-ts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rdap-cctld-ts

Background

IANA publishes some raw, canonical data about the DNS and root zone TLDs. This project is an attempt to make it easier to explore and answer questions about this canonical data.

Here are some of the types of data that IANA publishes:

  • A list of all top-level domains
  • ASCII and Unicode variants of IDN (internationalized) TLDs
  • TLD categories, e.g. generic, country-code, sponsored, etc.
  • TLD Managers, e.g. VeriSign, Inc., Charleston Road Registry Inc., etc.
  • RDAP servers for all gTLDs, and some ccTLDs

There is a bit more data beyond what IANA publishes, which can supplement or enrich the raw IANA data, to improve it a bit, and make it easier to understand. For example:

  • ccTLD RDAP servers - there are a handful of these that aren't included in the IANA data
  • Parent-Subsidiary groupings for TLD managers, e.g. VeriSign has four entities for all the TLDs they manage
  • What do the IDNs mean?
  • Which IDNs are ccTLDs, and which are generics?
  • Which gTLDs are Open or Closed, or Brand-only? (e.g. .apple)
  • Which backend (technical) operators power which TLDs?
  • Are there some friendlier / more recognizable names for TLD Managers? E.g. Charleston Road Registry Inc. = Google

We are capturing some of this supplemental data in the data/supplemental.json file.

Overview

Each night, this project fetches three different IANA data files (related to top-level domains), and stores copies of them in this git repo. They are small data, so it's ok.

The idea is to be able to see at a glance, things like:

  • How many delegated TLDs are there?
  • Of these, how many are country-code TLDs vs. generics?
  • How many have RDAP servers? (all the generics are supposed to have them, but for the ccTLDs it's entirely optional)
  • Are there ccTLD RDAP servers that aren't in the IANA bootstrap file?

And later on, we'll add some lightweight monitoring to stay ahead of issues like this.

Val Town

I'm primarily tinkering with this project, to learn how Val Town works.

FAQ

Tests

In the fixture files, the IDN ccTLDs are:

  • xn--kpry57d is 台灣 (tw) - via
  • xn--2scrj9c is ಭಾರತ (in) - via
  • xn--4dbrk0ce is ישראל (il) - via
  • xn--flw351e is 谷歌 ("Google" in Chinese) - via
  • xn--wgbh1c is .مصر (eg) - via

IANA data files

We're able to check for changes prior to downloading the files:

  • The RDAP bootstrap file has both ETag and Last-Modified headers
  • The TLD list file has both ETag and Last-Modified headers
  • The root zone db (html) has a Cache-Control header

Todo

ccTLD + RDAP monitoring

  • Checkly monitoring for ccTLD manually added RDAP servers
  • Checkly public dashboard
  • curl (or Python)-based monitoring via GH Actions

Web UI

  • Web UI - TLD table view, search box, filters for G vs. CC, IDNs, etc
  • Web UI - ZoneDB integration to get "brand" tags in here somehow
  • Web UI - per-data file analysis & view, for verifying the numbers

Val Town deploy

  • Add data/tlds.json to source control (it's currently in gitignore)
  • Build step for tlds.json in GH Actions
  • Pre-calculate the "analysis" numbers, so that they aren't re-calculated for every API request
  • Val Town manual deploy
  • GH Actions -> Val Town auto-deploys when the data files are updated

Future

  • Something (a bot? etc.) to watch all the ccTLD registry websites, for mentions of RDAP, and notify if found

Done

2025-11-15:

  • Web UI - TLD Managers section & breakdown
  • Supplemental data - TLD Managers groupings

2025-11-14:

  • TLDs txt file - ignore the first line (timestamp) before saving it
  • Nightly data updates - GH Actions
  • Tests running in GH Actions
  • Deno dep updates in GH Actions
  • Only update data/metadata.json when there are downloaded file updates
  • A basic HTTP + web interface

2025-11-13:

  • A unified, generated tlds.json file that includes all the data we need, for an eventual web interface

2025-11-12:

  • Refactor to be "an API" with simple CLI & web clients
  • Use Cliffy for terminal tables output
  • Update the CLI analysis output a bit
  • Added the unlisted ccTLD RDAP servers

2025-11-11:

  • Project creation
  • Fixtures for all three data files
  • Download & last-updated checks for all three files
  • Downloaded file validation, parsing, and tests for all three files
  • CLI, for understanding and munging the data, and prototyping future interfaces
  • Reconciled the various TLD metadata counts - cctlds, gtlds, IDNs, sponsored, infra, etc. - across all three files

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •