Simple Domainhacks using Node.JS

Coming up with good domain names is hard. This Node.JS script takes the hassle out of finding them by using the built in dictionary, which is available on every mac by default. Simply define the top level domains you want the script to consider (e.g. co for every .co, io for every .io domain etc.), save it and run it using node domainhacks.js.

var fs = require('fs');

var words = fs.readFileSync('/usr/share/dict/words', {
    encoding: 'utf8'
}).split('\n');

var tlds = ['co', 'com', 'io', 'de', 'it'];

var results = [];

for (var i = 0; i < words.length; i++) {
    var wordArray = words[i].split('');
    for (var j = 0; j < tlds.length; j++) {
        var tld = tlds[j];
        var lastLetters = wordArray.slice(-tld.length).join('');
        if (lastLetters === tld) {
            wordArray.splice(-tld.length, 0, '.');
            results.push(wordArray.join(''));
        }
    }
}

console.log(results);

This script is also available as a GitHub Gist. One liner for the command line: curl "https://gist.githubusercontent.com/alexanderGugel/9e9067231cb4abbb130e/raw/df0f576e2c8822f898cb6e4d0f6289563c0e7169/domainhacks.js" > domainhacks.js && node domainhacks.js

What you can expect to get as output:

...
  'tro.co',
  'tro.de',
  'trypanoci.de',
  'trypanosomaci.de',
  'Tryparsami.de',
  'tuberculi.de',
  'tuch.it',
  'Tunn.it',
  'turb.it',
  'Tur.co',
  'tur.co',
  'tur.io',
  'turm.it',
  'turnsp.it',
  'turpitu.de',
  'turs.io',
  'twaybla.de',
  'twelfhyn.de',
  'Twelfthti.de',
  'twelvehyn.de',
  'twil.it',
  'tw.it',
  'twybla.de',
  'twyhyn.de',
  'tyrannici.de',
  'ubiqu.it',
  'ullu.co',
  'unacqu.it',
  'unaptitu.de',
  'unassuetu.de',
  'unba.it',
  'unbarrica.de',
  'unbef.it',
  'unbeti.de',
  'unb.it',
  'unbla.de',
  'uncertitu.de',
  'un.co',
  'uncounterfe.it',
  'uncru.de',
  'un.de',
  'undeci.de',
  'undelu.de',
  'underb.it',
...
 
5
Kudos
 
5
Kudos

Now read this

Minimal Node.JS logger for 12-factor apps

A twelve-factor app never concerns itself with routing or storage of its output stream. It should not attempt to write to or manage logfiles. Instead, each running process writes its event stream, unbuffered, to stdout. During local... Continue →