From 75abe7da1bc9e7526068a46e1c2a62b98312096d Mon Sep 17 00:00:00 2001 From: Karl Seguin Date: Thu, 29 Jan 2026 20:54:53 +0800 Subject: [PATCH] Update the public suffix list --- src/data/public_suffix_list.zig | 589 +++++++++++++++++++++++------ src/data/public_suffix_list_gen.go | 14 +- 2 files changed, 488 insertions(+), 115 deletions(-) diff --git a/src/data/public_suffix_list.zig b/src/data/public_suffix_list.zig index 16eb145d..f53df918 100644 --- a/src/data/public_suffix_list.zig +++ b/src/data/public_suffix_list.zig @@ -171,6 +171,7 @@ const entries: []const struct { []const u8, void } = .{ "mutual.ar", {} }, .{ "net.ar", {} }, .{ "org.ar", {} }, + .{ "seg.ar", {} }, .{ "senasa.ar", {} }, .{ "tur.ar", {} }, .{ "arpa", {} }, @@ -222,7 +223,6 @@ const entries: []const struct { []const u8, void } = .{ "tas.gov.au", {} }, .{ "vic.gov.au", {} }, .{ "wa.gov.au", {} }, - .{ "schools.nsw.edu.au", {} }, .{ "aw", {} }, .{ "com.aw", {} }, .{ "ax", {} }, @@ -258,7 +258,21 @@ const entries: []const struct { []const u8, void } = .{ "org.bb", {} }, .{ "store.bb", {} }, .{ "tv.bb", {} }, - .{ "*.bd", {} }, + .{ "bd", {} }, + .{ "ac.bd", {} }, + .{ "ai.bd", {} }, + .{ "co.bd", {} }, + .{ "com.bd", {} }, + .{ "edu.bd", {} }, + .{ "gov.bd", {} }, + .{ "id.bd", {} }, + .{ "info.bd", {} }, + .{ "it.bd", {} }, + .{ "mil.bd", {} }, + .{ "net.bd", {} }, + .{ "org.bd", {} }, + .{ "sch.bd", {} }, + .{ "tv.bd", {} }, .{ "be", {} }, .{ "ac.be", {} }, .{ "bf", {} }, @@ -398,6 +412,7 @@ const entries: []const struct { []const u8, void } = .{ "am.br", {} }, .{ "anani.br", {} }, .{ "aparecida.br", {} }, + .{ "api.br", {} }, .{ "app.br", {} }, .{ "arq.br", {} }, .{ "art.br", {} }, @@ -482,6 +497,7 @@ const entries: []const struct { []const u8, void } = .{ "sp.gov.br", {} }, .{ "to.gov.br", {} }, .{ "gru.br", {} }, + .{ "ia.br", {} }, .{ "imb.br", {} }, .{ "ind.br", {} }, .{ "inf.br", {} }, @@ -542,6 +558,7 @@ const entries: []const struct { []const u8, void } = .{ "sjc.br", {} }, .{ "slg.br", {} }, .{ "slz.br", {} }, + .{ "social.br", {} }, .{ "sorocaba.br", {} }, .{ "srv.br", {} }, .{ "taxi.br", {} }, @@ -558,6 +575,7 @@ const entries: []const struct { []const u8, void } = .{ "vix.br", {} }, .{ "vlog.br", {} }, .{ "wiki.br", {} }, + .{ "xyz.br", {} }, .{ "zlg.br", {} }, .{ "bs", {} }, .{ "com.bs", {} }, @@ -740,6 +758,7 @@ const entries: []const struct { []const u8, void } = .{ "pro.cy", {} }, .{ "tm.cy", {} }, .{ "cz", {} }, + .{ "gov.cz", {} }, .{ "de", {} }, .{ "dj", {} }, .{ "dk", {} }, @@ -773,18 +792,57 @@ const entries: []const struct { []const u8, void } = .{ "soc.dz", {} }, .{ "tm.dz", {} }, .{ "ec", {} }, + .{ "abg.ec", {} }, + .{ "adm.ec", {} }, + .{ "agron.ec", {} }, + .{ "arqt.ec", {} }, + .{ "art.ec", {} }, + .{ "bar.ec", {} }, + .{ "chef.ec", {} }, .{ "com.ec", {} }, + .{ "cont.ec", {} }, + .{ "cpa.ec", {} }, + .{ "cue.ec", {} }, + .{ "dent.ec", {} }, + .{ "dgn.ec", {} }, + .{ "disco.ec", {} }, + .{ "doc.ec", {} }, .{ "edu.ec", {} }, + .{ "eng.ec", {} }, + .{ "esm.ec", {} }, .{ "fin.ec", {} }, + .{ "fot.ec", {} }, + .{ "gal.ec", {} }, .{ "gob.ec", {} }, .{ "gov.ec", {} }, + .{ "gye.ec", {} }, + .{ "ibr.ec", {} }, .{ "info.ec", {} }, .{ "k12.ec", {} }, + .{ "lat.ec", {} }, + .{ "loj.ec", {} }, .{ "med.ec", {} }, .{ "mil.ec", {} }, + .{ "mktg.ec", {} }, + .{ "mon.ec", {} }, .{ "net.ec", {} }, + .{ "ntr.ec", {} }, + .{ "odont.ec", {} }, .{ "org.ec", {} }, .{ "pro.ec", {} }, + .{ "prof.ec", {} }, + .{ "psic.ec", {} }, + .{ "psiq.ec", {} }, + .{ "pub.ec", {} }, + .{ "rio.ec", {} }, + .{ "rrpp.ec", {} }, + .{ "sal.ec", {} }, + .{ "tech.ec", {} }, + .{ "tul.ec", {} }, + .{ "tur.ec", {} }, + .{ "uio.ec", {} }, + .{ "vet.ec", {} }, + .{ "xxx.ec", {} }, .{ "edu", {} }, .{ "ee", {} }, .{ "aip.ee", {} }, @@ -835,7 +893,9 @@ const entries: []const struct { []const u8, void } = .{ "ac.fj", {} }, .{ "biz.fj", {} }, .{ "com.fj", {} }, + .{ "edu.fj", {} }, .{ "gov.fj", {} }, + .{ "id.fj", {} }, .{ "info.fj", {} }, .{ "mil.fj", {} }, .{ "name.fj", {} }, @@ -879,10 +939,12 @@ const entries: []const struct { []const u8, void } = .{ "net.gg", {} }, .{ "org.gg", {} }, .{ "gh", {} }, + .{ "biz.gh", {} }, .{ "com.gh", {} }, .{ "edu.gh", {} }, .{ "gov.gh", {} }, .{ "mil.gh", {} }, + .{ "net.gh", {} }, .{ "org.gh", {} }, .{ "gi", {} }, .{ "com.gi", {} }, @@ -1037,6 +1099,7 @@ const entries: []const struct { []const u8, void } = .{ "co.id", {} }, .{ "desa.id", {} }, .{ "go.id", {} }, + .{ "kop.id", {} }, .{ "mil.id", {} }, .{ "my.id", {} }, .{ "net.id", {} }, @@ -1044,6 +1107,7 @@ const entries: []const struct { []const u8, void } = .{ "ponpes.id", {} }, .{ "sch.id", {} }, .{ "web.id", {} }, + .{ "ᬩᬮᬶ.id", {} }, .{ "ie", {} }, .{ "gov.ie", {} }, .{ "il", {} }, @@ -1076,6 +1140,7 @@ const entries: []const struct { []const u8, void } = .{ "ac.in", {} }, .{ "ai.in", {} }, .{ "am.in", {} }, + .{ "bank.in", {} }, .{ "bihar.in", {} }, .{ "biz.in", {} }, .{ "business.in", {} }, @@ -1089,6 +1154,7 @@ const entries: []const struct { []const u8, void } = .{ "dr.in", {} }, .{ "edu.in", {} }, .{ "er.in", {} }, + .{ "fin.in", {} }, .{ "firm.in", {} }, .{ "gen.in", {} }, .{ "gov.in", {} }, @@ -3419,11 +3485,15 @@ const entries: []const struct { []const u8, void } = .{ "tra.kp", {} }, .{ "kr", {} }, .{ "ac.kr", {} }, + .{ "ai.kr", {} }, .{ "co.kr", {} }, .{ "es.kr", {} }, .{ "go.kr", {} }, .{ "hs.kr", {} }, + .{ "io.kr", {} }, + .{ "it.kr", {} }, .{ "kg.kr", {} }, + .{ "me.kr", {} }, .{ "mil.kr", {} }, .{ "ms.kr", {} }, .{ "ne.kr", {} }, @@ -3924,8 +3994,6 @@ const entries: []const struct { []const u8, void } = .{ "bievát.no", {} }, .{ "bindal.no", {} }, .{ "birkenes.no", {} }, - .{ "bjarkoy.no", {} }, - .{ "bjarkøy.no", {} }, .{ "bjerkreim.no", {} }, .{ "bjugn.no", {} }, .{ "bodo.no", {} }, @@ -4202,7 +4270,6 @@ const entries: []const struct { []const u8, void } = .{ "sande.møre-og-romsdal.no", {} }, .{ "moskenes.no", {} }, .{ "moss.no", {} }, - .{ "mosvik.no", {} }, .{ "muosat.no", {} }, .{ "muosát.no", {} }, .{ "naamesjevuemie.no", {} }, @@ -4973,6 +5040,7 @@ const entries: []const struct { []const u8, void } = .{ "si", {} }, .{ "sj", {} }, .{ "sk", {} }, + .{ "org.sk", {} }, .{ "sl", {} }, .{ "com.sl", {} }, .{ "edu.sl", {} }, @@ -4986,7 +5054,6 @@ const entries: []const struct { []const u8, void } = .{ "edu.sn", {} }, .{ "gouv.sn", {} }, .{ "org.sn", {} }, - .{ "perso.sn", {} }, .{ "univ.sn", {} }, .{ "so", {} }, .{ "com.so", {} }, @@ -5393,94 +5460,93 @@ const entries: []const struct { []const u8, void } = .{ "lib.dc.us", {} }, .{ "cc.de.us", {} }, .{ "cc.fl.us", {} }, + .{ "lib.fl.us", {} }, .{ "cc.ga.us", {} }, + .{ "lib.ga.us", {} }, .{ "cc.gu.us", {} }, + .{ "lib.gu.us", {} }, .{ "cc.hi.us", {} }, + .{ "lib.hi.us", {} }, .{ "cc.ia.us", {} }, + .{ "lib.ia.us", {} }, .{ "cc.id.us", {} }, + .{ "lib.id.us", {} }, .{ "cc.il.us", {} }, + .{ "lib.il.us", {} }, .{ "cc.in.us", {} }, + .{ "lib.in.us", {} }, .{ "cc.ks.us", {} }, + .{ "lib.ks.us", {} }, .{ "cc.ky.us", {} }, + .{ "lib.ky.us", {} }, .{ "cc.la.us", {} }, + .{ "lib.la.us", {} }, .{ "cc.ma.us", {} }, + .{ "lib.ma.us", {} }, .{ "cc.md.us", {} }, + .{ "lib.md.us", {} }, .{ "cc.me.us", {} }, + .{ "lib.me.us", {} }, .{ "cc.mi.us", {} }, + .{ "lib.mi.us", {} }, .{ "cc.mn.us", {} }, + .{ "lib.mn.us", {} }, .{ "cc.mo.us", {} }, + .{ "lib.mo.us", {} }, .{ "cc.ms.us", {} }, .{ "cc.mt.us", {} }, + .{ "lib.mt.us", {} }, .{ "cc.nc.us", {} }, + .{ "lib.nc.us", {} }, .{ "cc.nd.us", {} }, + .{ "lib.nd.us", {} }, .{ "cc.ne.us", {} }, + .{ "lib.ne.us", {} }, .{ "cc.nh.us", {} }, + .{ "lib.nh.us", {} }, .{ "cc.nj.us", {} }, + .{ "lib.nj.us", {} }, .{ "cc.nm.us", {} }, + .{ "lib.nm.us", {} }, .{ "cc.nv.us", {} }, + .{ "lib.nv.us", {} }, .{ "cc.ny.us", {} }, + .{ "lib.ny.us", {} }, .{ "cc.oh.us", {} }, + .{ "lib.oh.us", {} }, .{ "cc.ok.us", {} }, + .{ "lib.ok.us", {} }, .{ "cc.or.us", {} }, + .{ "lib.or.us", {} }, .{ "cc.pa.us", {} }, + .{ "lib.pa.us", {} }, .{ "cc.pr.us", {} }, + .{ "lib.pr.us", {} }, .{ "cc.ri.us", {} }, + .{ "lib.ri.us", {} }, .{ "cc.sc.us", {} }, + .{ "lib.sc.us", {} }, .{ "cc.sd.us", {} }, + .{ "lib.sd.us", {} }, .{ "cc.tn.us", {} }, + .{ "lib.tn.us", {} }, .{ "cc.tx.us", {} }, + .{ "lib.tx.us", {} }, .{ "cc.ut.us", {} }, + .{ "lib.ut.us", {} }, .{ "cc.va.us", {} }, + .{ "lib.va.us", {} }, .{ "cc.vi.us", {} }, + .{ "lib.vi.us", {} }, .{ "cc.vt.us", {} }, + .{ "lib.vt.us", {} }, .{ "cc.wa.us", {} }, + .{ "lib.wa.us", {} }, .{ "cc.wi.us", {} }, + .{ "lib.wi.us", {} }, .{ "cc.wv.us", {} }, .{ "cc.wy.us", {} }, .{ "k12.wy.us", {} }, - .{ "lib.fl.us", {} }, - .{ "lib.ga.us", {} }, - .{ "lib.gu.us", {} }, - .{ "lib.hi.us", {} }, - .{ "lib.ia.us", {} }, - .{ "lib.id.us", {} }, - .{ "lib.il.us", {} }, - .{ "lib.in.us", {} }, - .{ "lib.ks.us", {} }, - .{ "lib.ky.us", {} }, - .{ "lib.la.us", {} }, - .{ "lib.ma.us", {} }, - .{ "lib.md.us", {} }, - .{ "lib.me.us", {} }, - .{ "lib.mi.us", {} }, - .{ "lib.mn.us", {} }, - .{ "lib.mo.us", {} }, - .{ "lib.ms.us", {} }, - .{ "lib.mt.us", {} }, - .{ "lib.nc.us", {} }, - .{ "lib.nd.us", {} }, - .{ "lib.ne.us", {} }, - .{ "lib.nh.us", {} }, - .{ "lib.nj.us", {} }, - .{ "lib.nm.us", {} }, - .{ "lib.nv.us", {} }, - .{ "lib.ny.us", {} }, - .{ "lib.oh.us", {} }, - .{ "lib.ok.us", {} }, - .{ "lib.or.us", {} }, - .{ "lib.pa.us", {} }, - .{ "lib.pr.us", {} }, - .{ "lib.ri.us", {} }, - .{ "lib.sc.us", {} }, - .{ "lib.sd.us", {} }, - .{ "lib.tn.us", {} }, - .{ "lib.tx.us", {} }, - .{ "lib.ut.us", {} }, - .{ "lib.va.us", {} }, - .{ "lib.vi.us", {} }, - .{ "lib.vt.us", {} }, - .{ "lib.wa.us", {} }, - .{ "lib.wi.us", {} }, .{ "lib.wy.us", {} }, .{ "chtr.k12.ma.us", {} }, .{ "paroch.k12.ma.us", {} }, @@ -5524,6 +5590,7 @@ const entries: []const struct { []const u8, void } = .{ "firm.ve", {} }, .{ "gob.ve", {} }, .{ "gov.ve", {} }, + .{ "ia.ve", {} }, .{ "info.ve", {} }, .{ "int.ve", {} }, .{ "mil.ve", {} }, @@ -5861,7 +5928,6 @@ const entries: []const struct { []const u8, void } = .{ "beats", {} }, .{ "beauty", {} }, .{ "beer", {} }, - .{ "bentley", {} }, .{ "berlin", {} }, .{ "best", {} }, .{ "bestbuy", {} }, @@ -6045,7 +6111,6 @@ const entries: []const struct { []const u8, void } = .{ "drive", {} }, .{ "dtv", {} }, .{ "dubai", {} }, - .{ "dunlop", {} }, .{ "dupont", {} }, .{ "durban", {} }, .{ "dvag", {} }, @@ -6211,6 +6276,7 @@ const entries: []const struct { []const u8, void } = .{ "host", {} }, .{ "hosting", {} }, .{ "hot", {} }, + .{ "hotel", {} }, .{ "hotels", {} }, .{ "hotmail", {} }, .{ "house", {} }, @@ -6268,7 +6334,6 @@ const entries: []const struct { []const u8, void } = .{ "kaufen", {} }, .{ "kddi", {} }, .{ "kerryhotels", {} }, - .{ "kerrylogistics", {} }, .{ "kerryproperties", {} }, .{ "kfh", {} }, .{ "kia", {} }, @@ -6289,7 +6354,6 @@ const entries: []const struct { []const u8, void } = .{ "lacaixa", {} }, .{ "lamborghini", {} }, .{ "lamer", {} }, - .{ "lancaster", {} }, .{ "land", {} }, .{ "landrover", {} }, .{ "lanxess", {} }, @@ -6318,7 +6382,6 @@ const entries: []const struct { []const u8, void } = .{ "limo", {} }, .{ "lincoln", {} }, .{ "link", {} }, - .{ "lipsy", {} }, .{ "live", {} }, .{ "living", {} }, .{ "llc", {} }, @@ -6485,7 +6548,6 @@ const entries: []const struct { []const u8, void } = .{ "poker", {} }, .{ "politie", {} }, .{ "porn", {} }, - .{ "pramerica", {} }, .{ "praxi", {} }, .{ "press", {} }, .{ "prime", {} }, @@ -6512,7 +6574,6 @@ const entries: []const struct { []const u8, void } = .{ "realty", {} }, .{ "recipes", {} }, .{ "red", {} }, - .{ "redstone", {} }, .{ "redumbrella", {} }, .{ "rehab", {} }, .{ "reise", {} }, @@ -6889,7 +6950,6 @@ const entries: []const struct { []const u8, void } = .{ "poznan.pl", {} }, .{ "wroc.pl", {} }, .{ "zakopane.pl", {} }, - .{ "lib.de.us", {} }, .{ "12chars.dev", {} }, .{ "12chars.it", {} }, .{ "12chars.pro", {} }, @@ -6911,16 +6971,15 @@ const entries: []const struct { []const u8, void } = .{ "aem.live", {} }, .{ "hlx.live", {} }, .{ "adobeaemcloud.net", {} }, + .{ "aem.network", {} }, .{ "aem.page", {} }, .{ "hlx.page", {} }, - .{ "hlx3.page", {} }, + .{ "aem.reviews", {} }, .{ "adobeio-static.net", {} }, .{ "adobeioruntime.net", {} }, .{ "africa.com", {} }, + .{ "*.auiusercontent.com", {} }, .{ "beep.pl", {} }, - .{ "airkitapps.com", {} }, - .{ "airkitapps-au.com", {} }, - .{ "airkitapps.eu", {} }, .{ "aiven.app", {} }, .{ "aivencloud.com", {} }, .{ "akadns.net", {} }, @@ -6992,6 +7051,8 @@ const entries: []const struct { []const u8, void } = .{ "auth.ap-southeast-2.amazoncognito.com", {} }, .{ "auth.ap-southeast-3.amazoncognito.com", {} }, .{ "auth.ap-southeast-4.amazoncognito.com", {} }, + .{ "auth.ap-southeast-5.amazoncognito.com", {} }, + .{ "auth.ap-southeast-7.amazoncognito.com", {} }, .{ "auth.ca-central-1.amazoncognito.com", {} }, .{ "auth.ca-west-1.amazoncognito.com", {} }, .{ "auth.eu-central-1.amazoncognito.com", {} }, @@ -7005,16 +7066,19 @@ const entries: []const struct { []const u8, void } = .{ "auth.il-central-1.amazoncognito.com", {} }, .{ "auth.me-central-1.amazoncognito.com", {} }, .{ "auth.me-south-1.amazoncognito.com", {} }, + .{ "auth.mx-central-1.amazoncognito.com", {} }, .{ "auth.sa-east-1.amazoncognito.com", {} }, .{ "auth.us-east-1.amazoncognito.com", {} }, .{ "auth-fips.us-east-1.amazoncognito.com", {} }, .{ "auth.us-east-2.amazoncognito.com", {} }, .{ "auth-fips.us-east-2.amazoncognito.com", {} }, + .{ "auth-fips.us-gov-east-1.amazoncognito.com", {} }, .{ "auth-fips.us-gov-west-1.amazoncognito.com", {} }, .{ "auth.us-west-1.amazoncognito.com", {} }, .{ "auth-fips.us-west-1.amazoncognito.com", {} }, .{ "auth.us-west-2.amazoncognito.com", {} }, .{ "auth-fips.us-west-2.amazoncognito.com", {} }, + .{ "auth.cognito-idp.eusc-de-east-1.on.amazonwebservices.eu", {} }, .{ "*.compute.amazonaws.com.cn", {} }, .{ "*.compute.amazonaws.com", {} }, .{ "*.compute-1.amazonaws.com", {} }, @@ -7118,8 +7182,40 @@ const entries: []const struct { []const u8, void } = .{ "emrappui-prod.us-west-2.amazonaws.com", {} }, .{ "emrnotebooks-prod.us-west-2.amazonaws.com", {} }, .{ "emrstudio-prod.us-west-2.amazonaws.com", {} }, + .{ "*.airflow.af-south-1.on.aws", {} }, + .{ "*.airflow.ap-east-1.on.aws", {} }, + .{ "*.airflow.ap-northeast-1.on.aws", {} }, + .{ "*.airflow.ap-northeast-2.on.aws", {} }, + .{ "*.airflow.ap-northeast-3.on.aws", {} }, + .{ "*.airflow.ap-south-1.on.aws", {} }, + .{ "*.airflow.ap-south-2.on.aws", {} }, + .{ "*.airflow.ap-southeast-1.on.aws", {} }, + .{ "*.airflow.ap-southeast-2.on.aws", {} }, + .{ "*.airflow.ap-southeast-3.on.aws", {} }, + .{ "*.airflow.ap-southeast-4.on.aws", {} }, + .{ "*.airflow.ap-southeast-5.on.aws", {} }, + .{ "*.airflow.ca-central-1.on.aws", {} }, + .{ "*.airflow.ca-west-1.on.aws", {} }, + .{ "*.airflow.eu-central-1.on.aws", {} }, + .{ "*.airflow.eu-central-2.on.aws", {} }, + .{ "*.airflow.eu-north-1.on.aws", {} }, + .{ "*.airflow.eu-south-1.on.aws", {} }, + .{ "*.airflow.eu-south-2.on.aws", {} }, + .{ "*.airflow.eu-west-1.on.aws", {} }, + .{ "*.airflow.eu-west-2.on.aws", {} }, + .{ "*.airflow.eu-west-3.on.aws", {} }, + .{ "*.airflow.il-central-1.on.aws", {} }, + .{ "*.airflow.me-central-1.on.aws", {} }, + .{ "*.airflow.me-south-1.on.aws", {} }, + .{ "*.airflow.sa-east-1.on.aws", {} }, + .{ "*.airflow.us-east-1.on.aws", {} }, + .{ "*.airflow.us-east-2.on.aws", {} }, + .{ "*.airflow.us-west-1.on.aws", {} }, + .{ "*.airflow.us-west-2.on.aws", {} }, .{ "*.cn-north-1.airflow.amazonaws.com.cn", {} }, .{ "*.cn-northwest-1.airflow.amazonaws.com.cn", {} }, + .{ "*.airflow.cn-north-1.on.amazonwebservices.com.cn", {} }, + .{ "*.airflow.cn-northwest-1.on.amazonwebservices.com.cn", {} }, .{ "*.af-south-1.airflow.amazonaws.com", {} }, .{ "*.ap-east-1.airflow.amazonaws.com", {} }, .{ "*.ap-northeast-1.airflow.amazonaws.com", {} }, @@ -7131,6 +7227,8 @@ const entries: []const struct { []const u8, void } = .{ "*.ap-southeast-2.airflow.amazonaws.com", {} }, .{ "*.ap-southeast-3.airflow.amazonaws.com", {} }, .{ "*.ap-southeast-4.airflow.amazonaws.com", {} }, + .{ "*.ap-southeast-5.airflow.amazonaws.com", {} }, + .{ "*.ap-southeast-7.airflow.amazonaws.com", {} }, .{ "*.ca-central-1.airflow.amazonaws.com", {} }, .{ "*.ca-west-1.airflow.amazonaws.com", {} }, .{ "*.eu-central-1.airflow.amazonaws.com", {} }, @@ -7149,6 +7247,42 @@ const entries: []const struct { []const u8, void } = .{ "*.us-east-2.airflow.amazonaws.com", {} }, .{ "*.us-west-1.airflow.amazonaws.com", {} }, .{ "*.us-west-2.airflow.amazonaws.com", {} }, + .{ "*.rds.cn-north-1.amazonaws.com.cn", {} }, + .{ "*.rds.cn-northwest-1.amazonaws.com.cn", {} }, + .{ "*.af-south-1.rds.amazonaws.com", {} }, + .{ "*.ap-east-1.rds.amazonaws.com", {} }, + .{ "*.ap-east-2.rds.amazonaws.com", {} }, + .{ "*.ap-northeast-1.rds.amazonaws.com", {} }, + .{ "*.ap-northeast-2.rds.amazonaws.com", {} }, + .{ "*.ap-northeast-3.rds.amazonaws.com", {} }, + .{ "*.ap-south-1.rds.amazonaws.com", {} }, + .{ "*.ap-south-2.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-1.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-2.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-3.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-4.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-5.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-6.rds.amazonaws.com", {} }, + .{ "*.ap-southeast-7.rds.amazonaws.com", {} }, + .{ "*.ca-central-1.rds.amazonaws.com", {} }, + .{ "*.ca-west-1.rds.amazonaws.com", {} }, + .{ "*.eu-central-1.rds.amazonaws.com", {} }, + .{ "*.eu-central-2.rds.amazonaws.com", {} }, + .{ "*.eu-west-1.rds.amazonaws.com", {} }, + .{ "*.eu-west-2.rds.amazonaws.com", {} }, + .{ "*.eu-west-3.rds.amazonaws.com", {} }, + .{ "*.il-central-1.rds.amazonaws.com", {} }, + .{ "*.me-central-1.rds.amazonaws.com", {} }, + .{ "*.me-south-1.rds.amazonaws.com", {} }, + .{ "*.mx-central-1.rds.amazonaws.com", {} }, + .{ "*.sa-east-1.rds.amazonaws.com", {} }, + .{ "*.us-east-1.rds.amazonaws.com", {} }, + .{ "*.us-east-2.rds.amazonaws.com", {} }, + .{ "*.us-gov-east-1.rds.amazonaws.com", {} }, + .{ "*.us-gov-west-1.rds.amazonaws.com", {} }, + .{ "*.us-northeast-1.rds.amazonaws.com", {} }, + .{ "*.us-west-1.rds.amazonaws.com", {} }, + .{ "*.us-west-2.rds.amazonaws.com", {} }, .{ "s3.dualstack.cn-north-1.amazonaws.com.cn", {} }, .{ "s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn", {} }, .{ "s3-website.dualstack.cn-north-1.amazonaws.com.cn", {} }, @@ -7414,6 +7548,7 @@ const entries: []const struct { []const u8, void } = .{ "s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com", {} }, .{ "s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com", {} }, .{ "s3-fips.dualstack.us-gov-east-1.amazonaws.com", {} }, + .{ "s3-website.dualstack.us-gov-east-1.amazonaws.com", {} }, .{ "s3.us-gov-east-1.amazonaws.com", {} }, .{ "s3-accesspoint.us-gov-east-1.amazonaws.com", {} }, .{ "s3-accesspoint-fips.us-gov-east-1.amazonaws.com", {} }, @@ -7424,6 +7559,7 @@ const entries: []const struct { []const u8, void } = .{ "s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com", {} }, .{ "s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com", {} }, .{ "s3-fips.dualstack.us-gov-west-1.amazonaws.com", {} }, + .{ "s3-website.dualstack.us-gov-west-1.amazonaws.com", {} }, .{ "s3.us-gov-west-1.amazonaws.com", {} }, .{ "s3-accesspoint.us-gov-west-1.amazonaws.com", {} }, .{ "s3-accesspoint-fips.us-gov-west-1.amazonaws.com", {} }, @@ -7629,14 +7765,18 @@ const entries: []const struct { []const u8, void } = .{ "ap-southeast-1.elasticbeanstalk.com", {} }, .{ "ap-southeast-2.elasticbeanstalk.com", {} }, .{ "ap-southeast-3.elasticbeanstalk.com", {} }, + .{ "ap-southeast-5.elasticbeanstalk.com", {} }, + .{ "ap-southeast-7.elasticbeanstalk.com", {} }, .{ "ca-central-1.elasticbeanstalk.com", {} }, .{ "eu-central-1.elasticbeanstalk.com", {} }, .{ "eu-north-1.elasticbeanstalk.com", {} }, .{ "eu-south-1.elasticbeanstalk.com", {} }, + .{ "eu-south-2.elasticbeanstalk.com", {} }, .{ "eu-west-1.elasticbeanstalk.com", {} }, .{ "eu-west-2.elasticbeanstalk.com", {} }, .{ "eu-west-3.elasticbeanstalk.com", {} }, .{ "il-central-1.elasticbeanstalk.com", {} }, + .{ "me-central-1.elasticbeanstalk.com", {} }, .{ "me-south-1.elasticbeanstalk.com", {} }, .{ "sa-east-1.elasticbeanstalk.com", {} }, .{ "us-east-1.elasticbeanstalk.com", {} }, @@ -7648,24 +7788,94 @@ const entries: []const struct { []const u8, void } = .{ "*.elb.amazonaws.com.cn", {} }, .{ "*.elb.amazonaws.com", {} }, .{ "awsglobalaccelerator.com", {} }, + .{ "lambda-url.af-south-1.on.aws", {} }, + .{ "lambda-url.ap-east-1.on.aws", {} }, + .{ "lambda-url.ap-northeast-1.on.aws", {} }, + .{ "lambda-url.ap-northeast-2.on.aws", {} }, + .{ "lambda-url.ap-northeast-3.on.aws", {} }, + .{ "lambda-url.ap-south-1.on.aws", {} }, + .{ "lambda-url.ap-southeast-1.on.aws", {} }, + .{ "lambda-url.ap-southeast-2.on.aws", {} }, + .{ "lambda-url.ap-southeast-3.on.aws", {} }, + .{ "lambda-url.ca-central-1.on.aws", {} }, + .{ "lambda-url.eu-central-1.on.aws", {} }, + .{ "lambda-url.eu-north-1.on.aws", {} }, + .{ "lambda-url.eu-south-1.on.aws", {} }, + .{ "lambda-url.eu-west-1.on.aws", {} }, + .{ "lambda-url.eu-west-2.on.aws", {} }, + .{ "lambda-url.eu-west-3.on.aws", {} }, + .{ "lambda-url.me-south-1.on.aws", {} }, + .{ "lambda-url.sa-east-1.on.aws", {} }, + .{ "lambda-url.us-east-1.on.aws", {} }, + .{ "lambda-url.us-east-2.on.aws", {} }, + .{ "lambda-url.us-west-1.on.aws", {} }, + .{ "lambda-url.us-west-2.on.aws", {} }, .{ "*.private.repost.aws", {} }, + .{ "transfer-webapp.af-south-1.on.aws", {} }, + .{ "transfer-webapp.ap-east-1.on.aws", {} }, .{ "transfer-webapp.ap-northeast-1.on.aws", {} }, + .{ "transfer-webapp.ap-northeast-2.on.aws", {} }, + .{ "transfer-webapp.ap-northeast-3.on.aws", {} }, + .{ "transfer-webapp.ap-south-1.on.aws", {} }, + .{ "transfer-webapp.ap-south-2.on.aws", {} }, .{ "transfer-webapp.ap-southeast-1.on.aws", {} }, .{ "transfer-webapp.ap-southeast-2.on.aws", {} }, + .{ "transfer-webapp.ap-southeast-3.on.aws", {} }, + .{ "transfer-webapp.ap-southeast-4.on.aws", {} }, + .{ "transfer-webapp.ap-southeast-5.on.aws", {} }, + .{ "transfer-webapp.ap-southeast-7.on.aws", {} }, + .{ "transfer-webapp.ca-central-1.on.aws", {} }, + .{ "transfer-webapp.ca-west-1.on.aws", {} }, .{ "transfer-webapp.eu-central-1.on.aws", {} }, + .{ "transfer-webapp.eu-central-2.on.aws", {} }, .{ "transfer-webapp.eu-north-1.on.aws", {} }, + .{ "transfer-webapp.eu-south-1.on.aws", {} }, + .{ "transfer-webapp.eu-south-2.on.aws", {} }, .{ "transfer-webapp.eu-west-1.on.aws", {} }, + .{ "transfer-webapp.eu-west-2.on.aws", {} }, + .{ "transfer-webapp.eu-west-3.on.aws", {} }, + .{ "transfer-webapp.il-central-1.on.aws", {} }, + .{ "transfer-webapp.me-central-1.on.aws", {} }, + .{ "transfer-webapp.me-south-1.on.aws", {} }, + .{ "transfer-webapp.mx-central-1.on.aws", {} }, + .{ "transfer-webapp.sa-east-1.on.aws", {} }, .{ "transfer-webapp.us-east-1.on.aws", {} }, .{ "transfer-webapp.us-east-2.on.aws", {} }, + .{ "transfer-webapp.us-gov-east-1.on.aws", {} }, + .{ "transfer-webapp-fips.us-gov-east-1.on.aws", {} }, + .{ "transfer-webapp.us-gov-west-1.on.aws", {} }, + .{ "transfer-webapp-fips.us-gov-west-1.on.aws", {} }, + .{ "transfer-webapp.us-west-1.on.aws", {} }, .{ "transfer-webapp.us-west-2.on.aws", {} }, + .{ "transfer-webapp.cn-north-1.on.amazonwebservices.com.cn", {} }, + .{ "transfer-webapp.cn-northwest-1.on.amazonwebservices.com.cn", {} }, .{ "eero.online", {} }, .{ "eero-stage.online", {} }, + .{ "antagonist.cloud", {} }, .{ "apigee.io", {} }, .{ "panel.dev", {} }, .{ "siiites.com", {} }, + .{ "int.apple", {} }, + .{ "*.cloud.int.apple", {} }, + .{ "*.r.cloud.int.apple", {} }, + .{ "*.ap-north-1.r.cloud.int.apple", {} }, + .{ "*.ap-south-1.r.cloud.int.apple", {} }, + .{ "*.ap-south-2.r.cloud.int.apple", {} }, + .{ "*.eu-central-1.r.cloud.int.apple", {} }, + .{ "*.eu-north-1.r.cloud.int.apple", {} }, + .{ "*.us-central-1.r.cloud.int.apple", {} }, + .{ "*.us-central-2.r.cloud.int.apple", {} }, + .{ "*.us-east-1.r.cloud.int.apple", {} }, + .{ "*.us-east-2.r.cloud.int.apple", {} }, + .{ "*.us-west-1.r.cloud.int.apple", {} }, + .{ "*.us-west-2.r.cloud.int.apple", {} }, + .{ "*.us-west-3.r.cloud.int.apple", {} }, .{ "appspacehosted.com", {} }, .{ "appspaceusercontent.com", {} }, .{ "appudo.net", {} }, + .{ "appwrite.global", {} }, + .{ "appwrite.network", {} }, + .{ "*.appwrite.run", {} }, .{ "on-aptible.com", {} }, .{ "f5.si", {} }, .{ "arvanedge.ir", {} }, @@ -7679,10 +7889,8 @@ const entries: []const struct { []const u8, void } = .{ "sweetpepper.org", {} }, .{ "myasustor.com", {} }, .{ "cdn.prod.atlassian-dev.net", {} }, - .{ "translated.page", {} }, .{ "myfritz.link", {} }, .{ "myfritz.net", {} }, - .{ "onavstack.net", {} }, .{ "*.awdev.ca", {} }, .{ "*.advisor.ws", {} }, .{ "ecommerce-shop.pl", {} }, @@ -7699,6 +7907,7 @@ const entries: []const struct { []const u8, void } = .{ "shopselect.net", {} }, .{ "base.shop", {} }, .{ "beagleboard.io", {} }, + .{ "bearblog.dev", {} }, .{ "*.beget.app", {} }, .{ "pages.gay", {} }, .{ "bnr.la", {} }, @@ -7718,8 +7927,11 @@ const entries: []const struct { []const u8, void } = .{ "square7.net", {} }, .{ "brave.app", {} }, .{ "*.s.brave.app", {} }, + .{ "brave.dev", {} }, + .{ "*.s.brave.dev", {} }, .{ "brave.io", {} }, .{ "*.s.brave.io", {} }, + .{ "shop.brendly.ba", {} }, .{ "shop.brendly.hr", {} }, .{ "shop.brendly.rs", {} }, .{ "browsersafetymark.io", {} }, @@ -7727,14 +7939,19 @@ const entries: []const struct { []const u8, void } = .{ "radio.fm", {} }, .{ "cdn.bubble.io", {} }, .{ "bubbleapps.io", {} }, + .{ "*.bwcloud-os-instance.de", {} }, .{ "uk0.bigv.io", {} }, .{ "dh.bytemark.co.uk", {} }, .{ "vm.bytemark.co.uk", {} }, .{ "cafjs.com", {} }, .{ "canva-apps.cn", {} }, - .{ "*.my.canvasite.cn", {} }, + .{ "my.canvasite.cn", {} }, .{ "canva-apps.com", {} }, - .{ "*.my.canva.site", {} }, + .{ "canva-hosted-embed.com", {} }, + .{ "canvacode.com", {} }, + .{ "rice-labs.com", {} }, + .{ "canva.run", {} }, + .{ "my.canva.site", {} }, .{ "drr.ac", {} }, .{ "uwu.ai", {} }, .{ "carrd.co", {} }, @@ -7769,6 +7986,7 @@ const entries: []const struct { []const u8, void } = .{ "ae.org", {} }, .{ "com.se", {} }, .{ "cx.ua", {} }, + .{ "discourse.diy", {} }, .{ "discourse.group", {} }, .{ "discourse.team", {} }, .{ "clerk.app", {} }, @@ -7786,10 +8004,12 @@ const entries: []const struct { []const u8, void } = .{ "cloudns.be", {} }, .{ "cloud-ip.biz", {} }, .{ "cloudns.biz", {} }, + .{ "cloud-ip.cc", {} }, .{ "cloudns.cc", {} }, .{ "cloudns.ch", {} }, .{ "cloudns.cl", {} }, .{ "cloudns.club", {} }, + .{ "abrdns.com", {} }, .{ "dnsabr.com", {} }, .{ "ip-ddns.com", {} }, .{ "cloudns.cx", {} }, @@ -7808,7 +8028,6 @@ const entries: []const struct { []const u8, void } = .{ "cloudns.us", {} }, .{ "c66.me", {} }, .{ "cloud66.ws", {} }, - .{ "cloud66.zone", {} }, .{ "jdevcloud.com", {} }, .{ "wpdevcloud.com", {} }, .{ "cloudaccess.host", {} }, @@ -7816,6 +8035,7 @@ const entries: []const struct { []const u8, void } = .{ "cloudaccess.net", {} }, .{ "cloudbeesusercontent.io", {} }, .{ "*.cloudera.site", {} }, + .{ "cloudflare.app", {} }, .{ "cf-ipfs.com", {} }, .{ "cloudflare-ipfs.com", {} }, .{ "trycloudflare.com", {} }, @@ -7830,6 +8050,8 @@ const entries: []const struct { []const u8, void } = .{ "cust.cloudscale.ch", {} }, .{ "objects.lpg.cloudscale.ch", {} }, .{ "objects.rma.cloudscale.ch", {} }, + .{ "lpg.objectstorage.ch", {} }, + .{ "rma.objectstorage.ch", {} }, .{ "wnext.app", {} }, .{ "cnpy.gdn", {} }, .{ "*.otap.co", {} }, @@ -7840,15 +8062,20 @@ const entries: []const struct { []const u8, void } = .{ "preview.csb.app", {} }, .{ "co.nl", {} }, .{ "co.no", {} }, + .{ "*.devinapps.com", {} }, .{ "webhosting.be", {} }, + .{ "prvw.eu", {} }, .{ "hosting-cluster.nl", {} }, .{ "ctfcloud.net", {} }, + .{ "convex.app", {} }, + .{ "convex.cloud", {} }, .{ "convex.site", {} }, .{ "ac.ru", {} }, .{ "edu.ru", {} }, .{ "gov.ru", {} }, .{ "int.ru", {} }, .{ "mil.ru", {} }, + .{ "corespeed.app", {} }, .{ "dyn.cosidns.de", {} }, .{ "dnsupdater.de", {} }, .{ "dynamisches-dns.de", {} }, @@ -7896,26 +8123,51 @@ const entries: []const struct { []const u8, void } = .{ "definima.net", {} }, .{ "deno.dev", {} }, .{ "deno-staging.dev", {} }, + .{ "deno.net", {} }, .{ "dedyn.io", {} }, .{ "deta.app", {} }, .{ "deta.dev", {} }, + .{ "deuxfleurs.eu", {} }, + .{ "deuxfleurs.page", {} }, + .{ "*.at.ply.gg", {} }, + .{ "d6.ply.gg", {} }, + .{ "joinmc.link", {} }, + .{ "playit.plus", {} }, + .{ "*.at.playit.plus", {} }, + .{ "with.playit.plus", {} }, + .{ "icp0.io", {} }, + .{ "*.raw.icp0.io", {} }, + .{ "icp1.io", {} }, + .{ "*.raw.icp1.io", {} }, + .{ "*.icp.net", {} }, + .{ "caffeine.site", {} }, + .{ "caffeine.xyz", {} }, .{ "dfirma.pl", {} }, .{ "dkonto.pl", {} }, .{ "you2.pl", {} }, .{ "ondigitalocean.app", {} }, .{ "*.digitaloceanspaces.com", {} }, + .{ "qzz.io", {} }, .{ "us.kg", {} }, + .{ "xx.kg", {} }, + .{ "dpdns.org", {} }, .{ "discordsays.com", {} }, .{ "discordsez.com", {} }, .{ "jozi.biz", {} }, + .{ "ccwu.cc", {} }, + .{ "cc.cd", {} }, + .{ "us.ci", {} }, + .{ "de5.net", {} }, .{ "dnshome.de", {} }, .{ "online.th", {} }, .{ "shop.th", {} }, + .{ "co.scot", {} }, + .{ "me.scot", {} }, + .{ "org.scot", {} }, .{ "drayddns.com", {} }, .{ "shoparena.pl", {} }, .{ "dreamhosters.com", {} }, .{ "durumis.com", {} }, - .{ "mydrobo.com", {} }, .{ "duckdns.org", {} }, .{ "dy.fi", {} }, .{ "tunk.org", {} }, @@ -8228,11 +8480,17 @@ const entries: []const struct { []const u8, void } = .{ "rt.ht", {} }, .{ "elementor.cloud", {} }, .{ "elementor.cool", {} }, - .{ "en-root.fr", {} }, + .{ "emergent.cloud", {} }, + .{ "preview.emergentagent.com", {} }, + .{ "emergent.host", {} }, .{ "mytuleap.com", {} }, .{ "tuleap-partners.com", {} }, .{ "encr.app", {} }, + .{ "frontend.encr.app", {} }, .{ "encoreapi.com", {} }, + .{ "lp.dev", {} }, + .{ "api.lp.dev", {} }, + .{ "objects.lp.dev", {} }, .{ "eu.encoway.cloud", {} }, .{ "eu.org", {} }, .{ "al.eu.org", {} }, @@ -8403,16 +8661,17 @@ const entries: []const struct { []const u8, void } = .{ "app.os.stg.fedoraproject.org", {} }, .{ "mydobiss.com", {} }, .{ "fh-muenster.io", {} }, + .{ "figma.site", {} }, + .{ "figma-gov.site", {} }, + .{ "preview.site", {} }, .{ "filegear.me", {} }, .{ "firebaseapp.com", {} }, .{ "fldrv.com", {} }, .{ "on-fleek.app", {} }, .{ "flutterflow.app", {} }, + .{ "sprites.app", {} }, .{ "fly.dev", {} }, - .{ "shw.io", {} }, - .{ "edgeapp.net", {} }, - .{ "forgeblocks.com", {} }, - .{ "id.forgerock.io", {} }, + .{ "e2b.app", {} }, .{ "framer.ai", {} }, .{ "framer.app", {} }, .{ "framercanvas.com", {} }, @@ -8454,6 +8713,8 @@ const entries: []const struct { []const u8, void } = .{ "*.ex.ortsinfo.at", {} }, .{ "*.kunden.ortsinfo.at", {} }, .{ "*.statics.cloud", {} }, + .{ "gadget.app", {} }, + .{ "gadget.host", {} }, .{ "aliases121.com", {} }, .{ "campaign.gov.uk", {} }, .{ "service.gov.uk", {} }, @@ -8470,13 +8731,14 @@ const entries: []const struct { []const u8, void } = .{ "gentlentapis.com", {} }, .{ "cdn-edges.net", {} }, .{ "gsj.bz", {} }, + .{ "gitbook.io", {} }, + .{ "github.app", {} }, .{ "githubusercontent.com", {} }, .{ "githubpreview.dev", {} }, .{ "github.io", {} }, .{ "gitlab.io", {} }, .{ "gitapp.si", {} }, .{ "gitpage.si", {} }, - .{ "glitch.me", {} }, .{ "nog.community", {} }, .{ "co.ro", {} }, .{ "shop.ro", {} }, @@ -8591,6 +8853,7 @@ const entries: []const struct { []const u8, void } = .{ "goip.de", {} }, .{ "*.hosted.app", {} }, .{ "*.run.app", {} }, + .{ "*.mtls.run.app", {} }, .{ "web.app", {} }, .{ "*.0emm.com", {} }, .{ "appspot.com", {} }, @@ -8614,10 +8877,12 @@ const entries: []const struct { []const u8, void } = .{ "gov.nl", {} }, .{ "grafana-dev.net", {} }, .{ "grayjayleagues.com", {} }, + .{ "grebedoc.dev", {} }, .{ "günstigbestellen.de", {} }, .{ "günstigliefern.de", {} }, + .{ "gv.uy", {} }, + .{ "hackclub.app", {} }, .{ "häkkinen.fi", {} }, - .{ "hrsn.dev", {} }, .{ "hashbang.sh", {} }, .{ "hasura.app", {} }, .{ "hasura-app.io", {} }, @@ -8633,6 +8898,9 @@ const entries: []const struct { []const u8, void } = .{ "helioho.st", {} }, .{ "heliohost.us", {} }, .{ "hepforge.org", {} }, + .{ "onhercules.app", {} }, + .{ "hercules-app.com", {} }, + .{ "hercules-dev.com", {} }, .{ "herokuapp.com", {} }, .{ "heyflow.page", {} }, .{ "heyflow.site", {} }, @@ -8640,13 +8908,14 @@ const entries: []const struct { []const u8, void } = .{ "ravendb.community", {} }, .{ "development.run", {} }, .{ "ravendb.run", {} }, + .{ "hidns.co", {} }, + .{ "hidns.vip", {} }, .{ "homesklep.pl", {} }, .{ "*.kin.one", {} }, .{ "*.id.pub", {} }, .{ "*.kin.pub", {} }, .{ "hoplix.shop", {} }, .{ "orx.biz", {} }, - .{ "biz.gl", {} }, .{ "biz.ng", {} }, .{ "co.biz.ng", {} }, .{ "dl.biz.ng", {} }, @@ -8659,7 +8928,6 @@ const entries: []const struct { []const u8, void } = .{ "ltd.ng", {} }, .{ "ngo.ng", {} }, .{ "plc.ng", {} }, - .{ "ie.ua", {} }, .{ "hostyhosting.io", {} }, .{ "hf.space", {} }, .{ "static.hf.space", {} }, @@ -8672,6 +8940,7 @@ const entries: []const struct { []const u8, void } = .{ "iki.fi", {} }, .{ "ibxos.it", {} }, .{ "iliadboxos.it", {} }, + .{ "imagine-proxy.work", {} }, .{ "smushcdn.com", {} }, .{ "wphostedmail.com", {} }, .{ "wpmucdn.com", {} }, @@ -8687,6 +8956,7 @@ const entries: []const struct { []const u8, void } = .{ "in-vpn.net", {} }, .{ "in-dsl.org", {} }, .{ "in-vpn.org", {} }, + .{ "oninferno.net", {} }, .{ "biz.at", {} }, .{ "info.at", {} }, .{ "info.cx", {} }, @@ -8727,21 +8997,26 @@ const entries: []const struct { []const u8, void } = .{ "botdash.xyz", {} }, .{ "apps-1and1.com", {} }, .{ "live-website.com", {} }, + .{ "webspace-host.com", {} }, .{ "apps-1and1.net", {} }, .{ "websitebuilder.online", {} }, .{ "app-ionos.space", {} }, .{ "iopsys.se", {} }, + .{ "*.inbrowser.dev", {} }, .{ "*.dweb.link", {} }, + .{ "*.inbrowser.link", {} }, .{ "ipifony.net", {} }, .{ "ir.md", {} }, .{ "is-a-good.dev", {} }, - .{ "is-a.dev", {} }, .{ "iservschule.de", {} }, .{ "mein-iserv.de", {} }, + .{ "schuldock.de", {} }, .{ "schulplattform.de", {} }, .{ "schulserver.de", {} }, .{ "test-iserv.de", {} }, .{ "iserv.dev", {} }, + .{ "iserv.host", {} }, + .{ "ispmanager.name", {} }, .{ "mel.cloudlets.com.au", {} }, .{ "cloud.interhostsolutions.be", {} }, .{ "alp1.ae.flow.ch", {} }, @@ -8817,7 +9092,11 @@ const entries: []const struct { []const u8, void } = .{ "*.landing.myjino.ru", {} }, .{ "*.spectrum.myjino.ru", {} }, .{ "*.vps.myjino.ru", {} }, + .{ "jote.cloud", {} }, .{ "jotelulu.cloud", {} }, + .{ "eu1-plenit.com", {} }, + .{ "la1-plenit.com", {} }, + .{ "us1-plenit.com", {} }, .{ "webadorsite.com", {} }, .{ "jouwweb.site", {} }, .{ "*.cns.joyent.com", {} }, @@ -8828,7 +9107,10 @@ const entries: []const struct { []const u8, void } = .{ "kapsi.fi", {} }, .{ "ezproxy.kuleuven.be", {} }, .{ "kuleuven.cloud", {} }, + .{ "ae.kg", {} }, .{ "keymachine.de", {} }, + .{ "kiloapps.ai", {} }, + .{ "kiloapps.io", {} }, .{ "kinghost.net", {} }, .{ "uni5.net", {} }, .{ "knightpoint.systems", {} }, @@ -8836,13 +9118,21 @@ const entries: []const struct { []const u8, void } = .{ "webthings.io", {} }, .{ "krellian.net", {} }, .{ "oya.to", {} }, + .{ "co.de", {} }, + .{ "shiptoday.app", {} }, + .{ "shiptoday.build", {} }, .{ "laravel.cloud", {} }, + .{ "on-forge.com", {} }, + .{ "on-vapor.com", {} }, .{ "git-repos.de", {} }, .{ "lcube-server.de", {} }, .{ "svn-repos.de", {} }, .{ "leadpages.co", {} }, .{ "lpages.co", {} }, .{ "lpusercontent.com", {} }, + .{ "leapcell.app", {} }, + .{ "leapcell.dev", {} }, + .{ "leapcell.online", {} }, .{ "liara.run", {} }, .{ "iran.liara.run", {} }, .{ "libp2p.direct", {} }, @@ -8864,8 +9154,6 @@ const entries: []const struct { []const u8, void } = .{ "filegear-sg.me", {} }, .{ "ggff.net", {} }, .{ "*.user.localcert.dev", {} }, - .{ "localcert.net", {} }, - .{ "localhostcert.net", {} }, .{ "localtonet.com", {} }, .{ "*.localto.net", {} }, .{ "lodz.pl", {} }, @@ -8880,9 +9168,10 @@ const entries: []const struct { []const u8, void } = .{ "loginline.services", {} }, .{ "loginline.site", {} }, .{ "lohmus.me", {} }, - .{ "servers.run", {} }, .{ "lovable.app", {} }, .{ "lovableproject.com", {} }, + .{ "lovable.run", {} }, + .{ "lovable.sh", {} }, .{ "krasnik.pl", {} }, .{ "leczna.pl", {} }, .{ "lubartow.pl", {} }, @@ -8922,7 +9211,12 @@ const entries: []const struct { []const u8, void } = .{ "barsy.uk", {} }, .{ "barsy.co.uk", {} }, .{ "barsyonline.co.uk", {} }, + .{ "*.lutrausercontent.com", {} }, + .{ "luyani.app", {} }, + .{ "luyani.net", {} }, .{ "*.magentosite.cloud", {} }, + .{ "magicpatterns.app", {} }, + .{ "magicpatternsapp.com", {} }, .{ "hb.cldmail.ru", {} }, .{ "matlab.cloud", {} }, .{ "modelscape.com", {} }, @@ -8972,19 +9266,30 @@ const entries: []const struct { []const u8, void } = .{ "azurewebsites.net", {} }, .{ "cloudapp.net", {} }, .{ "trafficmanager.net", {} }, + .{ "servicebus.usgovcloudapi.net", {} }, + .{ "usgovcloudapp.net", {} }, .{ "blob.core.windows.net", {} }, .{ "servicebus.windows.net", {} }, + .{ "azure-api.us", {} }, + .{ "azurewebsites.us", {} }, .{ "routingthecloud.com", {} }, .{ "sn.mynetname.net", {} }, .{ "routingthecloud.net", {} }, .{ "routingthecloud.org", {} }, + .{ "same-app.com", {} }, + .{ "same-preview.com", {} }, .{ "csx.cc", {} }, + .{ "miren.app", {} }, + .{ "miren.systems", {} }, .{ "mydbserver.com", {} }, .{ "webspaceconfig.de", {} }, .{ "mittwald.info", {} }, .{ "mittwaldserver.info", {} }, .{ "typo3server.info", {} }, .{ "project.space", {} }, + .{ "mocha.app", {} }, + .{ "mochausercontent.com", {} }, + .{ "mocha-sandbox.dev", {} }, .{ "modx.dev", {} }, .{ "bmoattachments.org", {} }, .{ "net.ru", {} }, @@ -9004,10 +9309,11 @@ const entries: []const struct { []const u8, void } = .{ "yali.mythic-beasts.com", {} }, .{ "cust.retrosnub.co.uk", {} }, .{ "ui.nabu.casa", {} }, + .{ "needle.run", {} }, + .{ "co.site", {} }, .{ "cloud.nospamproxy.com", {} }, .{ "o365.cloud.nospamproxy.com", {} }, .{ "netlib.re", {} }, - .{ "netfy.app", {} }, .{ "netlify.app", {} }, .{ "4u.com", {} }, .{ "nfshost.com", {} }, @@ -9143,9 +9449,7 @@ const entries: []const struct { []const u8, void } = .{ "freeddns.us", {} }, .{ "nsupdate.info", {} }, .{ "nerdpol.ovh", {} }, - .{ "nyc.mn", {} }, .{ "prvcy.page", {} }, - .{ "obl.ong", {} }, .{ "observablehq.cloud", {} }, .{ "static.observableusercontent.com", {} }, .{ "omg.lol", {} }, @@ -9167,15 +9471,18 @@ const entries: []const struct { []const u8, void } = .{ "123website.nl", {} }, .{ "123hjemmeside.no", {} }, .{ "service.one", {} }, + .{ "website.one", {} }, .{ "simplesite.pl", {} }, .{ "123paginaweb.pt", {} }, .{ "123minsida.se", {} }, + .{ "onid.ca", {} }, .{ "is-a-fullstack.dev", {} }, .{ "is-cool.dev", {} }, .{ "is-not-a.dev", {} }, .{ "localplayer.dev", {} }, .{ "is-local.org", {} }, .{ "opensocial.site", {} }, + .{ "*.oaiusercontent.com", {} }, .{ "opencraft.hosting", {} }, .{ "16-b.it", {} }, .{ "32-b.it", {} }, @@ -9193,7 +9500,6 @@ const entries: []const struct { []const u8, void } = .{ "can.re", {} }, .{ "authgear-staging.com", {} }, .{ "authgearapps.com", {} }, - .{ "skygearapp.com", {} }, .{ "outsystemscloud.com", {} }, .{ "*.hosting.ovh.net", {} }, .{ "*.webpaas.ovh.net", {} }, @@ -9213,9 +9519,11 @@ const entries: []const struct { []const u8, void } = .{ "srv.us", {} }, .{ "gh.srv.us", {} }, .{ "gl.srv.us", {} }, - .{ "lk3.ru", {} }, .{ "mypep.link", {} }, .{ "perspecta.cloud", {} }, + .{ "forgeblocks.com", {} }, + .{ "id.forgerock.io", {} }, + .{ "support.site", {} }, .{ "on-web.fr", {} }, .{ "*.upsun.app", {} }, .{ "upsunapp.com", {} }, @@ -9224,8 +9532,6 @@ const entries: []const struct { []const u8, void } = .{ "us.platform.sh", {} }, .{ "*.platformsh.site", {} }, .{ "*.tst.site", {} }, - .{ "platter-app.dev", {} }, - .{ "platterp.us", {} }, .{ "pley.games", {} }, .{ "onporter.run", {} }, .{ "co.bn", {} }, @@ -9236,14 +9542,20 @@ const entries: []const struct { []const u8, void } = .{ "prequalifyme.today", {} }, .{ "xen.prgmr.com", {} }, .{ "priv.at", {} }, + .{ "c01.kr", {} }, + .{ "eliv-api.kr", {} }, + .{ "eliv-cdn.kr", {} }, + .{ "eliv-dns.kr", {} }, + .{ "mmv.kr", {} }, + .{ "vki.kr", {} }, + .{ "dev.project-study.com", {} }, .{ "protonet.io", {} }, - .{ "sub.psl.hrsn.dev", {} }, - .{ "*.wc.psl.hrsn.dev", {} }, - .{ "!ignored.wc.psl.hrsn.dev", {} }, - .{ "*.sub.wc.psl.hrsn.dev", {} }, - .{ "!ignored.sub.wc.psl.hrsn.dev", {} }, + .{ "platter-app.dev", {} }, + .{ "e.id", {} }, .{ "chirurgiens-dentistes-en-france.fr", {} }, .{ "byen.site", {} }, + .{ "nyc.mn", {} }, + .{ "*.cn.st", {} }, .{ "pubtls.org", {} }, .{ "pythonanywhere.com", {} }, .{ "eu.pythonanywhere.com", {} }, @@ -9259,6 +9571,8 @@ const entries: []const struct { []const u8, void } = .{ "qoto.io", {} }, .{ "qualifioapp.com", {} }, .{ "ladesk.com", {} }, + .{ "*.qualyhqpartner.com", {} }, + .{ "*.qualyhqportal.com", {} }, .{ "qbuser.com", {} }, .{ "*.quipelements.com", {} }, .{ "vapor.cloud", {} }, @@ -9272,6 +9586,7 @@ const entries: []const struct { []const u8, void } = .{ "in.net", {} }, .{ "myrdbx.io", {} }, .{ "site.rb-hosting.io", {} }, + .{ "up.railway.app", {} }, .{ "*.on-rancher.cloud", {} }, .{ "*.on-k3s.io", {} }, .{ "*.on-rio.io", {} }, @@ -9280,6 +9595,8 @@ const entries: []const struct { []const u8, void } = .{ "readthedocs.io", {} }, .{ "rhcloud.com", {} }, .{ "instances.spawn.cc", {} }, + .{ "*.clusters.rdpa.co", {} }, + .{ "*.srvrless.rdpa.co", {} }, .{ "onrender.com", {} }, .{ "app.render.com", {} }, .{ "replit.app", {} }, @@ -9402,33 +9719,55 @@ const entries: []const struct { []const u8, void } = .{ "*.we.crm.dev", {} }, .{ "*.wf.crm.dev", {} }, .{ "sandcats.io", {} }, + .{ "sav.case", {} }, .{ "logoip.com", {} }, .{ "logoip.de", {} }, .{ "fr-par-1.baremetal.scw.cloud", {} }, .{ "fr-par-2.baremetal.scw.cloud", {} }, .{ "nl-ams-1.baremetal.scw.cloud", {} }, .{ "cockpit.fr-par.scw.cloud", {} }, + .{ "ddl.fr-par.scw.cloud", {} }, + .{ "dtwh.fr-par.scw.cloud", {} }, .{ "fnc.fr-par.scw.cloud", {} }, .{ "functions.fnc.fr-par.scw.cloud", {} }, + .{ "ifr.fr-par.scw.cloud", {} }, .{ "k8s.fr-par.scw.cloud", {} }, .{ "nodes.k8s.fr-par.scw.cloud", {} }, + .{ "kafk.fr-par.scw.cloud", {} }, + .{ "mgdb.fr-par.scw.cloud", {} }, + .{ "rdb.fr-par.scw.cloud", {} }, .{ "s3.fr-par.scw.cloud", {} }, .{ "s3-website.fr-par.scw.cloud", {} }, + .{ "scbl.fr-par.scw.cloud", {} }, .{ "whm.fr-par.scw.cloud", {} }, .{ "priv.instances.scw.cloud", {} }, .{ "pub.instances.scw.cloud", {} }, .{ "k8s.scw.cloud", {} }, .{ "cockpit.nl-ams.scw.cloud", {} }, + .{ "ddl.nl-ams.scw.cloud", {} }, + .{ "dtwh.nl-ams.scw.cloud", {} }, + .{ "ifr.nl-ams.scw.cloud", {} }, .{ "k8s.nl-ams.scw.cloud", {} }, .{ "nodes.k8s.nl-ams.scw.cloud", {} }, + .{ "kafk.nl-ams.scw.cloud", {} }, + .{ "mgdb.nl-ams.scw.cloud", {} }, + .{ "rdb.nl-ams.scw.cloud", {} }, .{ "s3.nl-ams.scw.cloud", {} }, .{ "s3-website.nl-ams.scw.cloud", {} }, + .{ "scbl.nl-ams.scw.cloud", {} }, .{ "whm.nl-ams.scw.cloud", {} }, .{ "cockpit.pl-waw.scw.cloud", {} }, + .{ "ddl.pl-waw.scw.cloud", {} }, + .{ "dtwh.pl-waw.scw.cloud", {} }, + .{ "ifr.pl-waw.scw.cloud", {} }, .{ "k8s.pl-waw.scw.cloud", {} }, .{ "nodes.k8s.pl-waw.scw.cloud", {} }, + .{ "kafk.pl-waw.scw.cloud", {} }, + .{ "mgdb.pl-waw.scw.cloud", {} }, + .{ "rdb.pl-waw.scw.cloud", {} }, .{ "s3.pl-waw.scw.cloud", {} }, .{ "s3-website.pl-waw.scw.cloud", {} }, + .{ "scbl.pl-waw.scw.cloud", {} }, .{ "scalebook.scw.cloud", {} }, .{ "smartlabeling.scw.cloud", {} }, .{ "dedibox.fr", {} }, @@ -9491,7 +9830,12 @@ const entries: []const struct { []const u8, void } = .{ "srht.site", {} }, .{ "apps.lair.io", {} }, .{ "*.stolos.io", {} }, - .{ "ind.mom", {} }, + .{ "4.at", {} }, + .{ "my.at", {} }, + .{ "my.de", {} }, + .{ "*.nxa.eu", {} }, + .{ "nx.gw", {} }, + .{ "spawnbase.app", {} }, .{ "customer.speedpartner.de", {} }, .{ "myspreadshop.at", {} }, .{ "myspreadshop.com.au", {} }, @@ -9515,15 +9859,18 @@ const entries: []const struct { []const u8, void } = .{ "w-corp-staticblitz.com", {} }, .{ "w-credentialless-staticblitz.com", {} }, .{ "w-staticblitz.com", {} }, + .{ "bolt.host", {} }, .{ "stackhero-network.com", {} }, .{ "runs.onstackit.cloud", {} }, .{ "stackit.gg", {} }, .{ "stackit.rocks", {} }, .{ "stackit.run", {} }, .{ "stackit.zone", {} }, + .{ "indevs.in", {} }, .{ "musician.io", {} }, .{ "novecore.site", {} }, .{ "api.stdlib.com", {} }, + .{ "statichost.page", {} }, .{ "feedback.ac", {} }, .{ "forms.ac", {} }, .{ "assessments.cx", {} }, @@ -9534,8 +9881,9 @@ const entries: []const struct { []const u8, void } = .{ "researched.cx", {} }, .{ "tests.cx", {} }, .{ "surveys.so", {} }, + .{ "ipfs.storacha.link", {} }, + .{ "ipfs.w3s.link", {} }, .{ "storebase.store", {} }, - .{ "storipress.app", {} }, .{ "storj.farm", {} }, .{ "strapiapp.com", {} }, .{ "media.strapiapp.com", {} }, @@ -9551,6 +9899,8 @@ const entries: []const struct { []const u8, void } = .{ "utwente.io", {} }, .{ "temp-dns.com", {} }, .{ "supabase.co", {} }, + .{ "realtime.supabase.co", {} }, + .{ "storage.supabase.co", {} }, .{ "supabase.in", {} }, .{ "supabase.net", {} }, .{ "syncloud.it", {} }, @@ -9574,6 +9924,8 @@ const entries: []const struct { []const u8, void } = .{ "mytabit.co.il", {} }, .{ "tabitorder.co.il", {} }, .{ "taifun-dns.de", {} }, + .{ "erp.dev", {} }, + .{ "web.erp.dev", {} }, .{ "ts.net", {} }, .{ "*.c.ts.net", {} }, .{ "gda.pl", {} }, @@ -9584,12 +9936,20 @@ const entries: []const struct { []const u8, void } = .{ "taveusercontent.com", {} }, .{ "p.tawk.email", {} }, .{ "p.tawkto.email", {} }, + .{ "tche.br", {} }, .{ "site.tb-hosting.com", {} }, + .{ "directwp.eu", {} }, + .{ "ec.cc", {} }, + .{ "eu.cc", {} }, + .{ "gu.cc", {} }, + .{ "uk.cc", {} }, + .{ "us.cc", {} }, .{ "edugit.io", {} }, .{ "s3.teckids.org", {} }, .{ "telebit.app", {} }, .{ "telebit.io", {} }, .{ "*.telebit.xyz", {} }, + .{ "teleport.sh", {} }, .{ "*.firenet.ch", {} }, .{ "*.svc.firenet.ch", {} }, .{ "reservd.com", {} }, @@ -9631,29 +9991,17 @@ const entries: []const struct { []const u8, void } = .{ "*.transurl.eu", {} }, .{ "site.transip.me", {} }, .{ "*.transurl.nl", {} }, + .{ "tunnelmole.net", {} }, .{ "tuxfamily.org", {} }, - .{ "dd-dns.de", {} }, - .{ "dray-dns.de", {} }, - .{ "draydns.de", {} }, - .{ "dyn-vpn.de", {} }, - .{ "dynvpn.de", {} }, - .{ "mein-vigor.de", {} }, - .{ "my-vigor.de", {} }, - .{ "my-wan.de", {} }, - .{ "syno-ds.de", {} }, - .{ "synology-diskstation.de", {} }, - .{ "synology-ds.de", {} }, - .{ "diskstation.eu", {} }, - .{ "diskstation.org", {} }, .{ "typedream.app", {} }, .{ "pro.typeform.com", {} }, - .{ "*.uberspace.de", {} }, .{ "uber.space", {} }, .{ "hk.com", {} }, .{ "inc.hk", {} }, .{ "ltd.hk", {} }, .{ "hk.org", {} }, .{ "it.com", {} }, + .{ "umso.co", {} }, .{ "unison-services.cloud", {} }, .{ "virtual-user.de", {} }, .{ "virtualuser.de", {} }, @@ -9669,19 +10017,23 @@ const entries: []const struct { []const u8, void } = .{ "dnsupdate.info", {} }, .{ "us.org", {} }, .{ "v.ua", {} }, - .{ "express.val.run", {} }, + .{ "val.run", {} }, .{ "web.val.run", {} }, .{ "vercel.app", {} }, .{ "v0.build", {} }, .{ "vercel.dev", {} }, .{ "vusercontent.net", {} }, + .{ "vercel.run", {} }, .{ "now.sh", {} }, .{ "2038.io", {} }, - .{ "router.management", {} }, .{ "v-info.info", {} }, + .{ "vistablog.ir", {} }, + .{ "deus-canvas.com", {} }, .{ "voorloper.cloud", {} }, .{ "*.vultrobjects.com", {} }, .{ "wafflecell.com", {} }, + .{ "wal.app", {} }, + .{ "wasmer.app", {} }, .{ "webflow.io", {} }, .{ "webflowtest.io", {} }, .{ "*.webhare.dev", {} }, @@ -9694,6 +10046,7 @@ const entries: []const struct { []const u8, void } = .{ "wp2.host", {} }, .{ "pdns.page", {} }, .{ "plesk.page", {} }, + .{ "cpanel.site", {} }, .{ "wpsquared.site", {} }, .{ "*.wadl.top", {} }, .{ "remotewd.com", {} }, @@ -9701,10 +10054,18 @@ const entries: []const struct { []const u8, void } = .{ "pages.wiardweb.com", {} }, .{ "toolforge.org", {} }, .{ "wmcloud.org", {} }, + .{ "beta.wmcloud.org", {} }, .{ "wmflabs.org", {} }, - .{ "wdh.app", {} }, + .{ "vps.hrsn.au", {} }, + .{ "hrsn.dev", {} }, + .{ "is-a.dev", {} }, + .{ "localcert.net", {} }, + .{ "windsurf.app", {} }, + .{ "windsurf.build", {} }, .{ "panel.gg", {} }, .{ "daemon.panel.gg", {} }, + .{ "base44.app", {} }, + .{ "base44-sandbox.com", {} }, .{ "wixsite.com", {} }, .{ "wixstudio.com", {} }, .{ "editorx.io", {} }, @@ -9722,6 +10083,7 @@ const entries: []const struct { []const u8, void } = .{ "weeklylottery.org.uk", {} }, .{ "wpenginepowered.com", {} }, .{ "js.wpenginepowered.com", {} }, + .{ "*.xenonconnect.de", {} }, .{ "half.host", {} }, .{ "xnbay.com", {} }, .{ "u2.xnbay.com", {} }, @@ -9729,9 +10091,11 @@ const entries: []const struct { []const u8, void } = .{ "cistron.nl", {} }, .{ "demon.nl", {} }, .{ "xs4all.space", {} }, + .{ "xtooldevice.com", {} }, .{ "yandexcloud.net", {} }, .{ "storage.yandexcloud.net", {} }, .{ "website.yandexcloud.net", {} }, + .{ "sourcecraft.site", {} }, .{ "official.academy", {} }, .{ "yolasite.com", {} }, .{ "ynh.fr", {} }, @@ -9746,4 +10110,7 @@ const entries: []const struct { []const u8, void } = .{ "basicserver.io", {} }, .{ "virtualserver.io", {} }, .{ "enterprisecloud.nu", {} }, + .{ "zone.id", {} }, + .{ "nett.to", {} }, + .{ "zabc.net", {} }, }; diff --git a/src/data/public_suffix_list_gen.go b/src/data/public_suffix_list_gen.go index 137df6df..7ec1ce0c 100644 --- a/src/data/public_suffix_list_gen.go +++ b/src/data/public_suffix_list_gen.go @@ -27,16 +27,22 @@ func main() { } lookup := - "const std = @import(\"std\");\n\n" + + "const std = @import(\"std\");\n" + + "const builtin = @import(\"builtin\");\n\n" + "pub fn lookup(value: []const u8) bool {\n" + " return public_suffix_list.has(value);\n" + "}\n" fmt.Println(lookup) - fmt.Println("const public_suffix_list = std.StaticStringMap(void).initComptime([_]struct { []const u8, void }{") + fmt.Println("const public_suffix_list = std.StaticStringMap(void).initComptime(entries);\n") + fmt.Println("const entries: []const struct { []const u8, void } =") + fmt.Println(" if (builtin.is_test) &.{") + fmt.Println(" .{ \"api.gov.uk\", {} },") + fmt.Println(" .{ \"gov.uk\", {} },") + fmt.Println(" } else &.{") for _, domain := range domains { - fmt.Printf(` .{ "%s", {} },`, domain) + fmt.Printf(` .{ "%s", {} },`, domain) fmt.Println() } - fmt.Println("});") + fmt.Println(" };") }