Skip to content

Commit 59cc352

Browse files
committed
Merge remote-tracking branch 'origin/main' into research/traffic-growth-causes
2 parents 81e6392 + 9ed1292 commit 59cc352

10 files changed

Lines changed: 403 additions & 95 deletions

File tree

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
## What do the domain extension types mean?
22

3-
The type is IANA's label for how an ending is run, and it hints at who can register under it.
3+
The type is IANA's label for an ending. Generic endings can still restrict who can register, as `.edu` and `.gov` do.
44

55
| Type | What it is |
66
| --- | --- |
7-
| generic | Most endings, such as `.com` and `.xyz`. Most arrived from 2013 on, through ICANN's New gTLD Program. Brand endings, such as `.bmw`, are used only by their owner. |
7+
| generic | Endings such as `.com`, `.xyz`, `.edu`, `.gov`, `.biz`, and `.pro`. Brand endings, such as `.bmw`, are used only by their owner. |
88
| country-code | Two-letter endings for a country or territory, such as `.uk`, plus versions in other scripts, such as `.中国`, shown with their `xn--` form. Each sets its own rules. |
9-
| sponsored | Endings for one community, such as `.edu` and `.gov`, often with eligibility rules. |
10-
| generic-restricted | Older generic endings that launched with limits on who could register, such as `.biz` and `.pro`. |
119
| infrastructure | `.arpa`, used for reverse DNS. You can't register a name under it. |

‎app/(site)/(directories)/tld-directory/tld-table.tsx‎

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ export type TldRow = {
1414
isIdn: boolean;
1515
};
1616

17-
const TYPES = ["generic", "country-code", "sponsored", "infrastructure", "generic-restricted", "test"];
1817
const PAGE_SIZE = 100;
1918

2019
export function TldTable({ rows }: { rows: TldRow[] }) {
@@ -24,6 +23,11 @@ export function TldTable({ rows }: { rows: TldRow[] }) {
2423
const [dnssec, setDnssec] = useState("");
2524
const [limit, setLimit] = useState(PAGE_SIZE);
2625

26+
const types = useMemo(
27+
() => [...new Set(rows.map((row) => row.type).filter((value): value is string => Boolean(value)))].sort(),
28+
[rows],
29+
);
30+
2731
const filtered = useMemo(() => {
2832
const needle = query.trim().toLowerCase().replace(/^\./, "");
2933
return rows.filter((row) => {
@@ -65,7 +69,7 @@ export function TldTable({ rows }: { rows: TldRow[] }) {
6569
<span>Type</span>
6670
<select onChange={(event) => setType(event.target.value)} value={type}>
6771
<option value="">All</option>
68-
{TYPES.map((entry) => (
72+
{types.map((entry) => (
6973
<option key={entry} value={entry}>
7074
{entry}
7175
</option>

‎lib/domain/data/public-suffix.json‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"source": "https://publicsuffix.org/list/public_suffix_list.dat",
3-
"fetchedAt": "2026-10-14",
3+
"fetchedAt": "2026-11-02",
44
"section": "ICANN",
55
"exceptions": [
66
"www.ck",
@@ -6252,7 +6252,6 @@
62526252
"health",
62536253
"healthcare",
62546254
"help",
6255-
"helsinki",
62566255
"here",
62576256
"hermes",
62586257
"hiphop",

‎lib/domain/data/rdap-bootstrap.json‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"source": "https://data.iana.org/rdap/dns.json",
3-
"fetchedAt": "2026-10-14",
4-
"publication": "2026-09-30T23:00:03Z",
3+
"fetchedAt": "2026-11-02",
4+
"publication": "2026-10-28T22:00:04Z",
55
"services": {
66
"kg": "http://rdap.cctld.kg/",
77
"mg": "http://rdap.nic.mg/",
@@ -399,7 +399,6 @@
399399
"hdfc": "https://rdap.identitydigital.services/rdap/",
400400
"hdfcbank": "https://rdap.identitydigital.services/rdap/",
401401
"healthcare": "https://rdap.identitydigital.services/rdap/",
402-
"helsinki": "https://rdap.identitydigital.services/rdap/",
403402
"hermes": "https://rdap.identitydigital.services/rdap/",
404403
"hkt": "https://rdap.identitydigital.services/rdap/",
405404
"hockey": "https://rdap.identitydigital.services/rdap/",
@@ -552,6 +551,7 @@
552551
"sarl": "https://rdap.identitydigital.services/rdap/",
553552
"saxo": "https://rdap.identitydigital.services/rdap/",
554553
"sbi": "https://rdap.identitydigital.services/rdap/",
554+
"sc": "https://rdap.identitydigital.services/rdap/",
555555
"scholarships": "https://rdap.identitydigital.services/rdap/",
556556
"school": "https://rdap.identitydigital.services/rdap/",
557557
"schule": "https://rdap.identitydigital.services/rdap/",

‎lib/domain/data/rdap-overrides.json‎

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -165,14 +165,6 @@
165165
"notFoundStatus": 404,
166166
"verifiedAt": "2026-10-14"
167167
},
168-
"sc": {
169-
"url": "https://rdap.identitydigital.services/rdap/",
170-
"operator": "Identity Digital",
171-
"verifiedWith": "nic.sc",
172-
"notFoundWith": "stack127-check-a7f8c9e2d4b6.sc",
173-
"notFoundStatus": 404,
174-
"verifiedAt": "2026-10-14"
175-
},
176168
"sh": {
177169
"url": "https://rdap.identitydigital.services/rdap/",
178170
"operator": "Identity Digital",

‎lib/domain/data/tld-directory.json‎

Lines changed: 28 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33
"rootDb": "https://www.iana.org/domains/root/db",
44
"rootZone": "https://www.internic.net/domain/root.zone"
55
},
6-
"fetchedAt": "2026-10-14",
7-
"tldListVersion": "2026101300",
6+
"fetchedAt": "2026-11-02",
7+
"tldListVersion": "2026110200",
88
"counts": {
9-
"total": 1437,
10-
"signed": 1351,
11-
"rdapCovered": 1229,
9+
"total": 1436,
10+
"signed": 1350,
11+
"rdapCovered": 1228,
1212
"whoisCovered": 77,
13-
"lookupCovered": 1306,
13+
"lookupCovered": 1305,
1414
"uncovered": 131,
1515
"unassigned": 0,
1616
"missingType": 0
@@ -292,7 +292,7 @@
292292
{
293293
"tld": "aero",
294294
"unicode": null,
295-
"type": "sponsored",
295+
"type": "generic",
296296
"organisation": "Societe Internationale de Telecommunications Aeronautique (SITA INC USA)",
297297
"assigned": true,
298298
"rdap": "bootstrap",
@@ -955,7 +955,7 @@
955955
{
956956
"tld": "asia",
957957
"unicode": null,
958-
"type": "sponsored",
958+
"type": "generic",
959959
"organisation": "DotAsia Organisation Ltd.",
960960
"assigned": true,
961961
"rdap": "bootstrap",
@@ -1761,7 +1761,7 @@
17611761
{
17621762
"tld": "biz",
17631763
"unicode": null,
1764-
"type": "generic-restricted",
1764+
"type": "generic",
17651765
"organisation": "Registry Services, LLC",
17661766
"assigned": true,
17671767
"rdap": "bootstrap",
@@ -2684,7 +2684,7 @@
26842684
{
26852685
"tld": "cat",
26862686
"unicode": null,
2687-
"type": "sponsored",
2687+
"type": "generic",
26882688
"organisation": "Fundacio puntCAT",
26892689
"assigned": true,
26902690
"rdap": "bootstrap",
@@ -3361,7 +3361,7 @@
33613361
"tld": "cologne",
33623362
"unicode": null,
33633363
"type": "generic",
3364-
"organisation": "dotKoeln GmbH",
3364+
"organisation": "domainworx Service & Management GmbH",
33653365
"assigned": true,
33663366
"rdap": "bootstrap",
33673367
"rdapOperator": null,
@@ -3555,7 +3555,7 @@
35553555
{
35563556
"tld": "coop",
35573557
"unicode": null,
3558-
"type": "sponsored",
3558+
"type": "generic",
35593559
"organisation": "DotCooperation LLC",
35603560
"assigned": true,
35613561
"rdap": "bootstrap",
@@ -4634,7 +4634,7 @@
46344634
{
46354635
"tld": "edu",
46364636
"unicode": null,
4637-
"type": "sponsored",
4637+
"type": "generic",
46384638
"organisation": "EDUCAUSE",
46394639
"assigned": true,
46404640
"rdap": "whois",
@@ -6415,7 +6415,7 @@
64156415
{
64166416
"tld": "gov",
64176417
"unicode": null,
6418-
"type": "sponsored",
6418+
"type": "generic",
64196419
"organisation": "Cybersecurity and Infrastructure Security Agency",
64206420
"assigned": true,
64216421
"rdap": "bootstrap",
@@ -6815,19 +6815,6 @@
68156815
"dnssec": true,
68166816
"isIdn": false
68176817
},
6818-
{
6819-
"tld": "helsinki",
6820-
"unicode": null,
6821-
"type": "generic",
6822-
"organisation": "City of Helsinki",
6823-
"assigned": true,
6824-
"rdap": "bootstrap",
6825-
"rdapOperator": null,
6826-
"lookupSource": "bootstrap",
6827-
"lookupHost": "rdap.identitydigital.services",
6828-
"dnssec": true,
6829-
"isIdn": false
6830-
},
68316818
{
68326819
"tld": "here",
68336820
"unicode": null,
@@ -7598,7 +7585,7 @@
75987585
{
75997586
"tld": "int",
76007587
"unicode": null,
7601-
"type": "sponsored",
7588+
"type": "generic",
76027589
"organisation": "Internet Assigned Numbers Authority",
76037590
"assigned": true,
76047591
"rdap": "bootstrap",
@@ -7975,7 +7962,7 @@
79757962
{
79767963
"tld": "jobs",
79777964
"unicode": null,
7978-
"type": "sponsored",
7965+
"type": "generic",
79797966
"organisation": "Employ Media LLC",
79807967
"assigned": true,
79817968
"rdap": "bootstrap",
@@ -8301,7 +8288,7 @@
83018288
"tld": "koeln",
83028289
"unicode": null,
83038290
"type": "generic",
8304-
"organisation": "dotKoeln GmbH",
8291+
"organisation": "domainworx Service & Management GmbH",
83058292
"assigned": true,
83068293
"rdap": "bootstrap",
83078294
"rdapOperator": null,
@@ -9730,7 +9717,7 @@
97309717
{
97319718
"tld": "mil",
97329719
"unicode": null,
9733-
"type": "sponsored",
9720+
"type": "generic",
97349721
"organisation": "DoD Network Information Center",
97359722
"assigned": true,
97369723
"rdap": "none",
@@ -10224,7 +10211,7 @@
1022410211
{
1022510212
"tld": "museum",
1022610213
"unicode": null,
10227-
"type": "sponsored",
10214+
"type": "generic",
1022810215
"organisation": "Museum Domain Management Association",
1022910216
"assigned": true,
1023010217
"rdap": "bootstrap",
@@ -10354,7 +10341,7 @@
1035410341
{
1035510342
"tld": "name",
1035610343
"unicode": null,
10357-
"type": "generic-restricted",
10344+
"type": "generic",
1035810345
"organisation": "VeriSign Information Services, Inc.",
1035910346
"assigned": true,
1036010347
"rdap": "bootstrap",
@@ -11836,7 +11823,7 @@
1183611823
{
1183711824
"tld": "post",
1183811825
"unicode": null,
11839-
"type": "sponsored",
11826+
"type": "generic",
1184011827
"organisation": "Universal Postal Union",
1184111828
"assigned": true,
1184211829
"rdap": "bootstrap",
@@ -11901,7 +11888,7 @@
1190111888
{
1190211889
"tld": "pro",
1190311890
"unicode": null,
11904-
"type": "generic-restricted",
11891+
"type": "generic",
1190511892
"organisation": "Identity Digital Limited",
1190611893
"assigned": true,
1190711894
"rdap": "bootstrap",
@@ -13035,9 +13022,9 @@
1303513022
"type": "country-code",
1303613023
"organisation": "VCS Pty Ltd",
1303713024
"assigned": true,
13038-
"rdap": "override",
13039-
"rdapOperator": "Identity Digital",
13040-
"lookupSource": "override",
13025+
"rdap": "bootstrap",
13026+
"rdapOperator": null,
13027+
"lookupSource": "bootstrap",
1304113028
"lookupHost": "rdap.identitydigital.services",
1304213029
"dnssec": true,
1304313030
"isIdn": false
@@ -14605,7 +14592,7 @@
1460514592
{
1460614593
"tld": "tel",
1460714594
"unicode": null,
14608-
"type": "sponsored",
14595+
"type": "generic",
1460914596
"organisation": "Telnames Ltd.",
1461014597
"assigned": true,
1461114598
"rdap": "bootstrap",
@@ -15138,7 +15125,7 @@
1513815125
{
1513915126
"tld": "travel",
1514015127
"unicode": null,
15141-
"type": "sponsored",
15128+
"type": "generic",
1514215129
"organisation": "Dog Beach, LLC",
1514315130
"assigned": true,
1514415131
"rdap": "bootstrap",
@@ -18401,7 +18388,7 @@
1840118388
{
1840218389
"tld": "xxx",
1840318390
"unicode": null,
18404-
"type": "sponsored",
18391+
"type": "generic",
1840518392
"organisation": "ICM Registry LLC",
1840618393
"assigned": true,
1840718394
"rdap": "bootstrap",

‎lib/domain/data/tlds.json‎

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"source": "https://data.iana.org/TLD/tlds-alpha-by-domain.txt",
3-
"fetchedAt": "2026-10-14",
4-
"version": "2026101300",
3+
"fetchedAt": "2026-11-02",
4+
"version": "2026110200",
55
"tlds": [
66
"aaa",
77
"aarp",
@@ -526,7 +526,6 @@
526526
"health",
527527
"healthcare",
528528
"help",
529-
"helsinki",
530529
"here",
531530
"hermes",
532531
"hiphop",

0 commit comments

Comments
 (0)