From d77e58155e24ed928097e90d08ad0a83e82e6d07 Mon Sep 17 00:00:00 2001 From: istarkov Date: Mon, 16 Sep 2024 05:58:23 +0000 Subject: [PATCH] add public suffix support, remove 2 underscores from txt --- .../app/builder/features/topbar/cname.test.ts | 39 + .../app/builder/features/topbar/cname.ts | 5068 +++++++++++++++++ .../app/builder/features/topbar/domains.tsx | 18 +- 3 files changed, 5112 insertions(+), 13 deletions(-) create mode 100644 apps/builder/app/builder/features/topbar/cname.test.ts create mode 100644 apps/builder/app/builder/features/topbar/cname.ts diff --git a/apps/builder/app/builder/features/topbar/cname.test.ts b/apps/builder/app/builder/features/topbar/cname.test.ts new file mode 100644 index 000000000000..bee5b4556cec --- /dev/null +++ b/apps/builder/app/builder/features/topbar/cname.test.ts @@ -0,0 +1,39 @@ +import { describe, test, expect } from "@jest/globals"; + +import { extractCname } from "./cname"; + +describe("extractCname from ordinary domains", () => { + test('should return "@" for top level like domains', () => { + expect(extractCname("example")).toBe("@"); + }); + + test('should return "@" for root level domains', () => { + expect(extractCname("example.com")).toBe("@"); + }); + + test("should return the subdomain", () => { + expect(extractCname("sub.example.com")).toBe("sub"); + }); + + test("should return all subdomains", () => { + expect(extractCname("sub.sub.example.com")).toBe("sub.sub"); + }); +}); + +describe("extractCname from public suffix domains", () => { + test('should return "@"', () => { + expect(extractCname("co.za")).toBe("@"); + }); + + test('should return "@"', () => { + expect(extractCname("example.co.za")).toBe("@"); + }); + + test("should return all the subdomain", () => { + expect(extractCname("sub.example.co.za")).toBe("sub"); + }); + + test("should handle domains with multiple public suffixes correctly", () => { + expect(extractCname("sub.sub.example.co.za")).toBe("sub.sub"); + }); +}); diff --git a/apps/builder/app/builder/features/topbar/cname.ts b/apps/builder/app/builder/features/topbar/cname.ts new file mode 100644 index 000000000000..504e511b2ba1 --- /dev/null +++ b/apps/builder/app/builder/features/topbar/cname.ts @@ -0,0 +1,5068 @@ +export const extractCname = (domain: string): string => { + // Split the domain into parts + const parts: string[] = domain.split("."); + + for (let i = 0; i < parts.length; i++) { + if (publicSuffixList.has(parts.slice(i).join("."))) { + const result = parts.slice(0, Math.max(i - 1, 0)); + return result.length === 0 ? "@" : result.join("."); + } + } + + // If not a public suffix, check the number of parts + if (parts.length <= 2) { + return "@"; // Root level or direct subdomain of a TLD + } else { + // Multiple subdomains, return all except the last two parts + return parts.slice(0, -2).join("."); + } +}; + +// https://publicsuffix.org/list/public_suffix_list.dat +const publicSuffixList = new Set([ + "com.ac", + "edu.ac", + "gov.ac", + "net.ac", + "mil.ac", + "org.ac", + "nom.ad", + "co.ae", + "net.ae", + "org.ae", + "sch.ae", + "ac.ae", + "gov.ae", + "mil.ae", + "accident-investigation.aero", + "accident-prevention.aero", + "aerobatic.aero", + "aeroclub.aero", + "aerodrome.aero", + "agents.aero", + "aircraft.aero", + "airline.aero", + "airport.aero", + "air-surveillance.aero", + "airtraffic.aero", + "air-traffic-control.aero", + "ambulance.aero", + "amusement.aero", + "association.aero", + "author.aero", + "ballooning.aero", + "broker.aero", + "caa.aero", + "cargo.aero", + "catering.aero", + "certification.aero", + "championship.aero", + "charter.aero", + "civilaviation.aero", + "club.aero", + "conference.aero", + "consultant.aero", + "consulting.aero", + "control.aero", + "council.aero", + "crew.aero", + "design.aero", + "dgca.aero", + "educator.aero", + "emergency.aero", + "engine.aero", + "engineer.aero", + "entertainment.aero", + "equipment.aero", + "exchange.aero", + "express.aero", + "federation.aero", + "flight.aero", + "fuel.aero", + "gliding.aero", + "government.aero", + "groundhandling.aero", + "group.aero", + "hanggliding.aero", + "homebuilt.aero", + "insurance.aero", + "journal.aero", + "journalist.aero", + "leasing.aero", + "logistics.aero", + "magazine.aero", + "maintenance.aero", + "media.aero", + "microlight.aero", + "modelling.aero", + "navigation.aero", + "parachuting.aero", + "paragliding.aero", + "passenger-association.aero", + "pilot.aero", + "press.aero", + "production.aero", + "recreation.aero", + "repbody.aero", + "res.aero", + "research.aero", + "rotorcraft.aero", + "safety.aero", + "scientist.aero", + "services.aero", + "show.aero", + "skydiving.aero", + "software.aero", + "student.aero", + "trader.aero", + "trading.aero", + "trainer.aero", + "union.aero", + "workinggroup.aero", + "works.aero", + "gov.af", + "com.af", + "org.af", + "net.af", + "edu.af", + "com.ag", + "org.ag", + "net.ag", + "co.ag", + "nom.ag", + "off.ai", + "com.ai", + "net.ai", + "org.ai", + "com.al", + "edu.al", + "gov.al", + "mil.al", + "net.al", + "org.al", + "co.am", + "com.am", + "commune.am", + "net.am", + "org.am", + "ed.ao", + "gv.ao", + "og.ao", + "co.ao", + "pb.ao", + "it.ao", + "bet.ar", + "com.ar", + "coop.ar", + "edu.ar", + "gob.ar", + "gov.ar", + "int.ar", + "mil.ar", + "musica.ar", + "mutual.ar", + "net.ar", + "org.ar", + "senasa.ar", + "tur.ar", + "e164.arpa", + "in-addr.arpa", + "ip6.arpa", + "iris.arpa", + "uri.arpa", + "urn.arpa", + "gov.as", + "ac.at", + "co.at", + "gv.at", + "or.at", + "com.au", + "net.au", + "org.au", + "edu.au", + "gov.au", + "asn.au", + "id.au", + "info.au", + "conf.au", + "oz.au", + "act.au", + "nsw.au", + "nt.au", + "qld.au", + "sa.au", + "tas.au", + "vic.au", + "wa.au", + "com.aw", + "com.az", + "net.az", + "int.az", + "gov.az", + "org.az", + "edu.az", + "info.az", + "pp.az", + "mil.az", + "name.az", + "pro.az", + "biz.az", + "com.ba", + "edu.ba", + "gov.ba", + "mil.ba", + "net.ba", + "org.ba", + "biz.bb", + "co.bb", + "com.bb", + "edu.bb", + "gov.bb", + "info.bb", + "net.bb", + "org.bb", + "store.bb", + "tv.bb", + "*.bd", + "ac.be", + "gov.bf", + "a.bg", + "b.bg", + "c.bg", + "d.bg", + "e.bg", + "f.bg", + "g.bg", + "h.bg", + "i.bg", + "j.bg", + "k.bg", + "l.bg", + "m.bg", + "n.bg", + "o.bg", + "p.bg", + "q.bg", + "r.bg", + "s.bg", + "t.bg", + "u.bg", + "v.bg", + "w.bg", + "x.bg", + "y.bg", + "z.bg", + "0.bg", + "1.bg", + "2.bg", + "3.bg", + "4.bg", + "5.bg", + "6.bg", + "7.bg", + "8.bg", + "9.bg", + "com.bh", + "edu.bh", + "net.bh", + "org.bh", + "gov.bh", + "co.bi", + "com.bi", + "edu.bi", + "or.bi", + "org.bi", + "africa.bj", + "agro.bj", + "architectes.bj", + "assur.bj", + "avocats.bj", + "co.bj", + "com.bj", + "eco.bj", + "econo.bj", + "edu.bj", + "info.bj", + "loisirs.bj", + "money.bj", + "net.bj", + "org.bj", + "ote.bj", + "resto.bj", + "restaurant.bj", + "tourism.bj", + "univ.bj", + "com.bm", + "edu.bm", + "gov.bm", + "net.bm", + "org.bm", + "com.bn", + "edu.bn", + "gov.bn", + "net.bn", + "org.bn", + "com.bo", + "edu.bo", + "gob.bo", + "int.bo", + "org.bo", + "net.bo", + "mil.bo", + "tv.bo", + "web.bo", + "academia.bo", + "agro.bo", + "arte.bo", + "blog.bo", + "bolivia.bo", + "ciencia.bo", + "cooperativa.bo", + "democracia.bo", + "deporte.bo", + "ecologia.bo", + "economia.bo", + "empresa.bo", + "indigena.bo", + "industria.bo", + "info.bo", + "medicina.bo", + "movimiento.bo", + "musica.bo", + "natural.bo", + "nombre.bo", + "noticias.bo", + "patria.bo", + "politica.bo", + "profesional.bo", + "plurinacional.bo", + "pueblo.bo", + "revista.bo", + "salud.bo", + "tecnologia.bo", + "tksat.bo", + "transporte.bo", + "wiki.bo", + "9guacu.br", + "abc.br", + "adm.br", + "adv.br", + "agr.br", + "aju.br", + "am.br", + "anani.br", + "aparecida.br", + "app.br", + "arq.br", + "art.br", + "ato.br", + "b.br", + "barueri.br", + "belem.br", + "bhz.br", + "bib.br", + "bio.br", + "blog.br", + "bmd.br", + "boavista.br", + "bsb.br", + "campinagrande.br", + "campinas.br", + "caxias.br", + "cim.br", + "cng.br", + "cnt.br", + "com.br", + "contagem.br", + "coop.br", + "coz.br", + "cri.br", + "cuiaba.br", + "curitiba.br", + "def.br", + "des.br", + "det.br", + "dev.br", + "ecn.br", + "eco.br", + "edu.br", + "emp.br", + "enf.br", + "eng.br", + "esp.br", + "etc.br", + "eti.br", + "far.br", + "feira.br", + "flog.br", + "floripa.br", + "fm.br", + "fnd.br", + "fortal.br", + "fot.br", + "foz.br", + "fst.br", + "g12.br", + "geo.br", + "ggf.br", + "goiania.br", + "gov.br", + "gru.br", + "imb.br", + "ind.br", + "inf.br", + "jab.br", + "jampa.br", + "jdf.br", + "joinville.br", + "jor.br", + "jus.br", + "leg.br", + "lel.br", + "log.br", + "londrina.br", + "macapa.br", + "maceio.br", + "manaus.br", + "maringa.br", + "mat.br", + "med.br", + "mil.br", + "morena.br", + "mp.br", + "mus.br", + "natal.br", + "net.br", + "niteroi.br", + "not.br", + "ntr.br", + "odo.br", + "ong.br", + "org.br", + "osasco.br", + "palmas.br", + "poa.br", + "ppg.br", + "pro.br", + "psc.br", + "psi.br", + "pvh.br", + "qsl.br", + "radio.br", + "rec.br", + "recife.br", + "rep.br", + "ribeirao.br", + "rio.br", + "riobranco.br", + "riopreto.br", + "salvador.br", + "sampa.br", + "santamaria.br", + "santoandre.br", + "saobernardo.br", + "saogonca.br", + "seg.br", + "sjc.br", + "slg.br", + "slz.br", + "sorocaba.br", + "srv.br", + "taxi.br", + "tc.br", + "tec.br", + "teo.br", + "the.br", + "tmp.br", + "trd.br", + "tur.br", + "tv.br", + "udi.br", + "vet.br", + "vix.br", + "vlog.br", + "wiki.br", + "zlg.br", + "com.bs", + "net.bs", + "org.bs", + "edu.bs", + "gov.bs", + "com.bt", + "edu.bt", + "gov.bt", + "net.bt", + "org.bt", + "co.bw", + "org.bw", + "gov.by", + "mil.by", + "com.by", + "of.by", + "com.bz", + "net.bz", + "org.bz", + "edu.bz", + "gov.bz", + "ab.ca", + "bc.ca", + "mb.ca", + "nb.ca", + "nf.ca", + "nl.ca", + "ns.ca", + "nt.ca", + "nu.ca", + "on.ca", + "pe.ca", + "qc.ca", + "sk.ca", + "yk.ca", + "gc.ca", + "gov.cd", + "org.ci", + "or.ci", + "com.ci", + "co.ci", + "edu.ci", + "ed.ci", + "ac.ci", + "net.ci", + "go.ci", + "asso.ci", + "aéroport.ci", + "int.ci", + "presse.ci", + "md.ci", + "gouv.ci", + "*.ck", + "!www.ck", + "co.cl", + "gob.cl", + "gov.cl", + "mil.cl", + "co.cm", + "com.cm", + "gov.cm", + "net.cm", + "ac.cn", + "com.cn", + "edu.cn", + "gov.cn", + "net.cn", + "org.cn", + "mil.cn", + "公司.cn", + "网络.cn", + "網絡.cn", + "ah.cn", + "bj.cn", + "cq.cn", + "fj.cn", + "gd.cn", + "gs.cn", + "gz.cn", + "gx.cn", + "ha.cn", + "hb.cn", + "he.cn", + "hi.cn", + "hl.cn", + "hn.cn", + "jl.cn", + "js.cn", + "jx.cn", + "ln.cn", + "nm.cn", + "nx.cn", + "qh.cn", + "sc.cn", + "sd.cn", + "sh.cn", + "sn.cn", + "sx.cn", + "tj.cn", + "xj.cn", + "xz.cn", + "yn.cn", + "zj.cn", + "hk.cn", + "mo.cn", + "tw.cn", + "arts.co", + "com.co", + "edu.co", + "firm.co", + "gov.co", + "info.co", + "int.co", + "mil.co", + "net.co", + "nom.co", + "org.co", + "rec.co", + "web.co", + "ac.cr", + "co.cr", + "ed.cr", + "fi.cr", + "go.cr", + "or.cr", + "sa.cr", + "com.cu", + "edu.cu", + "org.cu", + "net.cu", + "gov.cu", + "inf.cu", + "com.cv", + "edu.cv", + "int.cv", + "nome.cv", + "org.cv", + "com.cw", + "edu.cw", + "net.cw", + "org.cw", + "gov.cx", + "ac.cy", + "biz.cy", + "com.cy", + "ekloges.cy", + "gov.cy", + "ltd.cy", + "mil.cy", + "net.cy", + "org.cy", + "press.cy", + "pro.cy", + "tm.cy", + "com.dm", + "net.dm", + "org.dm", + "edu.dm", + "gov.dm", + "art.do", + "com.do", + "edu.do", + "gob.do", + "gov.do", + "mil.do", + "net.do", + "org.do", + "sld.do", + "web.do", + "art.dz", + "asso.dz", + "com.dz", + "edu.dz", + "gov.dz", + "org.dz", + "net.dz", + "pol.dz", + "soc.dz", + "tm.dz", + "com.ec", + "info.ec", + "net.ec", + "fin.ec", + "k12.ec", + "med.ec", + "pro.ec", + "org.ec", + "edu.ec", + "gov.ec", + "gob.ec", + "mil.ec", + "edu.ee", + "gov.ee", + "riik.ee", + "lib.ee", + "med.ee", + "com.ee", + "pri.ee", + "aip.ee", + "org.ee", + "fie.ee", + "com.eg", + "edu.eg", + "eun.eg", + "gov.eg", + "mil.eg", + "name.eg", + "net.eg", + "org.eg", + "sci.eg", + "*.er", + "com.es", + "nom.es", + "org.es", + "gob.es", + "edu.es", + "com.et", + "gov.et", + "org.et", + "edu.et", + "biz.et", + "name.et", + "info.et", + "net.et", + "aland.fi", + "ac.fj", + "biz.fj", + "com.fj", + "gov.fj", + "info.fj", + "mil.fj", + "name.fj", + "net.fj", + "org.fj", + "pro.fj", + "*.fk", + "com.fm", + "edu.fm", + "net.fm", + "org.fm", + "asso.fr", + "com.fr", + "gouv.fr", + "nom.fr", + "prd.fr", + "tm.fr", + "aeroport.fr", + "avocat.fr", + "avoues.fr", + "cci.fr", + "chambagri.fr", + "chirurgiens-dentistes.fr", + "experts-comptables.fr", + "geometre-expert.fr", + "greta.fr", + "huissier-justice.fr", + "medecin.fr", + "notaires.fr", + "pharmacien.fr", + "port.fr", + "veterinaire.fr", + "edu.gd", + "gov.gd", + "com.ge", + "edu.ge", + "gov.ge", + "org.ge", + "mil.ge", + "net.ge", + "pvt.ge", + "co.gg", + "net.gg", + "org.gg", + "com.gh", + "edu.gh", + "gov.gh", + "org.gh", + "mil.gh", + "com.gi", + "ltd.gi", + "gov.gi", + "mod.gi", + "edu.gi", + "org.gi", + "co.gl", + "com.gl", + "edu.gl", + "net.gl", + "org.gl", + "ac.gn", + "com.gn", + "edu.gn", + "gov.gn", + "org.gn", + "net.gn", + "com.gp", + "net.gp", + "mobi.gp", + "edu.gp", + "org.gp", + "asso.gp", + "com.gr", + "edu.gr", + "net.gr", + "org.gr", + "gov.gr", + "com.gt", + "edu.gt", + "gob.gt", + "ind.gt", + "mil.gt", + "net.gt", + "org.gt", + "com.gu", + "edu.gu", + "gov.gu", + "guam.gu", + "info.gu", + "net.gu", + "org.gu", + "web.gu", + "co.gy", + "com.gy", + "edu.gy", + "gov.gy", + "net.gy", + "org.gy", + "com.hk", + "edu.hk", + "gov.hk", + "idv.hk", + "net.hk", + "org.hk", + "公司.hk", + "教育.hk", + "敎育.hk", + "政府.hk", + "個人.hk", + "个人.hk", + "箇人.hk", + "網络.hk", + "网络.hk", + "组織.hk", + "網絡.hk", + "网絡.hk", + "组织.hk", + "組織.hk", + "組织.hk", + "com.hn", + "edu.hn", + "org.hn", + "net.hn", + "mil.hn", + "gob.hn", + "iz.hr", + "from.hr", + "name.hr", + "com.hr", + "com.ht", + "shop.ht", + "firm.ht", + "info.ht", + "adult.ht", + "net.ht", + "pro.ht", + "org.ht", + "med.ht", + "art.ht", + "coop.ht", + "pol.ht", + "asso.ht", + "edu.ht", + "rel.ht", + "gouv.ht", + "perso.ht", + "co.hu", + "info.hu", + "org.hu", + "priv.hu", + "sport.hu", + "tm.hu", + "2000.hu", + "agrar.hu", + "bolt.hu", + "casino.hu", + "city.hu", + "erotica.hu", + "erotika.hu", + "film.hu", + "forum.hu", + "games.hu", + "hotel.hu", + "ingatlan.hu", + "jogasz.hu", + "konyvelo.hu", + "lakas.hu", + "media.hu", + "news.hu", + "reklam.hu", + "sex.hu", + "shop.hu", + "suli.hu", + "szex.hu", + "tozsde.hu", + "utazas.hu", + "video.hu", + "ac.id", + "biz.id", + "co.id", + "desa.id", + "go.id", + "mil.id", + "my.id", + "net.id", + "or.id", + "ponpes.id", + "sch.id", + "web.id", + "gov.ie", + "ac.il", + "co.il", + "gov.il", + "idf.il", + "k12.il", + "muni.il", + "net.il", + "org.il", + "אקדמיה.ישראל", + "ישוב.ישראל", + "צהל.ישראל", + "ממשל.ישראל", + "ac.im", + "co.im", + "com.im", + "net.im", + "org.im", + "tt.im", + "tv.im", + "5g.in", + "6g.in", + "ac.in", + "ai.in", + "am.in", + "bihar.in", + "biz.in", + "business.in", + "ca.in", + "cn.in", + "co.in", + "com.in", + "coop.in", + "cs.in", + "delhi.in", + "dr.in", + "edu.in", + "er.in", + "firm.in", + "gen.in", + "gov.in", + "gujarat.in", + "ind.in", + "info.in", + "int.in", + "internet.in", + "io.in", + "me.in", + "mil.in", + "net.in", + "nic.in", + "org.in", + "pg.in", + "post.in", + "pro.in", + "res.in", + "travel.in", + "tv.in", + "uk.in", + "up.in", + "us.in", + "eu.int", + "com.io", + "gov.iq", + "edu.iq", + "mil.iq", + "com.iq", + "org.iq", + "net.iq", + "ac.ir", + "co.ir", + "gov.ir", + "id.ir", + "net.ir", + "org.ir", + "sch.ir", + "ایران.ir", + "ايران.ir", + "net.is", + "com.is", + "edu.is", + "gov.is", + "org.is", + "int.is", + "gov.it", + "edu.it", + "abr.it", + "abruzzo.it", + "aosta-valley.it", + "aostavalley.it", + "bas.it", + "basilicata.it", + "cal.it", + "calabria.it", + "cam.it", + "campania.it", + "emilia-romagna.it", + "emiliaromagna.it", + "emr.it", + "friuli-v-giulia.it", + "friuli-ve-giulia.it", + "friuli-vegiulia.it", + "friuli-venezia-giulia.it", + "friuli-veneziagiulia.it", + "friuli-vgiulia.it", + "friuliv-giulia.it", + "friulive-giulia.it", + "friulivegiulia.it", + "friulivenezia-giulia.it", + "friuliveneziagiulia.it", + "friulivgiulia.it", + "fvg.it", + "laz.it", + "lazio.it", + "lig.it", + "liguria.it", + "lom.it", + "lombardia.it", + "lombardy.it", + "lucania.it", + "mar.it", + "marche.it", + "mol.it", + "molise.it", + "piedmont.it", + "piemonte.it", + "pmn.it", + "pug.it", + "puglia.it", + "sar.it", + "sardegna.it", + "sardinia.it", + "sic.it", + "sicilia.it", + "sicily.it", + "taa.it", + "tos.it", + "toscana.it", + "trentin-sud-tirol.it", + "trentin-süd-tirol.it", + "trentin-sudtirol.it", + "trentin-südtirol.it", + "trentin-sued-tirol.it", + "trentin-suedtirol.it", + "trentino-a-adige.it", + "trentino-aadige.it", + "trentino-alto-adige.it", + "trentino-altoadige.it", + "trentino-s-tirol.it", + "trentino-stirol.it", + "trentino-sud-tirol.it", + "trentino-süd-tirol.it", + "trentino-sudtirol.it", + "trentino-südtirol.it", + "trentino-sued-tirol.it", + "trentino-suedtirol.it", + "trentino.it", + "trentinoa-adige.it", + "trentinoaadige.it", + "trentinoalto-adige.it", + "trentinoaltoadige.it", + "trentinos-tirol.it", + "trentinostirol.it", + "trentinosud-tirol.it", + "trentinosüd-tirol.it", + "trentinosudtirol.it", + "trentinosüdtirol.it", + "trentinosued-tirol.it", + "trentinosuedtirol.it", + "trentinsud-tirol.it", + "trentinsüd-tirol.it", + "trentinsudtirol.it", + "trentinsüdtirol.it", + "trentinsued-tirol.it", + "trentinsuedtirol.it", + "tuscany.it", + "umb.it", + "umbria.it", + "val-d-aosta.it", + "val-daosta.it", + "vald-aosta.it", + "valdaosta.it", + "valle-aosta.it", + "valle-d-aosta.it", + "valle-daosta.it", + "valleaosta.it", + "valled-aosta.it", + "valledaosta.it", + "vallee-aoste.it", + "vallée-aoste.it", + "vallee-d-aoste.it", + "vallée-d-aoste.it", + "valleeaoste.it", + "valléeaoste.it", + "valleedaoste.it", + "valléedaoste.it", + "vao.it", + "vda.it", + "ven.it", + "veneto.it", + "ag.it", + "agrigento.it", + "al.it", + "alessandria.it", + "alto-adige.it", + "altoadige.it", + "an.it", + "ancona.it", + "andria-barletta-trani.it", + "andria-trani-barletta.it", + "andriabarlettatrani.it", + "andriatranibarletta.it", + "ao.it", + "aosta.it", + "aoste.it", + "ap.it", + "aq.it", + "aquila.it", + "ar.it", + "arezzo.it", + "ascoli-piceno.it", + "ascolipiceno.it", + "asti.it", + "at.it", + "av.it", + "avellino.it", + "ba.it", + "balsan-sudtirol.it", + "balsan-südtirol.it", + "balsan-suedtirol.it", + "balsan.it", + "bari.it", + "barletta-trani-andria.it", + "barlettatraniandria.it", + "belluno.it", + "benevento.it", + "bergamo.it", + "bg.it", + "bi.it", + "biella.it", + "bl.it", + "bn.it", + "bo.it", + "bologna.it", + "bolzano-altoadige.it", + "bolzano.it", + "bozen-sudtirol.it", + "bozen-südtirol.it", + "bozen-suedtirol.it", + "bozen.it", + "br.it", + "brescia.it", + "brindisi.it", + "bs.it", + "bt.it", + "bulsan-sudtirol.it", + "bulsan-südtirol.it", + "bulsan-suedtirol.it", + "bulsan.it", + "bz.it", + "ca.it", + "cagliari.it", + "caltanissetta.it", + "campidano-medio.it", + "campidanomedio.it", + "campobasso.it", + "carbonia-iglesias.it", + "carboniaiglesias.it", + "carrara-massa.it", + "carraramassa.it", + "caserta.it", + "catania.it", + "catanzaro.it", + "cb.it", + "ce.it", + "cesena-forli.it", + "cesena-forlì.it", + "cesenaforli.it", + "cesenaforlì.it", + "ch.it", + "chieti.it", + "ci.it", + "cl.it", + "cn.it", + "co.it", + "como.it", + "cosenza.it", + "cr.it", + "cremona.it", + "crotone.it", + "cs.it", + "ct.it", + "cuneo.it", + "cz.it", + "dell-ogliastra.it", + "dellogliastra.it", + "en.it", + "enna.it", + "fc.it", + "fe.it", + "fermo.it", + "ferrara.it", + "fg.it", + "fi.it", + "firenze.it", + "florence.it", + "fm.it", + "foggia.it", + "forli-cesena.it", + "forlì-cesena.it", + "forlicesena.it", + "forlìcesena.it", + "fr.it", + "frosinone.it", + "ge.it", + "genoa.it", + "genova.it", + "go.it", + "gorizia.it", + "gr.it", + "grosseto.it", + "iglesias-carbonia.it", + "iglesiascarbonia.it", + "im.it", + "imperia.it", + "is.it", + "isernia.it", + "kr.it", + "la-spezia.it", + "laquila.it", + "laspezia.it", + "latina.it", + "lc.it", + "le.it", + "lecce.it", + "lecco.it", + "li.it", + "livorno.it", + "lo.it", + "lodi.it", + "lt.it", + "lu.it", + "lucca.it", + "macerata.it", + "mantova.it", + "massa-carrara.it", + "massacarrara.it", + "matera.it", + "mb.it", + "mc.it", + "me.it", + "medio-campidano.it", + "mediocampidano.it", + "messina.it", + "mi.it", + "milan.it", + "milano.it", + "mn.it", + "mo.it", + "modena.it", + "monza-brianza.it", + "monza-e-della-brianza.it", + "monza.it", + "monzabrianza.it", + "monzaebrianza.it", + "monzaedellabrianza.it", + "ms.it", + "mt.it", + "na.it", + "naples.it", + "napoli.it", + "no.it", + "novara.it", + "nu.it", + "nuoro.it", + "og.it", + "ogliastra.it", + "olbia-tempio.it", + "olbiatempio.it", + "or.it", + "oristano.it", + "ot.it", + "pa.it", + "padova.it", + "padua.it", + "palermo.it", + "parma.it", + "pavia.it", + "pc.it", + "pd.it", + "pe.it", + "perugia.it", + "pesaro-urbino.it", + "pesarourbino.it", + "pescara.it", + "pg.it", + "pi.it", + "piacenza.it", + "pisa.it", + "pistoia.it", + "pn.it", + "po.it", + "pordenone.it", + "potenza.it", + "pr.it", + "prato.it", + "pt.it", + "pu.it", + "pv.it", + "pz.it", + "ra.it", + "ragusa.it", + "ravenna.it", + "rc.it", + "re.it", + "reggio-calabria.it", + "reggio-emilia.it", + "reggiocalabria.it", + "reggioemilia.it", + "rg.it", + "ri.it", + "rieti.it", + "rimini.it", + "rm.it", + "rn.it", + "ro.it", + "roma.it", + "rome.it", + "rovigo.it", + "sa.it", + "salerno.it", + "sassari.it", + "savona.it", + "si.it", + "siena.it", + "siracusa.it", + "so.it", + "sondrio.it", + "sp.it", + "sr.it", + "ss.it", + "suedtirol.it", + "südtirol.it", + "sv.it", + "ta.it", + "taranto.it", + "te.it", + "tempio-olbia.it", + "tempioolbia.it", + "teramo.it", + "terni.it", + "tn.it", + "to.it", + "torino.it", + "tp.it", + "tr.it", + "trani-andria-barletta.it", + "trani-barletta-andria.it", + "traniandriabarletta.it", + "tranibarlettaandria.it", + "trapani.it", + "trento.it", + "treviso.it", + "trieste.it", + "ts.it", + "turin.it", + "tv.it", + "ud.it", + "udine.it", + "urbino-pesaro.it", + "urbinopesaro.it", + "va.it", + "varese.it", + "vb.it", + "vc.it", + "ve.it", + "venezia.it", + "venice.it", + "verbania.it", + "vercelli.it", + "verona.it", + "vi.it", + "vibo-valentia.it", + "vibovalentia.it", + "vicenza.it", + "viterbo.it", + "vr.it", + "vs.it", + "vt.it", + "vv.it", + "co.je", + "net.je", + "org.je", + "*.jm", + "com.jo", + "org.jo", + "net.jo", + "edu.jo", + "sch.jo", + "gov.jo", + "mil.jo", + "name.jo", + "ac.jp", + "ad.jp", + "co.jp", + "ed.jp", + "go.jp", + "gr.jp", + "lg.jp", + "ne.jp", + "or.jp", + "aichi.jp", + "akita.jp", + "aomori.jp", + "chiba.jp", + "ehime.jp", + "fukui.jp", + "fukuoka.jp", + "fukushima.jp", + "gifu.jp", + "gunma.jp", + "hiroshima.jp", + "hokkaido.jp", + "hyogo.jp", + "ibaraki.jp", + "ishikawa.jp", + "iwate.jp", + "kagawa.jp", + "kagoshima.jp", + "kanagawa.jp", + "kochi.jp", + "kumamoto.jp", + "kyoto.jp", + "mie.jp", + "miyagi.jp", + "miyazaki.jp", + "nagano.jp", + "nagasaki.jp", + "nara.jp", + "niigata.jp", + "oita.jp", + "okayama.jp", + "okinawa.jp", + "osaka.jp", + "saga.jp", + "saitama.jp", + "shiga.jp", + "shimane.jp", + "shizuoka.jp", + "tochigi.jp", + "tokushima.jp", + "tokyo.jp", + "tottori.jp", + "toyama.jp", + "wakayama.jp", + "yamagata.jp", + "yamaguchi.jp", + "yamanashi.jp", + "栃木.jp", + "愛知.jp", + "愛媛.jp", + "兵庫.jp", + "熊本.jp", + "茨城.jp", + "北海道.jp", + "千葉.jp", + "和歌山.jp", + "長崎.jp", + "長野.jp", + "新潟.jp", + "青森.jp", + "静岡.jp", + "東京.jp", + "石川.jp", + "埼玉.jp", + "三重.jp", + "京都.jp", + "佐賀.jp", + "大分.jp", + "大阪.jp", + "奈良.jp", + "宮城.jp", + "宮崎.jp", + "富山.jp", + "山口.jp", + "山形.jp", + "山梨.jp", + "岩手.jp", + "岐阜.jp", + "岡山.jp", + "島根.jp", + "広島.jp", + "徳島.jp", + "沖縄.jp", + "滋賀.jp", + "神奈川.jp", + "福井.jp", + "福岡.jp", + "福島.jp", + "秋田.jp", + "群馬.jp", + "香川.jp", + "高知.jp", + "鳥取.jp", + "鹿児島.jp", + "ac.ke", + "co.ke", + "go.ke", + "info.ke", + "me.ke", + "mobi.ke", + "ne.ke", + "or.ke", + "sc.ke", + "org.kg", + "net.kg", + "com.kg", + "edu.kg", + "gov.kg", + "mil.kg", + "*.kh", + "edu.ki", + "biz.ki", + "net.ki", + "org.ki", + "gov.ki", + "info.ki", + "com.ki", + "org.km", + "nom.km", + "gov.km", + "prd.km", + "tm.km", + "edu.km", + "mil.km", + "ass.km", + "com.km", + "coop.km", + "asso.km", + "presse.km", + "medecin.km", + "notaires.km", + "pharmaciens.km", + "veterinaire.km", + "gouv.km", + "net.kn", + "org.kn", + "edu.kn", + "gov.kn", + "com.kp", + "edu.kp", + "gov.kp", + "org.kp", + "rep.kp", + "tra.kp", + "ac.kr", + "co.kr", + "es.kr", + "go.kr", + "hs.kr", + "kg.kr", + "mil.kr", + "ms.kr", + "ne.kr", + "or.kr", + "pe.kr", + "re.kr", + "sc.kr", + "busan.kr", + "chungbuk.kr", + "chungnam.kr", + "daegu.kr", + "daejeon.kr", + "gangwon.kr", + "gwangju.kr", + "gyeongbuk.kr", + "gyeonggi.kr", + "gyeongnam.kr", + "incheon.kr", + "jeju.kr", + "jeonbuk.kr", + "jeonnam.kr", + "seoul.kr", + "ulsan.kr", + "com.kw", + "edu.kw", + "emb.kw", + "gov.kw", + "ind.kw", + "net.kw", + "org.kw", + "com.ky", + "edu.ky", + "net.ky", + "org.ky", + "org.kz", + "edu.kz", + "net.kz", + "gov.kz", + "mil.kz", + "com.kz", + "int.la", + "net.la", + "info.la", + "edu.la", + "gov.la", + "per.la", + "com.la", + "org.la", + "com.lb", + "edu.lb", + "gov.lb", + "net.lb", + "org.lb", + "com.lc", + "net.lc", + "co.lc", + "org.lc", + "edu.lc", + "gov.lc", + "gov.lk", + "sch.lk", + "net.lk", + "int.lk", + "com.lk", + "org.lk", + "edu.lk", + "ngo.lk", + "soc.lk", + "web.lk", + "ltd.lk", + "assn.lk", + "grp.lk", + "hotel.lk", + "ac.lk", + "com.lr", + "edu.lr", + "gov.lr", + "org.lr", + "net.lr", + "ac.ls", + "biz.ls", + "co.ls", + "edu.ls", + "gov.ls", + "info.ls", + "net.ls", + "org.ls", + "sc.ls", + "gov.lt", + "com.lv", + "edu.lv", + "gov.lv", + "org.lv", + "mil.lv", + "id.lv", + "net.lv", + "asn.lv", + "conf.lv", + "com.ly", + "net.ly", + "gov.ly", + "plc.ly", + "edu.ly", + "sch.ly", + "med.ly", + "org.ly", + "id.ly", + "co.ma", + "net.ma", + "gov.ma", + "org.ma", + "ac.ma", + "press.ma", + "tm.mc", + "asso.mc", + "co.me", + "net.me", + "org.me", + "edu.me", + "ac.me", + "gov.me", + "its.me", + "priv.me", + "org.mg", + "nom.mg", + "gov.mg", + "prd.mg", + "tm.mg", + "edu.mg", + "mil.mg", + "com.mg", + "co.mg", + "com.mk", + "org.mk", + "net.mk", + "edu.mk", + "gov.mk", + "inf.mk", + "name.mk", + "com.ml", + "edu.ml", + "gouv.ml", + "gov.ml", + "net.ml", + "org.ml", + "presse.ml", + "*.mm", + "gov.mn", + "edu.mn", + "org.mn", + "com.mo", + "net.mo", + "org.mo", + "edu.mo", + "gov.mo", + "gov.mr", + "com.ms", + "edu.ms", + "gov.ms", + "net.ms", + "org.ms", + "com.mt", + "edu.mt", + "net.mt", + "org.mt", + "com.mu", + "net.mu", + "org.mu", + "gov.mu", + "ac.mu", + "co.mu", + "or.mu", + "aero.mv", + "biz.mv", + "com.mv", + "coop.mv", + "edu.mv", + "gov.mv", + "info.mv", + "int.mv", + "mil.mv", + "museum.mv", + "name.mv", + "net.mv", + "org.mv", + "pro.mv", + "ac.mw", + "biz.mw", + "co.mw", + "com.mw", + "coop.mw", + "edu.mw", + "gov.mw", + "int.mw", + "museum.mw", + "net.mw", + "org.mw", + "com.mx", + "org.mx", + "gob.mx", + "edu.mx", + "net.mx", + "biz.my", + "com.my", + "edu.my", + "gov.my", + "mil.my", + "name.my", + "net.my", + "org.my", + "ac.mz", + "adv.mz", + "co.mz", + "edu.mz", + "gov.mz", + "mil.mz", + "net.mz", + "org.mz", + "info.na", + "pro.na", + "name.na", + "school.na", + "or.na", + "dr.na", + "us.na", + "mx.na", + "ca.na", + "in.na", + "cc.na", + "tv.na", + "ws.na", + "mobi.na", + "co.na", + "com.na", + "org.na", + "asso.nc", + "nom.nc", + "com.nf", + "net.nf", + "per.nf", + "rec.nf", + "web.nf", + "arts.nf", + "firm.nf", + "info.nf", + "other.nf", + "store.nf", + "com.ng", + "edu.ng", + "gov.ng", + "i.ng", + "mil.ng", + "mobi.ng", + "name.ng", + "net.ng", + "org.ng", + "sch.ng", + "ac.ni", + "biz.ni", + "co.ni", + "com.ni", + "edu.ni", + "gob.ni", + "in.ni", + "info.ni", + "int.ni", + "mil.ni", + "net.ni", + "nom.ni", + "org.ni", + "web.ni", + "fhs.no", + "vgs.no", + "fylkesbibl.no", + "folkebibl.no", + "museum.no", + "idrett.no", + "priv.no", + "mil.no", + "stat.no", + "dep.no", + "kommune.no", + "herad.no", + "aa.no", + "ah.no", + "bu.no", + "fm.no", + "hl.no", + "hm.no", + "jan-mayen.no", + "mr.no", + "nl.no", + "nt.no", + "of.no", + "ol.no", + "oslo.no", + "rl.no", + "sf.no", + "st.no", + "svalbard.no", + "tm.no", + "tr.no", + "va.no", + "vf.no", + "akrehamn.no", + "åkrehamn.no", + "algard.no", + "ålgård.no", + "arna.no", + "brumunddal.no", + "bryne.no", + "bronnoysund.no", + "brønnøysund.no", + "drobak.no", + "drøbak.no", + "egersund.no", + "fetsund.no", + "floro.no", + "florø.no", + "fredrikstad.no", + "hokksund.no", + "honefoss.no", + "hønefoss.no", + "jessheim.no", + "jorpeland.no", + "jørpeland.no", + "kirkenes.no", + "kopervik.no", + "krokstadelva.no", + "langevag.no", + "langevåg.no", + "leirvik.no", + "mjondalen.no", + "mjøndalen.no", + "mo-i-rana.no", + "mosjoen.no", + "mosjøen.no", + "nesoddtangen.no", + "orkanger.no", + "osoyro.no", + "osøyro.no", + "raholt.no", + "råholt.no", + "sandnessjoen.no", + "sandnessjøen.no", + "skedsmokorset.no", + "slattum.no", + "spjelkavik.no", + "stathelle.no", + "stavern.no", + "stjordalshalsen.no", + "stjørdalshalsen.no", + "tananger.no", + "tranby.no", + "vossevangen.no", + "afjord.no", + "åfjord.no", + "agdenes.no", + "al.no", + "ål.no", + "alesund.no", + "ålesund.no", + "alstahaug.no", + "alta.no", + "áltá.no", + "alaheadju.no", + "álaheadju.no", + "alvdal.no", + "amli.no", + "åmli.no", + "amot.no", + "åmot.no", + "andebu.no", + "andoy.no", + "andøy.no", + "andasuolo.no", + "ardal.no", + "årdal.no", + "aremark.no", + "arendal.no", + "ås.no", + "aseral.no", + "åseral.no", + "asker.no", + "askim.no", + "askvoll.no", + "askoy.no", + "askøy.no", + "asnes.no", + "åsnes.no", + "audnedaln.no", + "aukra.no", + "aure.no", + "aurland.no", + "aurskog-holand.no", + "aurskog-høland.no", + "austevoll.no", + "austrheim.no", + "averoy.no", + "averøy.no", + "balestrand.no", + "ballangen.no", + "balat.no", + "bálát.no", + "balsfjord.no", + "bahccavuotna.no", + "báhccavuotna.no", + "bamble.no", + "bardu.no", + "beardu.no", + "beiarn.no", + "bajddar.no", + "bájddar.no", + "baidar.no", + "báidár.no", + "berg.no", + "bergen.no", + "berlevag.no", + "berlevåg.no", + "bearalvahki.no", + "bearalváhki.no", + "bindal.no", + "birkenes.no", + "bjarkoy.no", + "bjarkøy.no", + "bjerkreim.no", + "bjugn.no", + "bodo.no", + "bodø.no", + "badaddja.no", + "bådåddjå.no", + "budejju.no", + "bokn.no", + "bremanger.no", + "bronnoy.no", + "brønnøy.no", + "bygland.no", + "bykle.no", + "barum.no", + "bærum.no", + "bievat.no", + "bievát.no", + "bomlo.no", + "bømlo.no", + "batsfjord.no", + "båtsfjord.no", + "bahcavuotna.no", + "báhcavuotna.no", + "dovre.no", + "drammen.no", + "drangedal.no", + "dyroy.no", + "dyrøy.no", + "donna.no", + "dønna.no", + "eid.no", + "eidfjord.no", + "eidsberg.no", + "eidskog.no", + "eidsvoll.no", + "eigersund.no", + "elverum.no", + "enebakk.no", + "engerdal.no", + "etne.no", + "etnedal.no", + "evenes.no", + "evenassi.no", + "evenášši.no", + "evje-og-hornnes.no", + "farsund.no", + "fauske.no", + "fuossko.no", + "fuoisku.no", + "fedje.no", + "fet.no", + "finnoy.no", + "finnøy.no", + "fitjar.no", + "fjaler.no", + "fjell.no", + "flakstad.no", + "flatanger.no", + "flekkefjord.no", + "flesberg.no", + "flora.no", + "fla.no", + "flå.no", + "folldal.no", + "forsand.no", + "fosnes.no", + "frei.no", + "frogn.no", + "froland.no", + "frosta.no", + "frana.no", + "fræna.no", + "froya.no", + "frøya.no", + "fusa.no", + "fyresdal.no", + "forde.no", + "førde.no", + "gamvik.no", + "gangaviika.no", + "gáŋgaviika.no", + "gaular.no", + "gausdal.no", + "gildeskal.no", + "gildeskål.no", + "giske.no", + "gjemnes.no", + "gjerdrum.no", + "gjerstad.no", + "gjesdal.no", + "gjovik.no", + "gjøvik.no", + "gloppen.no", + "gol.no", + "gran.no", + "grane.no", + "granvin.no", + "gratangen.no", + "grimstad.no", + "grong.no", + "kraanghke.no", + "kråanghke.no", + "grue.no", + "gulen.no", + "hadsel.no", + "halden.no", + "halsa.no", + "hamar.no", + "hamaroy.no", + "habmer.no", + "hábmer.no", + "hapmir.no", + "hápmir.no", + "hammerfest.no", + "hammarfeasta.no", + "hámmárfeasta.no", + "haram.no", + "hareid.no", + "harstad.no", + "hasvik.no", + "aknoluokta.no", + "ákŋoluokta.no", + "hattfjelldal.no", + "aarborte.no", + "haugesund.no", + "hemne.no", + "hemnes.no", + "hemsedal.no", + "hitra.no", + "hjartdal.no", + "hjelmeland.no", + "hobol.no", + "hobøl.no", + "hof.no", + "hol.no", + "hole.no", + "holmestrand.no", + "holtalen.no", + "holtålen.no", + "hornindal.no", + "horten.no", + "hurdal.no", + "hurum.no", + "hvaler.no", + "hyllestad.no", + "hagebostad.no", + "hægebostad.no", + "hoyanger.no", + "høyanger.no", + "hoylandet.no", + "høylandet.no", + "ha.no", + "hå.no", + "ibestad.no", + "inderoy.no", + "inderøy.no", + "iveland.no", + "jevnaker.no", + "jondal.no", + "jolster.no", + "jølster.no", + "karasjok.no", + "karasjohka.no", + "kárášjohka.no", + "karlsoy.no", + "galsa.no", + "gálsá.no", + "karmoy.no", + "karmøy.no", + "kautokeino.no", + "guovdageaidnu.no", + "klepp.no", + "klabu.no", + "klæbu.no", + "kongsberg.no", + "kongsvinger.no", + "kragero.no", + "kragerø.no", + "kristiansand.no", + "kristiansund.no", + "krodsherad.no", + "krødsherad.no", + "kvalsund.no", + "rahkkeravju.no", + "ráhkkerávju.no", + "kvam.no", + "kvinesdal.no", + "kvinnherad.no", + "kviteseid.no", + "kvitsoy.no", + "kvitsøy.no", + "kvafjord.no", + "kvæfjord.no", + "giehtavuoatna.no", + "kvanangen.no", + "kvænangen.no", + "navuotna.no", + "návuotna.no", + "kafjord.no", + "kåfjord.no", + "gaivuotna.no", + "gáivuotna.no", + "larvik.no", + "lavangen.no", + "lavagis.no", + "loabat.no", + "loabát.no", + "lebesby.no", + "davvesiida.no", + "leikanger.no", + "leirfjord.no", + "leka.no", + "leksvik.no", + "lenvik.no", + "leangaviika.no", + "leaŋgaviika.no", + "lesja.no", + "levanger.no", + "lier.no", + "lierne.no", + "lillehammer.no", + "lillesand.no", + "lindesnes.no", + "lindas.no", + "lindås.no", + "lom.no", + "loppa.no", + "lahppi.no", + "láhppi.no", + "lund.no", + "lunner.no", + "luroy.no", + "lurøy.no", + "luster.no", + "lyngdal.no", + "lyngen.no", + "ivgu.no", + "lardal.no", + "lerdal.no", + "lærdal.no", + "lodingen.no", + "lødingen.no", + "lorenskog.no", + "lørenskog.no", + "loten.no", + "løten.no", + "malvik.no", + "masoy.no", + "måsøy.no", + "muosat.no", + "muosát.no", + "mandal.no", + "marker.no", + "marnardal.no", + "masfjorden.no", + "meland.no", + "meldal.no", + "melhus.no", + "meloy.no", + "meløy.no", + "meraker.no", + "meråker.no", + "moareke.no", + "moåreke.no", + "midsund.no", + "midtre-gauldal.no", + "modalen.no", + "modum.no", + "molde.no", + "moskenes.no", + "moss.no", + "mosvik.no", + "malselv.no", + "målselv.no", + "malatvuopmi.no", + "málatvuopmi.no", + "namdalseid.no", + "aejrie.no", + "namsos.no", + "namsskogan.no", + "naamesjevuemie.no", + "nååmesjevuemie.no", + "laakesvuemie.no", + "nannestad.no", + "narvik.no", + "narviika.no", + "naustdal.no", + "nedre-eiker.no", + "nesna.no", + "nesodden.no", + "nesseby.no", + "unjarga.no", + "unjárga.no", + "nesset.no", + "nissedal.no", + "nittedal.no", + "nord-aurdal.no", + "nord-fron.no", + "nord-odal.no", + "norddal.no", + "nordkapp.no", + "davvenjarga.no", + "davvenjárga.no", + "nordre-land.no", + "nordreisa.no", + "raisa.no", + "ráisa.no", + "nore-og-uvdal.no", + "notodden.no", + "naroy.no", + "nærøy.no", + "notteroy.no", + "nøtterøy.no", + "odda.no", + "oksnes.no", + "øksnes.no", + "oppdal.no", + "oppegard.no", + "oppegård.no", + "orkdal.no", + "orland.no", + "ørland.no", + "orskog.no", + "ørskog.no", + "orsta.no", + "ørsta.no", + "osen.no", + "osteroy.no", + "osterøy.no", + "ostre-toten.no", + "østre-toten.no", + "overhalla.no", + "ovre-eiker.no", + "øvre-eiker.no", + "oyer.no", + "øyer.no", + "oygarden.no", + "øygarden.no", + "oystre-slidre.no", + "øystre-slidre.no", + "porsanger.no", + "porsangu.no", + "porsáŋgu.no", + "porsgrunn.no", + "radoy.no", + "radøy.no", + "rakkestad.no", + "rana.no", + "ruovat.no", + "randaberg.no", + "rauma.no", + "rendalen.no", + "rennebu.no", + "rennesoy.no", + "rennesøy.no", + "rindal.no", + "ringebu.no", + "ringerike.no", + "ringsaker.no", + "rissa.no", + "risor.no", + "risør.no", + "roan.no", + "rollag.no", + "rygge.no", + "ralingen.no", + "rælingen.no", + "rodoy.no", + "rødøy.no", + "romskog.no", + "rømskog.no", + "roros.no", + "røros.no", + "rost.no", + "røst.no", + "royken.no", + "røyken.no", + "royrvik.no", + "røyrvik.no", + "rade.no", + "råde.no", + "salangen.no", + "siellak.no", + "saltdal.no", + "salat.no", + "sálát.no", + "sálat.no", + "samnanger.no", + "sandefjord.no", + "sandnes.no", + "sandoy.no", + "sandøy.no", + "sarpsborg.no", + "sauda.no", + "sauherad.no", + "sel.no", + "selbu.no", + "selje.no", + "seljord.no", + "sigdal.no", + "siljan.no", + "sirdal.no", + "skaun.no", + "skedsmo.no", + "ski.no", + "skien.no", + "skiptvet.no", + "skjervoy.no", + "skjervøy.no", + "skierva.no", + "skiervá.no", + "skjak.no", + "skjåk.no", + "skodje.no", + "skanland.no", + "skånland.no", + "skanit.no", + "skánit.no", + "smola.no", + "smøla.no", + "snillfjord.no", + "snasa.no", + "snåsa.no", + "snoasa.no", + "snaase.no", + "snåase.no", + "sogndal.no", + "sokndal.no", + "sola.no", + "solund.no", + "songdalen.no", + "sortland.no", + "spydeberg.no", + "stange.no", + "stavanger.no", + "steigen.no", + "steinkjer.no", + "stjordal.no", + "stjørdal.no", + "stokke.no", + "stor-elvdal.no", + "stord.no", + "stordal.no", + "storfjord.no", + "omasvuotna.no", + "strand.no", + "stranda.no", + "stryn.no", + "sula.no", + "suldal.no", + "sund.no", + "sunndal.no", + "surnadal.no", + "sveio.no", + "svelvik.no", + "sykkylven.no", + "sogne.no", + "søgne.no", + "somna.no", + "sømna.no", + "sondre-land.no", + "søndre-land.no", + "sor-aurdal.no", + "sør-aurdal.no", + "sor-fron.no", + "sør-fron.no", + "sor-odal.no", + "sør-odal.no", + "sor-varanger.no", + "sør-varanger.no", + "matta-varjjat.no", + "mátta-várjjat.no", + "sorfold.no", + "sørfold.no", + "sorreisa.no", + "sørreisa.no", + "sorum.no", + "sørum.no", + "tana.no", + "deatnu.no", + "time.no", + "tingvoll.no", + "tinn.no", + "tjeldsund.no", + "dielddanuorri.no", + "tjome.no", + "tjøme.no", + "tokke.no", + "tolga.no", + "torsken.no", + "tranoy.no", + "tranøy.no", + "tromso.no", + "tromsø.no", + "tromsa.no", + "romsa.no", + "trondheim.no", + "troandin.no", + "trysil.no", + "trana.no", + "træna.no", + "trogstad.no", + "trøgstad.no", + "tvedestrand.no", + "tydal.no", + "tynset.no", + "tysfjord.no", + "divtasvuodna.no", + "divttasvuotna.no", + "tysnes.no", + "tysvar.no", + "tysvær.no", + "tonsberg.no", + "tønsberg.no", + "ullensaker.no", + "ullensvang.no", + "ulvik.no", + "utsira.no", + "vadso.no", + "vadsø.no", + "cahcesuolo.no", + "čáhcesuolo.no", + "vaksdal.no", + "valle.no", + "vang.no", + "vanylven.no", + "vardo.no", + "vardø.no", + "varggat.no", + "várggát.no", + "vefsn.no", + "vaapste.no", + "vega.no", + "vegarshei.no", + "vegårshei.no", + "vennesla.no", + "verdal.no", + "verran.no", + "vestby.no", + "vestnes.no", + "vestre-slidre.no", + "vestre-toten.no", + "vestvagoy.no", + "vestvågøy.no", + "vevelstad.no", + "vik.no", + "vikna.no", + "vindafjord.no", + "volda.no", + "voss.no", + "varoy.no", + "værøy.no", + "vagan.no", + "vågan.no", + "voagat.no", + "vagsoy.no", + "vågsøy.no", + "vaga.no", + "vågå.no", + "*.np", + "biz.nr", + "info.nr", + "gov.nr", + "edu.nr", + "org.nr", + "net.nr", + "com.nr", + "ac.nz", + "co.nz", + "cri.nz", + "geek.nz", + "gen.nz", + "govt.nz", + "health.nz", + "iwi.nz", + "kiwi.nz", + "maori.nz", + "mil.nz", + "māori.nz", + "net.nz", + "org.nz", + "parliament.nz", + "school.nz", + "co.om", + "com.om", + "edu.om", + "gov.om", + "med.om", + "museum.om", + "net.om", + "org.om", + "pro.om", + "ac.pa", + "gob.pa", + "com.pa", + "org.pa", + "sld.pa", + "edu.pa", + "net.pa", + "ing.pa", + "abo.pa", + "med.pa", + "nom.pa", + "edu.pe", + "gob.pe", + "nom.pe", + "mil.pe", + "org.pe", + "com.pe", + "net.pe", + "com.pf", + "org.pf", + "edu.pf", + "*.pg", + "com.ph", + "net.ph", + "org.ph", + "gov.ph", + "edu.ph", + "ngo.ph", + "mil.ph", + "i.ph", + "com.pk", + "net.pk", + "edu.pk", + "org.pk", + "fam.pk", + "biz.pk", + "web.pk", + "gov.pk", + "gob.pk", + "gok.pk", + "gon.pk", + "gop.pk", + "gos.pk", + "info.pk", + "com.pl", + "net.pl", + "org.pl", + "aid.pl", + "agro.pl", + "atm.pl", + "auto.pl", + "biz.pl", + "edu.pl", + "gmina.pl", + "gsm.pl", + "info.pl", + "mail.pl", + "miasta.pl", + "media.pl", + "mil.pl", + "nieruchomosci.pl", + "nom.pl", + "pc.pl", + "powiat.pl", + "priv.pl", + "realestate.pl", + "rel.pl", + "sex.pl", + "shop.pl", + "sklep.pl", + "sos.pl", + "szkola.pl", + "targi.pl", + "tm.pl", + "tourism.pl", + "travel.pl", + "turystyka.pl", + "gov.pl", + "augustow.pl", + "babia-gora.pl", + "bedzin.pl", + "beskidy.pl", + "bialowieza.pl", + "bialystok.pl", + "bielawa.pl", + "bieszczady.pl", + "boleslawiec.pl", + "bydgoszcz.pl", + "bytom.pl", + "cieszyn.pl", + "czeladz.pl", + "czest.pl", + "dlugoleka.pl", + "elblag.pl", + "elk.pl", + "glogow.pl", + "gniezno.pl", + "gorlice.pl", + "grajewo.pl", + "ilawa.pl", + "jaworzno.pl", + "jelenia-gora.pl", + "jgora.pl", + "kalisz.pl", + "kazimierz-dolny.pl", + "karpacz.pl", + "kartuzy.pl", + "kaszuby.pl", + "katowice.pl", + "kepno.pl", + "ketrzyn.pl", + "klodzko.pl", + "kobierzyce.pl", + "kolobrzeg.pl", + "konin.pl", + "konskowola.pl", + "kutno.pl", + "lapy.pl", + "lebork.pl", + "legnica.pl", + "lezajsk.pl", + "limanowa.pl", + "lomza.pl", + "lowicz.pl", + "lubin.pl", + "lukow.pl", + "malbork.pl", + "malopolska.pl", + "mazowsze.pl", + "mazury.pl", + "mielec.pl", + "mielno.pl", + "mragowo.pl", + "naklo.pl", + "nowaruda.pl", + "nysa.pl", + "olawa.pl", + "olecko.pl", + "olkusz.pl", + "olsztyn.pl", + "opoczno.pl", + "opole.pl", + "ostroda.pl", + "ostroleka.pl", + "ostrowiec.pl", + "ostrowwlkp.pl", + "pila.pl", + "pisz.pl", + "podhale.pl", + "podlasie.pl", + "polkowice.pl", + "pomorze.pl", + "pomorskie.pl", + "prochowice.pl", + "pruszkow.pl", + "przeworsk.pl", + "pulawy.pl", + "radom.pl", + "rawa-maz.pl", + "rybnik.pl", + "rzeszow.pl", + "sanok.pl", + "sejny.pl", + "slask.pl", + "slupsk.pl", + "sosnowiec.pl", + "stalowa-wola.pl", + "skoczow.pl", + "starachowice.pl", + "stargard.pl", + "suwalki.pl", + "swidnica.pl", + "swiebodzin.pl", + "swinoujscie.pl", + "szczecin.pl", + "szczytno.pl", + "tarnobrzeg.pl", + "tgory.pl", + "turek.pl", + "tychy.pl", + "ustka.pl", + "walbrzych.pl", + "warmia.pl", + "warszawa.pl", + "waw.pl", + "wegrow.pl", + "wielun.pl", + "wlocl.pl", + "wloclawek.pl", + "wodzislaw.pl", + "wolomin.pl", + "wroclaw.pl", + "zachpomor.pl", + "zagan.pl", + "zarow.pl", + "zgora.pl", + "zgorzelec.pl", + "gov.pn", + "co.pn", + "org.pn", + "edu.pn", + "net.pn", + "com.pr", + "net.pr", + "org.pr", + "gov.pr", + "edu.pr", + "isla.pr", + "pro.pr", + "biz.pr", + "info.pr", + "name.pr", + "est.pr", + "prof.pr", + "ac.pr", + "aaa.pro", + "aca.pro", + "acct.pro", + "avocat.pro", + "bar.pro", + "cpa.pro", + "eng.pro", + "jur.pro", + "law.pro", + "med.pro", + "recht.pro", + "edu.ps", + "gov.ps", + "sec.ps", + "plo.ps", + "com.ps", + "org.ps", + "net.ps", + "net.pt", + "gov.pt", + "org.pt", + "edu.pt", + "int.pt", + "publ.pt", + "com.pt", + "nome.pt", + "co.pw", + "ne.pw", + "or.pw", + "ed.pw", + "go.pw", + "belau.pw", + "com.py", + "coop.py", + "edu.py", + "gov.py", + "mil.py", + "net.py", + "org.py", + "com.qa", + "edu.qa", + "gov.qa", + "mil.qa", + "name.qa", + "net.qa", + "org.qa", + "sch.qa", + "asso.re", + "com.re", + "nom.re", + "arts.ro", + "com.ro", + "firm.ro", + "info.ro", + "nom.ro", + "nt.ro", + "org.ro", + "rec.ro", + "store.ro", + "tm.ro", + "www.ro", + "ac.rs", + "co.rs", + "edu.rs", + "gov.rs", + "in.rs", + "org.rs", + "ac.rw", + "co.rw", + "coop.rw", + "gov.rw", + "mil.rw", + "net.rw", + "org.rw", + "com.sa", + "net.sa", + "org.sa", + "gov.sa", + "med.sa", + "pub.sa", + "edu.sa", + "sch.sa", + "com.sb", + "edu.sb", + "gov.sb", + "net.sb", + "org.sb", + "com.sc", + "gov.sc", + "net.sc", + "org.sc", + "edu.sc", + "com.sd", + "net.sd", + "org.sd", + "edu.sd", + "med.sd", + "tv.sd", + "gov.sd", + "info.sd", + "a.se", + "ac.se", + "b.se", + "bd.se", + "brand.se", + "c.se", + "d.se", + "e.se", + "f.se", + "fh.se", + "fhsk.se", + "fhv.se", + "g.se", + "h.se", + "i.se", + "k.se", + "komforb.se", + "kommunalforbund.se", + "komvux.se", + "l.se", + "lanbib.se", + "m.se", + "n.se", + "naturbruksgymn.se", + "o.se", + "org.se", + "p.se", + "parti.se", + "pp.se", + "press.se", + "r.se", + "s.se", + "t.se", + "tm.se", + "u.se", + "w.se", + "x.se", + "y.se", + "z.se", + "com.sg", + "net.sg", + "org.sg", + "gov.sg", + "edu.sg", + "per.sg", + "com.sh", + "net.sh", + "gov.sh", + "org.sh", + "mil.sh", + "com.sl", + "net.sl", + "edu.sl", + "gov.sl", + "org.sl", + "art.sn", + "com.sn", + "edu.sn", + "gouv.sn", + "org.sn", + "perso.sn", + "univ.sn", + "com.so", + "edu.so", + "gov.so", + "me.so", + "net.so", + "org.so", + "biz.ss", + "com.ss", + "edu.ss", + "gov.ss", + "me.ss", + "net.ss", + "org.ss", + "sch.ss", + "co.st", + "com.st", + "consulado.st", + "edu.st", + "embaixada.st", + "mil.st", + "net.st", + "org.st", + "principe.st", + "saotome.st", + "store.st", + "com.sv", + "edu.sv", + "gob.sv", + "org.sv", + "red.sv", + "gov.sx", + "edu.sy", + "gov.sy", + "net.sy", + "mil.sy", + "com.sy", + "org.sy", + "co.sz", + "ac.sz", + "org.sz", + "ac.th", + "co.th", + "go.th", + "in.th", + "mi.th", + "net.th", + "or.th", + "ac.tj", + "biz.tj", + "co.tj", + "com.tj", + "edu.tj", + "go.tj", + "gov.tj", + "int.tj", + "mil.tj", + "name.tj", + "net.tj", + "nic.tj", + "org.tj", + "test.tj", + "web.tj", + "gov.tl", + "com.tm", + "co.tm", + "org.tm", + "net.tm", + "nom.tm", + "gov.tm", + "mil.tm", + "edu.tm", + "com.tn", + "ens.tn", + "fin.tn", + "gov.tn", + "ind.tn", + "info.tn", + "intl.tn", + "mincom.tn", + "nat.tn", + "net.tn", + "org.tn", + "perso.tn", + "tourism.tn", + "com.to", + "gov.to", + "net.to", + "org.to", + "edu.to", + "mil.to", + "av.tr", + "bbs.tr", + "bel.tr", + "biz.tr", + "com.tr", + "dr.tr", + "edu.tr", + "gen.tr", + "gov.tr", + "info.tr", + "mil.tr", + "k12.tr", + "kep.tr", + "name.tr", + "net.tr", + "org.tr", + "pol.tr", + "tel.tr", + "tsk.tr", + "tv.tr", + "web.tr", + "nc.tr", + "co.tt", + "com.tt", + "org.tt", + "net.tt", + "biz.tt", + "info.tt", + "pro.tt", + "int.tt", + "coop.tt", + "jobs.tt", + "mobi.tt", + "travel.tt", + "museum.tt", + "aero.tt", + "name.tt", + "gov.tt", + "edu.tt", + "edu.tw", + "gov.tw", + "mil.tw", + "com.tw", + "net.tw", + "org.tw", + "idv.tw", + "game.tw", + "ebiz.tw", + "club.tw", + "網路.tw", + "組織.tw", + "商業.tw", + "ac.tz", + "co.tz", + "go.tz", + "hotel.tz", + "info.tz", + "me.tz", + "mil.tz", + "mobi.tz", + "ne.tz", + "or.tz", + "sc.tz", + "tv.tz", + "com.ua", + "edu.ua", + "gov.ua", + "in.ua", + "net.ua", + "org.ua", + "cherkassy.ua", + "cherkasy.ua", + "chernigov.ua", + "chernihiv.ua", + "chernivtsi.ua", + "chernovtsy.ua", + "ck.ua", + "cn.ua", + "cr.ua", + "crimea.ua", + "cv.ua", + "dn.ua", + "dnepropetrovsk.ua", + "dnipropetrovsk.ua", + "donetsk.ua", + "dp.ua", + "if.ua", + "ivano-frankivsk.ua", + "kh.ua", + "kharkiv.ua", + "kharkov.ua", + "kherson.ua", + "khmelnitskiy.ua", + "khmelnytskyi.ua", + "kiev.ua", + "kirovograd.ua", + "km.ua", + "kr.ua", + "kropyvnytskyi.ua", + "krym.ua", + "ks.ua", + "kv.ua", + "kyiv.ua", + "lg.ua", + "lt.ua", + "lugansk.ua", + "lutsk.ua", + "lv.ua", + "lviv.ua", + "mk.ua", + "mykolaiv.ua", + "nikolaev.ua", + "od.ua", + "odesa.ua", + "odessa.ua", + "pl.ua", + "poltava.ua", + "rivne.ua", + "rovno.ua", + "rv.ua", + "sb.ua", + "sebastopol.ua", + "sevastopol.ua", + "sm.ua", + "sumy.ua", + "te.ua", + "ternopil.ua", + "uz.ua", + "uzhgorod.ua", + "vinnica.ua", + "vinnytsia.ua", + "vn.ua", + "volyn.ua", + "yalta.ua", + "zaporizhzhe.ua", + "zaporizhzhia.ua", + "zhitomir.ua", + "zhytomyr.ua", + "zp.ua", + "zt.ua", + "co.ug", + "or.ug", + "ac.ug", + "sc.ug", + "go.ug", + "ne.ug", + "com.ug", + "org.ug", + "ac.uk", + "co.uk", + "gov.uk", + "ltd.uk", + "me.uk", + "net.uk", + "nhs.uk", + "org.uk", + "plc.uk", + "police.uk", + "dni.us", + "fed.us", + "isa.us", + "kids.us", + "nsn.us", + "ak.us", + "al.us", + "ar.us", + "as.us", + "az.us", + "ca.us", + "co.us", + "ct.us", + "dc.us", + "de.us", + "fl.us", + "ga.us", + "gu.us", + "hi.us", + "ia.us", + "id.us", + "il.us", + "in.us", + "ks.us", + "ky.us", + "la.us", + "ma.us", + "md.us", + "me.us", + "mi.us", + "mn.us", + "mo.us", + "ms.us", + "mt.us", + "nc.us", + "nd.us", + "ne.us", + "nh.us", + "nj.us", + "nm.us", + "nv.us", + "ny.us", + "oh.us", + "ok.us", + "or.us", + "pa.us", + "pr.us", + "ri.us", + "sc.us", + "sd.us", + "tn.us", + "tx.us", + "ut.us", + "vi.us", + "vt.us", + "va.us", + "wa.us", + "wi.us", + "wv.us", + "wy.us", + "com.uy", + "edu.uy", + "gub.uy", + "mil.uy", + "net.uy", + "org.uy", + "co.uz", + "com.uz", + "net.uz", + "org.uz", + "com.vc", + "net.vc", + "org.vc", + "gov.vc", + "mil.vc", + "edu.vc", + "arts.ve", + "bib.ve", + "co.ve", + "com.ve", + "e12.ve", + "edu.ve", + "firm.ve", + "gob.ve", + "gov.ve", + "info.ve", + "int.ve", + "mil.ve", + "net.ve", + "nom.ve", + "org.ve", + "rar.ve", + "rec.ve", + "store.ve", + "tec.ve", + "web.ve", + "co.vi", + "com.vi", + "k12.vi", + "net.vi", + "org.vi", + "ac.vn", + "ai.vn", + "biz.vn", + "com.vn", + "edu.vn", + "gov.vn", + "health.vn", + "id.vn", + "info.vn", + "int.vn", + "io.vn", + "name.vn", + "net.vn", + "org.vn", + "pro.vn", + "angiang.vn", + "bacgiang.vn", + "backan.vn", + "baclieu.vn", + "bacninh.vn", + "baria-vungtau.vn", + "bentre.vn", + "binhdinh.vn", + "binhduong.vn", + "binhphuoc.vn", + "binhthuan.vn", + "camau.vn", + "cantho.vn", + "caobang.vn", + "daklak.vn", + "daknong.vn", + "danang.vn", + "dienbien.vn", + "dongnai.vn", + "dongthap.vn", + "gialai.vn", + "hagiang.vn", + "haiduong.vn", + "haiphong.vn", + "hanam.vn", + "hanoi.vn", + "hatinh.vn", + "haugiang.vn", + "hoabinh.vn", + "hungyen.vn", + "khanhhoa.vn", + "kiengiang.vn", + "kontum.vn", + "laichau.vn", + "lamdong.vn", + "langson.vn", + "laocai.vn", + "longan.vn", + "namdinh.vn", + "nghean.vn", + "ninhbinh.vn", + "ninhthuan.vn", + "phutho.vn", + "phuyen.vn", + "quangbinh.vn", + "quangnam.vn", + "quangngai.vn", + "quangninh.vn", + "quangtri.vn", + "soctrang.vn", + "sonla.vn", + "tayninh.vn", + "thaibinh.vn", + "thainguyen.vn", + "thanhhoa.vn", + "thanhphohochiminh.vn", + "thuathienhue.vn", + "tiengiang.vn", + "travinh.vn", + "tuyenquang.vn", + "vinhlong.vn", + "vinhphuc.vn", + "yenbai.vn", + "com.vu", + "edu.vu", + "net.vu", + "org.vu", + "com.ws", + "net.ws", + "org.ws", + "gov.ws", + "edu.ws", + "公司.香港", + "教育.香港", + "政府.香港", + "個人.香港", + "網絡.香港", + "組織.香港", + "пр.срб", + "орг.срб", + "обр.срб", + "од.срб", + "упр.срб", + "ак.срб", + "ศึกษา.ไทย", + "ธุรกิจ.ไทย", + "รัฐบาล.ไทย", + "ทหาร.ไทย", + "เน็ต.ไทย", + "องค์กร.ไทย", + "com.ye", + "edu.ye", + "gov.ye", + "net.ye", + "mil.ye", + "org.ye", + "ac.za", + "agric.za", + "alt.za", + "co.za", + "edu.za", + "gov.za", + "grondar.za", + "law.za", + "mil.za", + "net.za", + "ngo.za", + "nic.za", + "nis.za", + "nom.za", + "org.za", + "school.za", + "tm.za", + "web.za", + "ac.zm", + "biz.zm", + "co.zm", + "com.zm", + "edu.zm", + "gov.zm", + "info.zm", + "mil.zm", + "net.zm", + "org.zm", + "sch.zm", + "ac.zw", + "co.zw", + "gov.zw", + "mil.zw", + "org.zw", + "cc.ua", + "inf.ua", + "ltd.ua", + "611.to", + "graphox.us", + "activetrail.biz", + "adobeaemcloud.com", + "hlx.live", + "adobeaemcloud.net", + "hlx.page", + "hlx3.page", + "adobeio-static.net", + "adobeioruntime.net", + "beep.pl", + "airkitapps.com", + "airkitapps-au.com", + "airkitapps.eu", + "aivencloud.com", + "akadns.net", + "akamai.net", + "akamai-staging.net", + "akamaiedge.net", + "akamaiedge-staging.net", + "akamaihd.net", + "akamaihd-staging.net", + "akamaiorigin.net", + "akamaiorigin-staging.net", + "akamaized.net", + "akamaized-staging.net", + "edgekey.net", + "edgekey-staging.net", + "edgesuite.net", + "edgesuite-staging.net", + "barsy.ca", + "kasserver.com", + "altervista.org", + "alwaysdata.net", + "myamaze.net", + "cloudfront.net", + "elasticbeanstalk.com", + "awsglobalaccelerator.com", + "eero.online", + "eero-stage.online", + "t3l3p0rt.net", + "apigee.io", + "siiites.com", + "appspacehosted.com", + "appspaceusercontent.com", + "appudo.net", + "on-aptible.com", + "gv.vc", + "pimienta.org", + "poivron.org", + "potager.org", + "sweetpepper.org", + "myasustor.com", + "translated.page", + "autocode.dev", + "myfritz.net", + "onavstack.net", + "ecommerce-shop.pl", + "b-data.io", + "backplaneapp.io", + "balena-devices.com", + "rs.ba", + "base.ec", + "official.ec", + "buyshop.jp", + "fashionstore.jp", + "handcrafted.jp", + "kawaiishop.jp", + "supersale.jp", + "theshop.jp", + "shopselect.net", + "base.shop", + "beagleboard.io", + "betainabox.com", + "bnr.la", + "bitbucket.io", + "blackbaudcdn.net", + "of.je", + "bluebite.io", + "boomla.net", + "boutir.com", + "boxfuse.io", + "square7.ch", + "bplaced.com", + "bplaced.de", + "square7.de", + "bplaced.net", + "square7.net", + "browsersafetymark.io", + "cafjs.com", + "mycd.eu", + "canva-apps.cn", + "canva-apps.com", + "drr.ac", + "uwu.ai", + "carrd.co", + "crd.co", + "ju.mp", + "ae.org", + "br.com", + "cn.com", + "com.de", + "com.se", + "de.com", + "eu.com", + "gb.net", + "hu.net", + "jp.net", + "jpn.com", + "mex.com", + "ru.com", + "sa.com", + "se.net", + "uk.com", + "uk.net", + "us.com", + "za.bz", + "za.com", + "ar.com", + "hu.com", + "kr.com", + "no.com", + "qc.com", + "uy.com", + "africa.com", + "gr.com", + "in.net", + "web.in", + "us.org", + "co.com", + "aus.basketball", + "nz.basketball", + "radio.am", + "radio.fm", + "c.la", + "certmgr.org", + "cx.ua", + "discourse.group", + "discourse.team", + "cleverapps.io", + "clerk.app", + "clerkstage.app", + "clickrising.net", + "c66.me", + "cloud66.ws", + "cloud66.zone", + "jdevcloud.com", + "wpdevcloud.com", + "cloudaccess.host", + "freesite.host", + "cloudaccess.net", + "cloudcontrolled.com", + "cloudcontrolapp.com", + "cf-ipfs.com", + "cloudflare-ipfs.com", + "trycloudflare.com", + "pages.dev", + "r2.dev", + "workers.dev", + "wnext.app", + "co.ca", + "co.cz", + "cdn77-ssl.net", + "cloudns.asia", + "cloudns.biz", + "cloudns.club", + "cloudns.cc", + "cloudns.eu", + "cloudns.in", + "cloudns.info", + "cloudns.org", + "cloudns.pro", + "cloudns.pw", + "cloudns.us", + "cnpy.gdn", + "codeberg.page", + "co.nl", + "co.no", + "webhosting.be", + "hosting-cluster.nl", + "ac.ru", + "edu.ru", + "gov.ru", + "int.ru", + "mil.ru", + "test.ru", + "dynamisches-dns.de", + "dnsupdater.de", + "internet-dns.de", + "l-o-g-i-n.de", + "dynamic-dns.info", + "feste-ip.net", + "knx-server.net", + "static-access.net", + "realm.cz", + "cupcake.is", + "curv.dev", + "cyon.link", + "cyon.site", + "fnwk.site", + "folionetwork.site", + "platform0.app", + "daplie.me", + "dattolocal.com", + "dattorelay.com", + "dattoweb.com", + "mydatto.com", + "dattolocal.net", + "mydatto.net", + "biz.dk", + "co.dk", + "firm.dk", + "reg.dk", + "store.dk", + "builtwithdark.com", + "edgestack.me", + "ddns5.com", + "debian.net", + "deno.dev", + "deno-staging.dev", + "dedyn.io", + "deta.app", + "deta.dev", + "discordsays.com", + "discordsez.com", + "jozi.biz", + "dnshome.de", + "online.th", + "shop.th", + "drayddns.com", + "shoparena.pl", + "dreamhosters.com", + "mydrobo.com", + "drud.io", + "drud.us", + "duckdns.org", + "bip.sh", + "bitbridge.net", + "dy.fi", + "tunk.org", + "dyndns-at-home.com", + "dyndns-at-work.com", + "dyndns-blog.com", + "dyndns-free.com", + "dyndns-home.com", + "dyndns-ip.com", + "dyndns-mail.com", + "dyndns-office.com", + "dyndns-pics.com", + "dyndns-remote.com", + "dyndns-server.com", + "dyndns-web.com", + "dyndns-wiki.com", + "dyndns-work.com", + "dyndns.biz", + "dyndns.info", + "dyndns.org", + "dyndns.tv", + "at-band-camp.net", + "ath.cx", + "barrel-of-knowledge.info", + "barrell-of-knowledge.info", + "better-than.tv", + "blogdns.com", + "blogdns.net", + "blogdns.org", + "blogsite.org", + "boldlygoingnowhere.org", + "broke-it.net", + "buyshouses.net", + "cechire.com", + "dnsalias.com", + "dnsalias.net", + "dnsalias.org", + "dnsdojo.com", + "dnsdojo.net", + "dnsdojo.org", + "does-it.net", + "doesntexist.com", + "doesntexist.org", + "dontexist.com", + "dontexist.net", + "dontexist.org", + "doomdns.com", + "doomdns.org", + "dvrdns.org", + "dyn-o-saur.com", + "dynalias.com", + "dynalias.net", + "dynalias.org", + "dynathome.net", + "dyndns.ws", + "endofinternet.net", + "endofinternet.org", + "endoftheinternet.org", + "est-a-la-maison.com", + "est-a-la-masion.com", + "est-le-patron.com", + "est-mon-blogueur.com", + "for-better.biz", + "for-more.biz", + "for-our.info", + "for-some.biz", + "for-the.biz", + "from-ak.com", + "from-al.com", + "from-ar.com", + "from-az.net", + "from-ca.com", + "from-co.net", + "from-ct.com", + "from-dc.com", + "from-de.com", + "from-fl.com", + "from-ga.com", + "from-hi.com", + "from-ia.com", + "from-id.com", + "from-il.com", + "from-in.com", + "from-ks.com", + "from-ky.com", + "from-la.net", + "from-ma.com", + "from-md.com", + "from-me.org", + "from-mi.com", + "from-mn.com", + "from-mo.com", + "from-ms.com", + "from-mt.com", + "from-nc.com", + "from-nd.com", + "from-ne.com", + "from-nh.com", + "from-nj.com", + "from-nm.com", + "from-nv.com", + "from-ny.net", + "from-oh.com", + "from-ok.com", + "from-or.com", + "from-pa.com", + "from-pr.com", + "from-ri.com", + "from-sc.com", + "from-sd.com", + "from-tn.com", + "from-tx.com", + "from-ut.com", + "from-va.com", + "from-vt.com", + "from-wa.com", + "from-wi.com", + "from-wv.com", + "from-wy.com", + "ftpaccess.cc", + "fuettertdasnetz.de", + "game-host.org", + "game-server.cc", + "getmyip.com", + "gets-it.net", + "gotdns.com", + "gotdns.org", + "groks-the.info", + "groks-this.info", + "ham-radio-op.net", + "here-for-more.info", + "hobby-site.com", + "hobby-site.org", + "homedns.org", + "homeftp.net", + "homeftp.org", + "homeip.net", + "homelinux.com", + "homelinux.net", + "homelinux.org", + "homeunix.com", + "homeunix.net", + "homeunix.org", + "iamallama.com", + "in-the-band.net", + "is-a-anarchist.com", + "is-a-blogger.com", + "is-a-bookkeeper.com", + "is-a-bruinsfan.org", + "is-a-bulls-fan.com", + "is-a-candidate.org", + "is-a-caterer.com", + "is-a-celticsfan.org", + "is-a-chef.com", + "is-a-chef.net", + "is-a-chef.org", + "is-a-conservative.com", + "is-a-cpa.com", + "is-a-cubicle-slave.com", + "is-a-democrat.com", + "is-a-designer.com", + "is-a-doctor.com", + "is-a-financialadvisor.com", + "is-a-geek.com", + "is-a-geek.net", + "is-a-geek.org", + "is-a-green.com", + "is-a-guru.com", + "is-a-hard-worker.com", + "is-a-hunter.com", + "is-a-knight.org", + "is-a-landscaper.com", + "is-a-lawyer.com", + "is-a-liberal.com", + "is-a-libertarian.com", + "is-a-linux-user.org", + "is-a-llama.com", + "is-a-musician.com", + "is-a-nascarfan.com", + "is-a-nurse.com", + "is-a-painter.com", + "is-a-patsfan.org", + "is-a-personaltrainer.com", + "is-a-photographer.com", + "is-a-player.com", + "is-a-republican.com", + "is-a-rockstar.com", + "is-a-socialist.com", + "is-a-soxfan.org", + "is-a-student.com", + "is-a-teacher.com", + "is-a-techie.com", + "is-a-therapist.com", + "is-an-accountant.com", + "is-an-actor.com", + "is-an-actress.com", + "is-an-anarchist.com", + "is-an-artist.com", + "is-an-engineer.com", + "is-an-entertainer.com", + "is-by.us", + "is-certified.com", + "is-found.org", + "is-gone.com", + "is-into-anime.com", + "is-into-cars.com", + "is-into-cartoons.com", + "is-into-games.com", + "is-leet.com", + "is-lost.org", + "is-not-certified.com", + "is-saved.org", + "is-slick.com", + "is-uberleet.com", + "is-very-bad.org", + "is-very-evil.org", + "is-very-good.org", + "is-very-nice.org", + "is-very-sweet.org", + "is-with-theband.com", + "isa-geek.com", + "isa-geek.net", + "isa-geek.org", + "isa-hockeynut.com", + "issmarterthanyou.com", + "isteingeek.de", + "istmein.de", + "kicks-ass.net", + "kicks-ass.org", + "knowsitall.info", + "land-4-sale.us", + "lebtimnetz.de", + "leitungsen.de", + "likes-pie.com", + "likescandy.com", + "merseine.nu", + "mine.nu", + "misconfused.org", + "mypets.ws", + "myphotos.cc", + "neat-url.com", + "office-on-the.net", + "on-the-web.tv", + "podzone.net", + "podzone.org", + "readmyblog.org", + "saves-the-whales.com", + "scrapper-site.net", + "scrapping.cc", + "selfip.biz", + "selfip.com", + "selfip.info", + "selfip.net", + "selfip.org", + "sells-for-less.com", + "sells-for-u.com", + "sells-it.net", + "sellsyourhome.org", + "servebbs.com", + "servebbs.net", + "servebbs.org", + "serveftp.net", + "serveftp.org", + "servegame.org", + "shacknet.nu", + "simple-url.com", + "space-to-rent.com", + "stuff-4-sale.org", + "stuff-4-sale.us", + "teaches-yoga.com", + "thruhere.net", + "traeumtgerade.de", + "webhop.biz", + "webhop.info", + "webhop.net", + "webhop.org", + "worse-than.tv", + "writesthisblog.com", + "ddnss.de", + "dyndns1.de", + "dyn-ip24.de", + "home-webserver.de", + "myhome-server.de", + "ddnss.org", + "definima.net", + "definima.io", + "ondigitalocean.app", + "ddnsfree.com", + "ddnsgeek.com", + "giize.com", + "gleeze.com", + "kozow.com", + "loseyourip.com", + "ooguy.com", + "theworkpc.com", + "casacam.net", + "dynu.net", + "accesscam.org", + "camdvr.org", + "freeddns.org", + "mywire.org", + "webredirect.org", + "myddns.rocks", + "blogsite.xyz", + "dynv6.net", + "e4.cz", + "easypanel.app", + "easypanel.host", + "elementor.cloud", + "elementor.cool", + "en-root.fr", + "mytuleap.com", + "tuleap-partners.com", + "encr.app", + "encoreapi.com", + "onred.one", + "eu.org", + "eurodir.ru", + "twmail.cc", + "twmail.net", + "twmail.org", + "url.tw", + "onfabrica.com", + "ru.net", + "adygeya.ru", + "bashkiria.ru", + "bir.ru", + "cbg.ru", + "com.ru", + "dagestan.ru", + "grozny.ru", + "kalmykia.ru", + "kustanai.ru", + "marine.ru", + "mordovia.ru", + "msk.ru", + "mytis.ru", + "nalchik.ru", + "nov.ru", + "pyatigorsk.ru", + "spb.ru", + "vladikavkaz.ru", + "vladimir.ru", + "abkhazia.su", + "adygeya.su", + "aktyubinsk.su", + "arkhangelsk.su", + "armenia.su", + "ashgabad.su", + "azerbaijan.su", + "balashov.su", + "bashkiria.su", + "bryansk.su", + "bukhara.su", + "chimkent.su", + "dagestan.su", + "east-kazakhstan.su", + "exnet.su", + "georgia.su", + "grozny.su", + "ivanovo.su", + "jambyl.su", + "kalmykia.su", + "kaluga.su", + "karacol.su", + "karaganda.su", + "karelia.su", + "khakassia.su", + "krasnodar.su", + "kurgan.su", + "kustanai.su", + "lenug.su", + "mangyshlak.su", + "mordovia.su", + "msk.su", + "murmansk.su", + "nalchik.su", + "navoi.su", + "north-kazakhstan.su", + "nov.su", + "obninsk.su", + "penza.su", + "pokrovsk.su", + "sochi.su", + "spb.su", + "tashkent.su", + "termez.su", + "togliatti.su", + "troitsk.su", + "tselinograd.su", + "tula.su", + "tuva.su", + "vladikavkaz.su", + "vladimir.su", + "vologda.su", + "channelsdvr.net", + "edgecompute.app", + "fastly-edge.com", + "fastly-terrarium.com", + "fastlylb.net", + "fastvps-server.com", + "fastvps.host", + "myfast.host", + "fastvps.site", + "myfast.space", + "fedorainfracloud.org", + "fedorapeople.org", + "conn.uk", + "copro.uk", + "hosp.uk", + "mydobiss.com", + "fh-muenster.io", + "filegear.me", + "filegear-au.me", + "filegear-de.me", + "filegear-gb.me", + "filegear-ie.me", + "filegear-jp.me", + "filegear-sg.me", + "firebaseapp.com", + "fireweb.app", + "flap.id", + "onflashdrive.app", + "fldrv.com", + "fly.dev", + "edgeapp.net", + "shw.io", + "flynnhosting.net", + "forgeblocks.com", + "framer.app", + "framercanvas.com", + "framer.media", + "framer.photos", + "framer.website", + "framer.wiki", + "0e.vc", + "freebox-os.com", + "freeboxos.com", + "fbx-os.fr", + "fbxos.fr", + "freebox-os.fr", + "freeboxos.fr", + "freedesktop.org", + "freemyip.com", + "futurehosting.at", + "futuremailing.at", + "independent-commission.uk", + "independent-inquest.uk", + "independent-inquiry.uk", + "independent-panel.uk", + "independent-review.uk", + "public-inquiry.uk", + "royal-commission.uk", + "usercontent.jp", + "gentapps.com", + "gentlentapis.com", + "lab.ms", + "cdn-edges.net", + "ghost.io", + "gsj.bz", + "githubusercontent.com", + "githubpreview.dev", + "github.io", + "gitlab.io", + "gitapp.si", + "gitpage.si", + "glitch.me", + "nog.community", + "co.ro", + "shop.ro", + "lolipop.io", + "angry.jp", + "babyblue.jp", + "babymilk.jp", + "backdrop.jp", + "bambina.jp", + "bitter.jp", + "blush.jp", + "boo.jp", + "boy.jp", + "boyfriend.jp", + "but.jp", + "candypop.jp", + "capoo.jp", + "catfood.jp", + "cheap.jp", + "chicappa.jp", + "chillout.jp", + "chips.jp", + "chowder.jp", + "chu.jp", + "ciao.jp", + "cocotte.jp", + "coolblog.jp", + "cranky.jp", + "cutegirl.jp", + "daa.jp", + "deca.jp", + "deci.jp", + "digick.jp", + "egoism.jp", + "fakefur.jp", + "fem.jp", + "flier.jp", + "floppy.jp", + "fool.jp", + "frenchkiss.jp", + "girlfriend.jp", + "girly.jp", + "gloomy.jp", + "gonna.jp", + "greater.jp", + "hacca.jp", + "heavy.jp", + "her.jp", + "hiho.jp", + "hippy.jp", + "holy.jp", + "hungry.jp", + "icurus.jp", + "itigo.jp", + "jellybean.jp", + "kikirara.jp", + "kill.jp", + "kilo.jp", + "kuron.jp", + "littlestar.jp", + "lolipopmc.jp", + "lolitapunk.jp", + "lomo.jp", + "lovepop.jp", + "lovesick.jp", + "main.jp", + "mods.jp", + "mond.jp", + "mongolian.jp", + "moo.jp", + "namaste.jp", + "nikita.jp", + "nobushi.jp", + "noor.jp", + "oops.jp", + "parallel.jp", + "parasite.jp", + "pecori.jp", + "peewee.jp", + "penne.jp", + "pepper.jp", + "perma.jp", + "pigboat.jp", + "pinoko.jp", + "punyu.jp", + "pupu.jp", + "pussycat.jp", + "pya.jp", + "raindrop.jp", + "readymade.jp", + "sadist.jp", + "schoolbus.jp", + "secret.jp", + "staba.jp", + "stripper.jp", + "sub.jp", + "sunnyday.jp", + "thick.jp", + "tonkotsu.jp", + "under.jp", + "upper.jp", + "velvet.jp", + "verse.jp", + "versus.jp", + "vivian.jp", + "watson.jp", + "weblike.jp", + "whitesnow.jp", + "zombie.jp", + "heteml.net", + "cloudapps.digital", + "pymnt.uk", + "ro.im", + "goip.de", + "run.app", + "web.app", + "appspot.com", + "codespot.com", + "googleapis.com", + "googlecode.com", + "pagespeedmobilizer.com", + "publishproxy.com", + "withgoogle.com", + "withyoutube.com", + "cloud.goog", + "translate.goog", + "cloudfunctions.net", + "blogspot.ae", + "blogspot.al", + "blogspot.am", + "blogspot.ba", + "blogspot.be", + "blogspot.bg", + "blogspot.bj", + "blogspot.ca", + "blogspot.cf", + "blogspot.ch", + "blogspot.cl", + "blogspot.com", + "blogspot.cv", + "blogspot.cz", + "blogspot.de", + "blogspot.dk", + "blogspot.fi", + "blogspot.fr", + "blogspot.gr", + "blogspot.hk", + "blogspot.hr", + "blogspot.hu", + "blogspot.ie", + "blogspot.in", + "blogspot.is", + "blogspot.it", + "blogspot.jp", + "blogspot.kr", + "blogspot.li", + "blogspot.lt", + "blogspot.lu", + "blogspot.md", + "blogspot.mk", + "blogspot.mr", + "blogspot.mx", + "blogspot.my", + "blogspot.nl", + "blogspot.no", + "blogspot.pe", + "blogspot.pt", + "blogspot.qa", + "blogspot.re", + "blogspot.ro", + "blogspot.rs", + "blogspot.ru", + "blogspot.se", + "blogspot.sg", + "blogspot.si", + "blogspot.sk", + "blogspot.sn", + "blogspot.td", + "blogspot.tw", + "blogspot.ug", + "blogspot.vn", + "goupile.fr", + "gov.nl", + "awsmppl.com", + "günstigbestellen.de", + "günstigliefern.de", + "fin.ci", + "free.hr", + "caa.li", + "ua.rs", + "conf.se", + "hs.zone", + "hs.run", + "hashbang.sh", + "hasura.app", + "hasura-app.io", + "hepforge.org", + "herokuapp.com", + "herokussl.com", + "ravendb.cloud", + "ravendb.community", + "ravendb.me", + "development.run", + "ravendb.run", + "homesklep.pl", + "secaas.hk", + "hoplix.shop", + "orx.biz", + "biz.gl", + "col.ng", + "firm.ng", + "gen.ng", + "ltd.ng", + "ngo.ng", + "edu.scot", + "sch.so", + "ie.ua", + "hostyhosting.io", + "häkkinen.fi", + "moonscale.net", + "iki.fi", + "ibxos.it", + "iliadboxos.it", + "impertrixcdn.com", + "impertrix.com", + "smushcdn.com", + "wphostedmail.com", + "wpmucdn.com", + "tempurl.host", + "wpmudev.host", + "dyn-berlin.de", + "in-berlin.de", + "in-brb.de", + "in-butter.de", + "in-dsl.de", + "in-dsl.net", + "in-dsl.org", + "in-vpn.de", + "in-vpn.net", + "in-vpn.org", + "biz.at", + "info.at", + "info.cx", + "pixolino.com", + "na4u.ru", + "iopsys.se", + "ipifony.net", + "iservschule.de", + "mein-iserv.de", + "schulplattform.de", + "schulserver.de", + "test-iserv.de", + "iserv.dev", + "iobb.net", + "mycloud.by", + "diadem.cloud", + "jele.cloud", + "keliweb.cloud", + "oxa.cloud", + "primetel.cloud", + "jele.club", + "amscompute.com", + "dopaas.com", + "kilatiron.com", + "jele.host", + "mircloud.host", + "jele.io", + "jcloud.kz", + "cloudjiffy.net", + "faststacks.net", + "sdscloud.pl", + "unicloud.pl", + "mircloud.ru", + "enscaled.sg", + "jele.site", + "jelastic.team", + "orangecloud.tn", + "mircloud.us", + "myjino.ru", + "jotelulu.cloud", + "js.org", + "kaas.gg", + "khplay.nl", + "ktistory.com", + "kapsi.fi", + "keymachine.de", + "kinghost.net", + "uni5.net", + "knightpoint.systems", + "koobin.events", + "oya.to", + "kuleuven.cloud", + "co.krd", + "edu.krd", + "krellian.net", + "webthings.io", + "git-repos.de", + "lcube-server.de", + "svn-repos.de", + "leadpages.co", + "lpages.co", + "lpusercontent.com", + "lelux.site", + "co.business", + "co.education", + "co.events", + "co.financial", + "co.network", + "co.place", + "co.technology", + "linkyard.cloud", + "linkyard-cloud.ch", + "we.bs", + "localzone.xyz", + "loginline.app", + "loginline.dev", + "loginline.io", + "loginline.services", + "loginline.site", + "servers.run", + "lohmus.me", + "krasnik.pl", + "leczna.pl", + "lubartow.pl", + "lublin.pl", + "poniatowa.pl", + "swidnik.pl", + "barsy.bg", + "barsycenter.com", + "barsyonline.com", + "barsy.club", + "barsy.de", + "barsy.eu", + "barsy.in", + "barsy.info", + "barsy.io", + "barsy.me", + "barsy.menu", + "barsy.mobi", + "barsy.net", + "barsy.online", + "barsy.org", + "barsy.pro", + "barsy.pub", + "barsy.ro", + "barsy.shop", + "barsy.site", + "barsy.support", + "barsy.uk", + "mayfirst.info", + "mayfirst.org", + "cn.vu", + "mazeplay.com", + "mcpe.me", + "mcdir.me", + "mcdir.ru", + "mcpre.ru", + "mediatech.by", + "mediatech.dev", + "hra.health", + "miniserver.com", + "memset.net", + "messerli.app", + "meteorapp.com", + "co.pl", + "azurewebsites.net", + "azure-mobile.net", + "cloudapp.net", + "azurestaticapps.net", + "csx.cc", + "mintere.site", + "forte.id", + "mozilla-iot.org", + "bmoattachments.org", + "net.ru", + "org.ru", + "pp.ru", + "hostedpi.com", + "netlify.app", + "4u.com", + "ngrok.app", + "ngrok-free.app", + "ngrok.dev", + "ngrok-free.dev", + "ngrok.io", + "ngrok.pizza", + "nfshost.com", + "noop.app", + "noticeable.news", + "dnsking.ch", + "mypi.co", + "n4t.co", + "001www.com", + "ddnslive.com", + "myiphost.com", + "forumz.info", + "16-b.it", + "32-b.it", + "64-b.it", + "soundcast.me", + "tcp4.me", + "dnsup.net", + "hicam.net", + "now-dns.net", + "ownip.net", + "vpndns.net", + "dynserv.org", + "now-dns.org", + "x443.pw", + "now-dns.top", + "ntdll.top", + "freeddns.us", + "crafting.xyz", + "zapto.xyz", + "nsupdate.info", + "nerdpol.ovh", + "blogsyte.com", + "brasilia.me", + "cable-modem.org", + "ciscofreak.com", + "collegefan.org", + "couchpotatofries.org", + "damnserver.com", + "ddns.me", + "ditchyourip.com", + "dnsfor.me", + "dnsiskinky.com", + "dvrcam.info", + "dynns.com", + "eating-organic.net", + "fantasyleague.cc", + "geekgalaxy.com", + "golffan.us", + "health-carereform.com", + "homesecuritymac.com", + "homesecuritypc.com", + "hopto.me", + "ilovecollege.info", + "loginto.me", + "mlbfan.org", + "mmafan.biz", + "myactivedirectory.com", + "mydissent.net", + "myeffect.net", + "mymediapc.net", + "mypsx.net", + "mysecuritycamera.com", + "mysecuritycamera.net", + "mysecuritycamera.org", + "net-freaks.com", + "nflfan.org", + "nhlfan.net", + "no-ip.ca", + "no-ip.net", + "noip.us", + "onthewifi.com", + "pgafan.net", + "point2this.com", + "pointto.us", + "privatizehealthinsurance.net", + "quicksytes.com", + "read-books.org", + "securitytactics.com", + "serveexchange.com", + "servehumour.com", + "servep2p.com", + "servesarcasm.com", + "stufftoread.com", + "ufcfan.org", + "unusualperson.com", + "workisboring.com", + "3utilities.com", + "bounceme.net", + "ddns.net", + "ddnsking.com", + "gotdns.ch", + "hopto.org", + "myftp.biz", + "myftp.org", + "myvnc.com", + "no-ip.biz", + "no-ip.info", + "no-ip.org", + "noip.me", + "redirectme.net", + "servebeer.com", + "serveblog.net", + "servecounterstrike.com", + "serveftp.com", + "servegame.com", + "servehalflife.com", + "servehttp.com", + "serveirc.com", + "serveminecraft.net", + "servemp3.com", + "servepics.com", + "servequake.com", + "sytes.net", + "webhop.me", + "zapto.org", + "pcloud.host", + "nyc.mn", + "cya.gg", + "omg.lol", + "cloudycluster.net", + "omniwe.site", + "123hjemmeside.dk", + "123hjemmeside.no", + "123homepage.it", + "123kotisivu.fi", + "123minsida.se", + "123miweb.es", + "123paginaweb.pt", + "123sait.ru", + "123siteweb.fr", + "123webseite.at", + "123webseite.de", + "123website.be", + "123website.ch", + "123website.lu", + "123website.nl", + "service.one", + "simplesite.com", + "simplesite.gr", + "simplesite.pl", + "nid.io", + "opensocial.site", + "opencraft.hosting", + "orsites.com", + "operaunite.com", + "tech.orange", + "authgear-staging.com", + "authgearapps.com", + "skygearapp.com", + "outsystemscloud.com", + "ownprovider.com", + "own.pm", + "ox.rs", + "oy.lc", + "pgfog.com", + "pagefrontapp.com", + "pagexl.com", + "bar0.net", + "bar1.net", + "bar2.net", + "rdv.to", + "art.pl", + "gliwice.pl", + "krakow.pl", + "poznan.pl", + "wroc.pl", + "zakopane.pl", + "pantheonsite.io", + "gotpantheon.com", + "mypep.link", + "perspecta.cloud", + "lk3.ru", + "on-web.fr", + "platter-app.com", + "platter-app.dev", + "platterp.us", + "pdns.page", + "plesk.page", + "pleskns.com", + "dyn53.io", + "onporter.run", + "co.bn", + "postman-echo.com", + "pstmn.io", + "httpbin.org", + "prequalifyme.today", + "priv.at", + "prvcy.page", + "protonet.io", + "chirurgiens-dentistes-en-france.fr", + "byen.site", + "pubtls.org", + "pythonanywhere.com", + "qoto.io", + "qualifioapp.com", + "ladesk.com", + "qbuser.com", + "cloudsite.builders", + "instantcloud.cn", + "ras.ru", + "qa2.com", + "qcx.io", + "dev-myqnapcloud.com", + "alpha-myqnapcloud.com", + "myqnapcloud.com", + "vapor.cloud", + "vaporcloud.io", + "rackmaze.com", + "rackmaze.net", + "readthedocs.io", + "rhcloud.com", + "onrender.com", + "firewalledreplit.co", + "repl.co", + "repl.run", + "resindevice.io", + "hzc.io", + "wellbeingzone.eu", + "itcouldbewor.se", + "rocky.page", + "биз.рус", + "ком.рус", + "крым.рус", + "мир.рус", + "мск.рус", + "орг.рус", + "самара.рус", + "сочи.рус", + "спб.рус", + "я.рус", + "180r.com", + "dojin.com", + "sakuratan.com", + "sakuraweb.com", + "x0.com", + "2-d.jp", + "bona.jp", + "crap.jp", + "daynight.jp", + "eek.jp", + "flop.jp", + "halfmoon.jp", + "jeez.jp", + "matrix.jp", + "mimoza.jp", + "netgamers.jp", + "nyanta.jp", + "o0o0.jp", + "rdy.jp", + "rgr.jp", + "rulez.jp", + "saloon.jp", + "sblo.jp", + "skr.jp", + "tank.jp", + "uh-oh.jp", + "undo.jp", + "websozai.jp", + "xii.jp", + "squares.net", + "jpn.org", + "kirara.st", + "x0.to", + "from.tv", + "sakura.tv", + "sandcats.io", + "logoip.de", + "logoip.com", + "dedibox.fr", + "schokokeks.net", + "gov.scot", + "scrysec.com", + "firewall-gateway.com", + "firewall-gateway.de", + "my-gateway.de", + "my-router.de", + "spdns.de", + "spdns.eu", + "firewall-gateway.net", + "my-firewall.org", + "myfirewall.org", + "spdns.org", + "seidat.net", + "sellfy.store", + "senseering.net", + "minisite.ms", + "magnet.page", + "biz.ua", + "co.ua", + "pp.ua", + "shiftcrypto.dev", + "shiftcrypto.io", + "shiftedit.io", + "myshopblocks.com", + "myshopify.com", + "shopitsite.com", + "shopware.store", + "mo-siemens.io", + "1kapp.com", + "appchizi.com", + "applinzi.com", + "sinaapp.com", + "vipsinaapp.com", + "siteleaf.net", + "bounty-full.com", + "small-web.org", + "vp4.me", + "snowflake.app", + "streamlit.app", + "streamlitapp.com", + "try-snowplow.com", + "srht.site", + "stackhero-network.com", + "musician.io", + "novecore.site", + "static.land", + "storebase.store", + "vps-host.net", + "playstation-cloud.com", + "spacekit.io", + "myspreadshop.at", + "myspreadshop.be", + "myspreadshop.ca", + "myspreadshop.ch", + "myspreadshop.com", + "myspreadshop.de", + "myspreadshop.dk", + "myspreadshop.es", + "myspreadshop.fi", + "myspreadshop.fr", + "myspreadshop.ie", + "myspreadshop.it", + "myspreadshop.net", + "myspreadshop.nl", + "myspreadshop.no", + "myspreadshop.pl", + "myspreadshop.se", + "storipress.app", + "storj.farm", + "utwente.io", + "temp-dns.com", + "supabase.co", + "supabase.in", + "supabase.net", + "syncloud.it", + "dscloud.biz", + "dsmynas.com", + "familyds.com", + "diskstation.me", + "dscloud.me", + "i234.me", + "myds.me", + "synology.me", + "dscloud.mobi", + "dsmynas.net", + "familyds.net", + "dsmynas.org", + "familyds.org", + "vpnplus.to", + "mytabit.com", + "taifun-dns.de", + "ts.net", + "gda.pl", + "gdansk.pl", + "gdynia.pl", + "med.pl", + "sopot.pl", + "edugit.io", + "telebit.app", + "telebit.io", + "reservd.com", + "thingdustdata.com", + "tickets.io", + "arvo.network", + "azimuth.network", + "tlon.network", + "torproject.net", + "bloxcms.com", + "townnews-staging.com", + "12hp.at", + "2ix.at", + "4lima.at", + "lima-city.at", + "12hp.ch", + "2ix.ch", + "4lima.ch", + "lima-city.ch", + "trafficplex.cloud", + "de.cool", + "12hp.de", + "2ix.de", + "4lima.de", + "lima-city.de", + "1337.pictures", + "clan.rip", + "lima-city.rocks", + "webspace.rocks", + "lima.zone", + "tuxfamily.org", + "dd-dns.de", + "diskstation.eu", + "diskstation.org", + "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", + "typedream.app", + "uber.space", + "hk.com", + "hk.org", + "ltd.hk", + "inc.hk", + "it.com", + "name.pm", + "sch.tf", + "biz.wf", + "sch.wf", + "org.yt", + "virtualuser.de", + "virtual-user.de", + "upli.io", + "urown.cloud", + "dnsupdate.info", + "2038.io", + "vercel.app", + "vercel.dev", + "now.sh", + "router.management", + "v-info.info", + "voorloper.cloud", + "neko.am", + "nyaa.am", + "be.ax", + "cat.ax", + "es.ax", + "eu.ax", + "gg.ax", + "mc.ax", + "us.ax", + "xy.ax", + "nl.ci", + "xx.gl", + "app.gp", + "blog.gt", + "de.gt", + "to.gt", + "be.gy", + "cc.hn", + "blog.kg", + "io.kg", + "jp.kg", + "tv.kg", + "uk.kg", + "us.kg", + "de.ls", + "at.md", + "de.md", + "jp.md", + "to.md", + "indie.porn", + "vxl.sh", + "ch.tc", + "me.tc", + "we.tc", + "nyan.to", + "at.vg", + "blog.vu", + "dev.vu", + "me.vu", + "v.ua", + "wafflecell.com", + "reserve-online.net", + "reserve-online.com", + "bookonline.app", + "hotelwithflight.com", + "wedeploy.io", + "wedeploy.me", + "wedeploy.sh", + "remotewd.com", + "wmflabs.org", + "toolforge.org", + "wmcloud.org", + "panel.gg", + "messwithdns.com", + "woltlab-demo.com", + "myforum.community", + "community-pro.de", + "diskussionsbereich.de", + "community-pro.net", + "meinforum.net", + "wpenginepowered.com", + "wixsite.com", + "editorx.io", + "half.host", + "xnbay.com", + "cistron.nl", + "demon.nl", + "xs4all.space", + "yandexcloud.net", + "official.academy", + "yolasite.com", + "ybo.faith", + "yombo.me", + "homelink.one", + "ybo.party", + "ybo.review", + "ybo.science", + "ybo.trade", + "ynh.fr", + "nohost.me", + "noho.st", + "za.net", + "za.org", + "bss.design", + "basicserver.io", + "virtualserver.io", + "enterprisecloud.nu", +]); diff --git a/apps/builder/app/builder/features/topbar/domains.tsx b/apps/builder/app/builder/features/topbar/domains.tsx index 06efece2b3f5..3efbf74d8d9a 100644 --- a/apps/builder/app/builder/features/topbar/domains.tsx +++ b/apps/builder/app/builder/features/topbar/domains.tsx @@ -26,6 +26,7 @@ import { Entri } from "./entri"; import { trpcClient } from "~/shared/trpc/trpc-client"; import { useStore } from "@nanostores/react"; import { $publisherHost } from "~/shared/nano-states"; +import { extractCname } from "./cname"; import type { Database } from "@webstudio-is/postrest/index.server"; export type Domain = Project["domainsVirtual"][number]; @@ -50,16 +51,7 @@ const CopyToClipboard = (props: { text: string }) => { ); }; -const getCname = (domain: string) => { - const domainArray = domain.split("."); - const cnameArray = domainArray.slice(0, -2); - if (cnameArray.length === 0) { - return "@"; - } - return cnameArray.join("."); -}; - -export const getStatus = (projectDomain: Project["domainsVirtual"][number]) => +export const getStatus = (projectDomain: Domain) => projectDomain.verified ? (`VERIFIED_${projectDomain.status}` as const) : `UNVERIFIED`; @@ -359,13 +351,13 @@ const DomainItem = (props: { ]); const publisherHost = useStore($publisherHost); - const cnameEntryName = getCname(domain); + const cnameEntryName = extractCname(domain); const cnameEntryValue = `${props.projectDomain.cname}.customers.${publisherHost}`; const txtEntryName = cnameEntryName === "@" - ? "__webstudio_is" - : `__webstudio_is.${cnameEntryName}`; + ? "_webstudio_is" + : `_webstudio_is.${cnameEntryName}`; const { isVerifiedActive, text } = getStatusText({ projectDomain: props.projectDomain,