Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- ".github/workflows/**"
- "pyproject.toml"
- "uv.lock"
- "data/generated/**"
- "data/manual/**"
- "src/**"
- "tests/**"
Expand All @@ -17,6 +18,7 @@ on:
- ".github/workflows/**"
- "pyproject.toml"
- "uv.lock"
- "data/generated/**"
- "data/manual/**"
- "src/**"
- "tests/**"
Expand Down
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,9 @@ Here is its schema:
// TLD Manager alias (manually curated)
"tld_manager_alias": "string", // Canonical parent company name, from data/manual/tld-manager-aliases.json (e.g. "Identity Digital", "Google")

// Tech operator alias (manually curated)
"tech_alias": "string", // Canonical tech operator name, from data/manual/tech-aliases.json (e.g. "Identity Digital", "Google Registry"). Canonical names are kept in sync with tld_manager_alias so the two annotations can be safely joined.

// RDAP metadata
"rdap_source": "string", // Source of RDAP server: "IANA" (canonical) or "supplemental" (from data/manual/supplemental-cctld-rdap.json)

Expand Down Expand Up @@ -264,6 +267,8 @@ Dependencies:

### Later

- [ ] Add provenance (`source` URLs) for the remaining `null`-source alias entries in `data/manual/tld-manager-aliases.json` and `data/manual/tech-aliases.json` — currently only the non-obvious lineage merges cite a source
- [ ] Continue canonicalising the long tail of `tld_manager` and `orgs.tech` operator names (mostly ccTLD/NIC operators and dotBrand corporates) — `scripts/analyze_operators.py` ranks the unaliased candidates. The two alias files should evolve together so canonical names stay aligned (enforced by `tests/integration/test_alias_consistency.py`)
- [ ] Annotation - IDN meanings & language, maybe could derive from the individual TLD web pages?
- [ ] Annotation - `open` or `closed` TLDs (needs discovery; may be addressed by the `brand` registry type annotation?)
- [ ] Script to create a Sqlite db from the data - maybe purely from client side? E.g. JS could generate it "on the fly"?
Expand Down
2 changes: 1 addition & 1 deletion data/generated/metadata.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,6 @@
}
},
"IPTOASN": {
"last_downloaded": "2026-05-16T03:38:29Z"
"last_downloaded": "2026-05-18T14:25:57Z"
}
}
4 changes: 2 additions & 2 deletions data/generated/tld/aaa.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-16T03:38:30Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -40,7 +40,7 @@
"ipv4": [
{
"ip": "37.209.194.9",
"asn": 397213,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down
16 changes: 8 additions & 8 deletions data/generated/tld/aarp.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-16T03:38:30Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -40,7 +40,7 @@
"ipv4": [
{
"ip": "37.209.194.9",
"asn": 397213,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down Expand Up @@ -78,15 +78,15 @@
"ipv4": [
{
"ip": "156.154.172.82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
],
"ipv6": [
{
"ip": "2610:a1:1074::1:82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand All @@ -97,15 +97,15 @@
"ipv4": [
{
"ip": "156.154.173.82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
],
"ipv6": [
{
"ip": "2610:a1:1075::1:82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand All @@ -116,15 +116,15 @@
"ipv4": [
{
"ip": "156.154.174.82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
],
"ipv6": [
{
"ip": "2610:a1:1076::1:82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/abb.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -101,6 +101,7 @@
"2023-08-11"
],
"annotations": {
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/abbott.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -101,6 +101,7 @@
"2026-01-26"
],
"annotations": {
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/abc.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -139,6 +139,7 @@
"2024-07-25"
],
"annotations": {
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
4 changes: 2 additions & 2 deletions data/generated/tld/able.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-16T03:38:30Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -40,7 +40,7 @@
"ipv4": [
{
"ip": "37.209.194.10",
"asn": 397213,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down
16 changes: 8 additions & 8 deletions data/generated/tld/abogado.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-16T03:38:30Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -40,7 +40,7 @@
"ipv4": [
{
"ip": "37.209.194.10",
"asn": 397213,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down Expand Up @@ -78,15 +78,15 @@
"ipv4": [
{
"ip": "156.154.172.82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
],
"ipv6": [
{
"ip": "2610:a1:1074::1:82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand All @@ -97,15 +97,15 @@
"ipv4": [
{
"ip": "156.154.173.82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
],
"ipv6": [
{
"ip": "2610:a1:1075::1:82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand All @@ -116,15 +116,15 @@
"ipv4": [
{
"ip": "156.154.174.82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
],
"ipv6": [
{
"ip": "2610:a1:1076::1:82",
"asn": 19905,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down
4 changes: 2 additions & 2 deletions data/generated/tld/abudhabi.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-16T03:38:30Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -40,7 +40,7 @@
"ipv4": [
{
"ip": "37.209.194.10",
"asn": 397213,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/ac.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -102,6 +102,7 @@
],
"annotations": {
"tld_manager_alias": "Identity Digital",
"tech_alias": "Identity Digital",
"rdap_source": "supplemental",
"country_name_iso": "Ascension Island",
"as_org_aliases": [
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/academy.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -139,6 +139,7 @@
],
"annotations": {
"tld_manager_alias": "Identity Digital",
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/accenture.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -139,6 +139,7 @@
"2024-03-31"
],
"annotations": {
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
4 changes: 2 additions & 2 deletions data/generated/tld/accountant.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-16T03:38:30Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -40,7 +40,7 @@
"ipv4": [
{
"ip": "37.209.194.10",
"asn": 397213,
"asn": 12008,
"as_org": "SECURITYSERVICES",
"as_country": "US"
}
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/accountants.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -139,6 +139,7 @@
],
"annotations": {
"tld_manager_alias": "Identity Digital",
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/actor.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -139,6 +139,7 @@
],
"annotations": {
"tld_manager_alias": "Identity Digital",
"tech_alias": "Identity Digital",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
3 changes: 2 additions & 1 deletion data/generated/tld/ads.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"description": "Per-TLD bootstrap data, from IANA sources",
"publication": "2026-05-15T19:11:17Z",
"publication": "2026-05-18T14:25:58Z",
"sources": {
"iana_root_db": "https://www.iana.org/domains/root/db",
"iana_rdap": "https://data.iana.org/rdap/dns.json"
Expand Down Expand Up @@ -120,6 +120,7 @@
],
"annotations": {
"tld_manager_alias": "Google Registry",
"tech_alias": "Google Registry",
"rdap_source": "IANA",
"registry_agreement_types": [
"base",
Expand Down
Loading