const XLSX = require('xlsx'); const fs = require('fs'); // Domain-Daten mit Bewertungen const domains = [ // TOP TIER (8-10) { domain: "tray.me", rating: 9, registrar: "GoDaddy", reason: "Ultrakurz (4 Zeichen), Premium-TLD, perfekter App-Name" }, { domain: "krass.io", rating: 9, registrar: "GoDaddy", reason: "5 Zeichen, trendy TLD, starkes deutsches Wort" }, { domain: "nox.in", rating: 9, registrar: "GoDaddy", reason: "Nur 3 Zeichen!, exotische TLD, Markenname" }, { domain: "gameserver.org", rating: 9, registrar: "SchlundTech", reason: "Generischer Mega-Begriff, evergreen Nische" }, { domain: "hostme.de", rating: 8, registrar: "Hetzner", reason: "Kurz, einprägsam, Hosting-Keyword" }, { domain: "rootserver.org", rating: 8, registrar: "Hetzner", reason: "Generischer Tech-Begriff" }, { domain: "rootserver.app", rating: 8, registrar: "GoDaddy", reason: "Moderne TLD, Tech-Keyword" }, { domain: "telko.app", rating: 8, registrar: "GoDaddy", reason: "Kurz, deutscher Slang, moderne TLD" }, { domain: "feuer.biz", rating: 8, registrar: "Hetzner", reason: "Einzelwort, stark, einprägsam" }, { domain: "voiceserver.de", rating: 8, registrar: "Hetzner", reason: "Generischer Begriff, Nische aktiv" }, { domain: "voic.de", rating: 8, registrar: "Hetzner", reason: "Ultrakurz, Voice-Assoziation" }, { domain: "talky.net", rating: 8, registrar: "SchlundTech", reason: "Kurz, einprägsam, Kommunikations-Vibe" }, // SEHR GUT (6-7) { domain: "gonote.app", rating: 7, registrar: "GoDaddy", reason: "Guter App-Name, Notizen-Keyword" }, { domain: "spacey.app", rating: 7, registrar: "GoDaddy", reason: "Trendy, Space-Assoziation" }, { domain: "vsafe.de", rating: 7, registrar: "SchlundTech", reason: "Kurz, Security-Keyword" }, { domain: "umatch.de", rating: 7, registrar: "SchlundTech", reason: "Kurz, Dating/Matching-Potenzial" }, { domain: "idmail.de", rating: 7, registrar: "SchlundTech", reason: "Kurz, E-Mail-Keyword" }, { domain: "portbox.de", rating: 7, registrar: "SchlundTech", reason: "Kurz, Tech-Begriff" }, { domain: "nodebook.net", rating: 7, registrar: "SchlundTech", reason: "Node.js-Assoziation, Dev-Tool" }, { domain: "xload.org", rating: 7, registrar: "GoDaddy", reason: "Kurz, Download-Assoziation" }, { domain: "stayloop.com", rating: 7, registrar: "Hetzner", reason: "Einprägsam, .com TLD" }, { domain: "datenkraftwerk.com", rating: 7, registrar: "Hetzner", reason: "Starker deutscher Begriff, .com" }, { domain: "geheimsache.com", rating: 7, registrar: "Hetzner", reason: "Einprägsam, Mystery-Vibe" }, { domain: "dockercloud.org", rating: 7, registrar: "SchlundTech", reason: "Tech-Keywords kombiniert" }, { domain: "start.vision", rating: 7, registrar: "SchlundTech", reason: "Kurz, inspirierende TLD" }, { domain: "ownsecure.cloud", rating: 7, registrar: "GoDaddy", reason: "Security + Cloud, modern" }, { domain: "noxware.com", rating: 7, registrar: "Hetzner", reason: "Kurz, Software-Vibe, .com" }, { domain: "netbot.de", rating: 7, registrar: "Hetzner", reason: "Kurz, Bot-Trend" }, { domain: "nsec.de", rating: 7, registrar: "Hetzner", reason: "Ultrakurz, Security-Abkürzung" }, { domain: "ipck.de", rating: 7, registrar: "Hetzner", reason: "4 Buchstaben, Tech-Kürzel" }, { domain: "datenkraftwerk.de", rating: 6, registrar: "Hetzner", reason: "Starker Begriff, aber .de" }, { domain: "ownsecure.de", rating: 6, registrar: "Hetzner", reason: "Security-Keyword" }, { domain: "ownsecure.net", rating: 6, registrar: "Hetzner", reason: "Security-Keyword" }, { domain: "einkaufsliste.org", rating: 6, registrar: "Hetzner", reason: "Generischer deutscher Begriff" }, { domain: "einkaufsliste.pro", rating: 6, registrar: "GoDaddy", reason: "Gleicher Begriff, andere TLD" }, { domain: "noxware.de", rating: 6, registrar: "Hetzner", reason: "Deine Brand? Behalten!" }, { domain: "noxware.net", rating: 6, registrar: "Hetzner", reason: "Brand-Schutz" }, { domain: "botmin.de", rating: 6, registrar: "Hetzner", reason: "Bot + Admin, kurz" }, { domain: "exde.net", rating: 6, registrar: "Hetzner", reason: "Kurz, aber unklar" }, { domain: "host7.de", rating: 6, registrar: "Hetzner", reason: "Kurz, Hosting" }, { domain: "vmini.de", rating: 6, registrar: "Hetzner", reason: "Kurz, VM-Assoziation" }, { domain: "partyzap.de", rating: 6, registrar: "SchlundTech", reason: "Einprägsam, Event-Potenzial" }, { domain: "spaceyou.de", rating: 6, registrar: "SchlundTech", reason: "Space-Trend" }, { domain: "saghallo.com", rating: 6, registrar: "SchlundTech", reason: "Einprägsam, Kommunikation" }, { domain: "gravity.dating", rating: 6, registrar: "SchlundTech", reason: "Nischen-TLD, Dating" }, { domain: "quizmillion.com", rating: 6, registrar: "SchlundTech", reason: "Quiz-Trend, .com" }, { domain: "metalnation.de", rating: 6, registrar: "SchlundTech", reason: "Nische Musik, Community" }, { domain: "gamersunited.de", rating: 6, registrar: "SchlundTech", reason: "Gaming-Community" }, { domain: "firstq.de", rating: 6, registrar: "SchlundTech", reason: "Kurz, Q1/First-Assoziation" }, { domain: "firstq.net", rating: 6, registrar: "SchlundTech", reason: "Gleich, andere TLD" }, { domain: "mcroot.de", rating: 6, registrar: "SchlundTech", reason: "Minecraft + Root?" }, { domain: "mcroot.net", rating: 6, registrar: "SchlundTech", reason: "Gleich" }, { domain: "mcrack.de", rating: 6, registrar: "SchlundTech", reason: "Kurz" }, { domain: "mcrack.net", rating: 6, registrar: "SchlundTech", reason: "Gleich" }, { domain: "wirelux.de", rating: 6, registrar: "Hetzner", reason: "Einprägsam, Tech" }, { domain: "wirelux.net", rating: 6, registrar: "Hetzner", reason: "Gleich" }, { domain: "ownclouds.de", rating: 6, registrar: "SchlundTech", reason: "Cloud-Keyword" }, { domain: "ownclouds.net", rating: 6, registrar: "SchlundTech", reason: "Gleich" }, { domain: "deployable.net", rating: 6, registrar: "Hetzner", reason: "DevOps-Begriff" }, { domain: "loadster.de", rating: 6, registrar: "Hetzner", reason: "Load-Testing-Vibe" }, { domain: "werbefilter.com", rating: 6, registrar: "Hetzner", reason: "AdBlock-Nische" }, { domain: "abowatch.net", rating: 6, registrar: "Hetzner", reason: "Abo-Tracking-Potenzial" }, { domain: "agbwatch.net", rating: 6, registrar: "SchlundTech", reason: "AGB-Monitoring-Nische" }, { domain: "flarenews.com", rating: 6, registrar: "Hetzner", reason: "News-Portal-Name" }, { domain: "flashad.de", rating: 6, registrar: "Hetzner", reason: "Advertising" }, // DURCHSCHNITT (4-5) { domain: "masanek.de", rating: 5, registrar: "Hetzner", reason: "Persönlicher Name — behalten wenn gewollt" }, { domain: "masanek.net", rating: 5, registrar: "Hetzner", reason: "Persönlicher Name" }, { domain: "masatek.de", rating: 5, registrar: "Hetzner", reason: "Marke? Sonst verzichtbar" }, { domain: "masatek.net", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "battlenation.de", rating: 5, registrar: "Hetzner", reason: "Gaming, aber lang" }, { domain: "battlenation.net", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "clansector.com", rating: 5, registrar: "Hetzner", reason: "Gaming, veraltet (Clans)" }, { domain: "psychocrew.com", rating: 5, registrar: "Hetzner", reason: "Nische, aber verwendbar" }, { domain: "profigamer.de", rating: 5, registrar: "Hetzner", reason: "Pro-Gaming, aber generisch" }, { domain: "teamkey.de", rating: 5, registrar: "Hetzner", reason: "Team-Tool-Potenzial" }, { domain: "teamkey.net", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "teamwave.de", rating: 5, registrar: "Hetzner", reason: "Team-Collaboration" }, { domain: "teamclipboard.de", rating: 5, registrar: "SchlundTech", reason: "Spezifisch, aber lang" }, { domain: "stayloop.de", rating: 5, registrar: "Hetzner", reason: ".de Version, weniger wert" }, { domain: "stayloop.net", rating: 5, registrar: "Hetzner", reason: ".net Version" }, { domain: "papertray.de", rating: 5, registrar: "Hetzner", reason: "Einprägsam" }, { domain: "papertray.net", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "strandnudel.com", rating: 5, registrar: "Hetzner", reason: "Lustig, Nische" }, { domain: "strandnudel.de", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "beachnoodle.com", rating: 5, registrar: "Hetzner", reason: "Englische Version" }, { domain: "coffeemix.de", rating: 5, registrar: "SchlundTech", reason: "Kaffee-Nische" }, { domain: "coffeemix.org", rating: 5, registrar: "SchlundTech", reason: "Gleich" }, { domain: "kaffeemix.de", rating: 5, registrar: "SchlundTech", reason: "Deutsche Version" }, { domain: "nutmix.de", rating: 5, registrar: "SchlundTech", reason: "Nüsse/Mix" }, { domain: "nutmix.net", rating: 5, registrar: "SchlundTech", reason: "Gleich" }, { domain: "darkwall.de", rating: 5, registrar: "SchlundTech", reason: "Gaming/Security-Vibe" }, { domain: "intershell.de", rating: 5, registrar: "Hetzner", reason: "Tech-Begriff" }, { domain: "internox.de", rating: 5, registrar: "Hetzner", reason: "Tech" }, { domain: "sonicstream.de", rating: 5, registrar: "SchlundTech", reason: "Audio-Streaming" }, { domain: "ultradisk.de", rating: 5, registrar: "SchlundTech", reason: "Storage-Begriff" }, { domain: "homeic.de", rating: 5, registrar: "Hetzner", reason: "Home + IC?" }, { domain: "homeic.net", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "hotwiki.net", rating: 5, registrar: "Hetzner", reason: "Wiki-Plattform" }, { domain: "gowiki.de", rating: 5, registrar: "Hetzner", reason: "Wiki" }, { domain: "wiki24.de", rating: 5, registrar: "Hetzner", reason: "Wiki + 24" }, { domain: "fastdate.de", rating: 5, registrar: "Hetzner", reason: "Speed-Dating" }, { domain: "fchat.de", rating: 5, registrar: "Hetzner", reason: "Chat-Plattform" }, { domain: "eurohr.com", rating: 5, registrar: "Hetzner", reason: "HR-Nische, EU" }, { domain: "eurohr.de", rating: 5, registrar: "Hetzner", reason: "Gleich" }, { domain: "refuser.de", rating: 5, registrar: "Hetzner", reason: "Anti-Spam?" }, { domain: "voxware.de", rating: 5, registrar: "SchlundTech", reason: "Voice-Software" }, { domain: "funkwolke.net", rating: 5, registrar: "SchlundTech", reason: "Deutscher Begriff, Cloud" }, { domain: "wortspatz.net", rating: 5, registrar: "SchlundTech", reason: "Sprache/Literatur" }, { domain: "zapcam.de", rating: 5, registrar: "SchlundTech", reason: "Kamera/Action" }, { domain: "zapcam.net", rating: 5, registrar: "SchlundTech", reason: "Gleich" }, { domain: "giessmich.com", rating: 5, registrar: "SchlundTech", reason: "Pflanzen-App-Potenzial" }, { domain: "bierdruck.de", rating: 5, registrar: "SchlundTech", reason: "Bier-Nische" }, { domain: "boniti.de", rating: 5, registrar: "SchlundTech", reason: "Bonität?" }, { domain: "stoerm.net", rating: 5, registrar: "SchlundTech", reason: "Kurz, aber unklar" }, { domain: "isecretary.de", rating: 5, registrar: "SchlundTech", reason: "Virtueller Assistent" }, { domain: "isecretary.org", rating: 5, registrar: "SchlundTech", reason: "Gleich" }, { domain: "quizmillion.de", rating: 5, registrar: "SchlundTech", reason: "Quiz" }, { domain: "quizmillion.net", rating: 5, registrar: "SchlundTech", reason: "Gleich" }, { domain: "kaminofenshop.com", rating: 5, registrar: "Hetzner", reason: "E-Commerce Nische" }, { domain: "kaminofenshop.eu", rating: 5, registrar: "SchlundTech", reason: "Gleich" }, { domain: "interofen.de", rating: 5, registrar: "Hetzner", reason: "Ofen-Nische" }, { domain: "ofen24.net", rating: 5, registrar: "Hetzner", reason: "Ofen + 24" }, { domain: "feuerwunder.de", rating: 5, registrar: "Hetzner", reason: "Feuer/Kamin" }, { domain: "overworld.de", rating: 5, registrar: "Hetzner", reason: "Gaming-Begriff" }, { domain: "microgame.de", rating: 5, registrar: "Hetzner", reason: "Gaming" }, { domain: "huntrecords.net", rating: 5, registrar: "Hetzner", reason: "Musik-Label?" }, { domain: "medienserver.net", rating: 5, registrar: "Hetzner", reason: "Media-Server" }, { domain: "hostseven.de", rating: 5, registrar: "Hetzner", reason: "Hosting" }, { domain: "hostmagic.de", rating: 5, registrar: "Hetzner", reason: "Hosting" }, { domain: "bcserver.de", rating: 5, registrar: "Hetzner", reason: "Kurz" }, { domain: "netkey.org", rating: 5, registrar: "Hetzner", reason: "Kurz, Netzwerk" }, { domain: "meinbusch.de", rating: 4, registrar: "Hetzner", reason: "Garten? Doppeldeutig" }, { domain: "audio-aktiv.de", rating: 4, registrar: "SchlundTech", reason: "Bindestrich, Audio" }, { domain: "remotegirls.net", rating: 4, registrar: "SchlundTech", reason: "Remote Work? Unklar" }, { domain: "ladies24.net", rating: 4, registrar: "SchlundTech", reason: "Veraltet, problematisch?" }, { domain: "kaminofen-welt.de", rating: 4, registrar: "Hetzner", reason: "Bindestrich" }, { domain: "s-fire.de", rating: 4, registrar: "SchlundTech", reason: "Bindestrich, kurz" }, { domain: "my-server.org", rating: 4, registrar: "Hetzner", reason: "Bindestrich" }, { domain: "gameservernet.de", rating: 4, registrar: "Hetzner", reason: "Zu lang" }, { domain: "gogameserver.de", rating: 4, registrar: "Hetzner", reason: "Go + Gameserver" }, { domain: "voiceservers.de", rating: 4, registrar: "Hetzner", reason: "Plural unnötig (hast voiceserver.de)" }, { domain: "sogehtdas.com", rating: 4, registrar: "SchlundTech", reason: "Lang aber lesbar" }, { domain: "genwhy.de", rating: 4, registrar: "Hetzner", reason: "Gen Why? Unklar" }, { domain: "grayzonemap.com", rating: 4, registrar: "Hetzner", reason: "Spezifisch" }, { domain: "strickbag.com", rating: 4, registrar: "Hetzner", reason: "Nische" }, { domain: "mauskrieger.de", rating: 4, registrar: "SchlundTech", reason: "Gaming, aber nischig" }, { domain: "mc-rack.net", rating: 4, registrar: "SchlundTech", reason: "Bindestrich" }, // SCHWACH (1-3) { domain: "geheimnisse-verraten.de", rating: 2, registrar: "Hetzner", reason: "Zu lang, Bindestrich" }, { domain: "geheimnisseverraten.de", rating: 3, registrar: "Hetzner", reason: "Zu lang" }, { domain: "killerspielespieler.net", rating: 2, registrar: "SchlundTech", reason: "Extrem lang, veralteter Begriff" }, { domain: "www-gameserver.de", rating: 2, registrar: "SchlundTech", reason: "www- Präfix ist fatal" }, { domain: "theawesomecompany.de", rating: 2, registrar: "Hetzner", reason: "Viel zu lang" }, { domain: "bildungstechnologie.de", rating: 3, registrar: "Hetzner", reason: "Sehr lang, aber Nische" }, { domain: "ventrilo-server.com", rating: 2, registrar: "Hetzner", reason: "Ventrilo ist tot, Bindestrich" }, { domain: "goteamspeak.de", rating: 3, registrar: "Hetzner", reason: "TeamSpeak rückläufig" }, { domain: "game-voice.de", rating: 3, registrar: "Hetzner", reason: "Bindestrich, Gaming-Voice veraltet" }, { domain: "ton-band.com", rating: 3, registrar: "SchlundTech", reason: "Bindestrich, Tonband veraltet" }, { domain: "so-geht-das.com", rating: 3, registrar: "SchlundTech", reason: "Bindestriche" }, { domain: "iphone-mockup.com", rating: 3, registrar: "SchlundTech", reason: "Bindestrich, Apple-Marke" }, { domain: "iphone-mockup.de", rating: 3, registrar: "SchlundTech", reason: "Gleich" }, { domain: "einmaldownload.de", rating: 3, registrar: "Hetzner", reason: "Lang" }, { domain: "cecomputer.de", rating: 3, registrar: "Hetzner", reason: "Veraltet" }, { domain: "4d7.de", rating: 3, registrar: "Hetzner", reason: "Kryptisch" }, { domain: "iuatw.com", rating: 3, registrar: "Hetzner", reason: "Kryptisch" }, { domain: "ahlesbrunnen.de", rating: 3, registrar: "Hetzner", reason: "Sehr spezifisch/lokal" }, { domain: "newsgoogle.de", rating: 3, registrar: "Hetzner", reason: "Google-Marke problematisch" }, { domain: "freebnc.de", rating: 3, registrar: "Hetzner", reason: "BNC veraltet" }, { domain: "hintenrein.com", rating: 3, registrar: "Hetzner", reason: "Doppeldeutig" }, ]; // TLD extrahieren domains.forEach(d => { d.tld = '.' + d.domain.split('.').pop(); }); // Nach Rating sortieren (absteigend) domains.sort((a, b) => b.rating - a.rating || a.domain.localeCompare(b.domain)); // Excel erstellen const wb = XLSX.utils.book_new(); // Daten für Sheet const wsData = [ ['Domain', 'Rating', 'Kategorie', 'TLD', 'Registrar', 'Begründung'], ...domains.map(d => { let kategorie; if (d.rating >= 8) kategorie = '🏆 TOP'; else if (d.rating >= 6) kategorie = '💎 Sehr gut'; else if (d.rating >= 4) kategorie = '📦 Durchschnitt'; else kategorie = '⚠️ Schwach'; return [d.domain, d.rating, kategorie, d.tld, d.registrar, d.reason]; }) ]; const ws = XLSX.utils.aoa_to_sheet(wsData); // Spaltenbreiten ws['!cols'] = [ { wch: 28 }, // Domain { wch: 8 }, // Rating { wch: 16 }, // Kategorie { wch: 10 }, // TLD { wch: 12 }, // Registrar { wch: 50 }, // Begründung ]; XLSX.utils.book_append_sheet(wb, ws, 'Domain-Bewertung'); // Zusammenfassung Sheet const summaryData = [ ['DOMAIN-BEWERTUNG - ZUSAMMENFASSUNG'], [''], ['Stand:', '31.01.2026'], ['Gesamt:', domains.length + ' Domains'], [''], ['KATEGORIEN:'], ['🏆 TOP (8-10):', domains.filter(d => d.rating >= 8).length], ['💎 Sehr gut (6-7):', domains.filter(d => d.rating >= 6 && d.rating < 8).length], ['📦 Durchschnitt (4-5):', domains.filter(d => d.rating >= 4 && d.rating < 6).length], ['⚠️ Schwach (1-3):', domains.filter(d => d.rating < 4).length], [''], ['EMPFEHLUNG:'], ['Behalten:', 'TOP + Sehr gut (' + domains.filter(d => d.rating >= 6).length + ')'], ['Prüfen:', 'Durchschnitt (' + domains.filter(d => d.rating >= 4 && d.rating < 6).length + ')'], ['Kündigen:', 'Schwach (' + domains.filter(d => d.rating < 4).length + ')'], [''], ['Geschätztes Sparpotenzial:', '~' + (domains.filter(d => d.rating < 4).length * 10) + '€/Jahr'], ]; const ws2 = XLSX.utils.aoa_to_sheet(summaryData); ws2['!cols'] = [{ wch: 25 }, { wch: 20 }]; XLSX.utils.book_append_sheet(wb, ws2, 'Zusammenfassung'); // Speichern const outPath = '/Users/bam/clawd/domain-bewertung.xlsx'; XLSX.writeFile(wb, outPath); console.log('Excel erstellt:', outPath); console.log('Domains:', domains.length);