Example #1
0
def test_unicode_fuzzing():
    """Test can fuzz and generate unicode."""
    unicode_domain = 'xn--domain.com'.decode('idna')

    fuzzer = dnstwist.fuzz_domain(unicode_domain)
    fuzzer.fuzz()

    assert sorted([d['domain-name'] for d in fuzzer.domains]) == [
        u'www-\u3bd9\u3bdc\u3bd9\u3bdf.com',
        u'www\u3bd9\u3bdc\u3bd9\u3bdf.com',
        u'ww\u3bd9\u3bdc\u3bd9\u3bdf.com',
        u'\u3bd9-\u3bdc\u3bd9\u3bdf.com',
        u'\u3bd9.\u3bdc\u3bd9\u3bdf.com',
        u'\u3bd9\u3bd9\u3bdc\u3bd9\u3bdf.com',
        u'\u3bd9\u3bd9\u3bdc\u3bdf.com',
        u'\u3bd9\u3bd9\u3bdf.com',
        u'\u3bd9\u3bdc-\u3bd9\u3bdf.com',
        u'\u3bd9\u3bdc.\u3bd9\u3bdf.com',
        u'\u3bd9\u3bdc\u3bd9-\u3bdf.com',
        u'\u3bd9\u3bdc\u3bd9.com',
        u'\u3bd9\u3bdc\u3bd9.\u3bdf.com',
        u'\u3bd9\u3bdc\u3bd9\u3bd9\u3bdf.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdf.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfa.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfb.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfc.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfcom.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfd.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfe.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdff.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfg.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfh.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfi.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfj.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfk.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfl.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfm.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfn.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfo.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfp.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfq.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfr.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfs.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdft.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfu.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfv.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfw.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfx.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfy.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdfz.com',
        u'\u3bd9\u3bdc\u3bd9\u3bdf\u3bdf.com',
        u'\u3bd9\u3bdc\u3bdc\u3bd9\u3bdf.com',
        u'\u3bd9\u3bdc\u3bdf.com',
        u'\u3bd9\u3bdc\u3bdf\u3bd9.com',
        u'\u3bdc\u3bd9\u3bd9\u3bdf.com',
        u'\u3bdc\u3bd9\u3bdf.com',
    ]
Example #2
0
def test_generator_is_same_as_original2():
    """Test of an outlier?"""
    domain = 'wwwwwwwwwwwwwww.com.au'

    fuzzer = dnstwist.fuzz_domain(domain)
    fuzzer.fuzz()
    original_results = sorted([r['domain-name'] for r in fuzzer.domains])

    fuzzer = dnstwist.fuzz_domain(domain)
    generator_results = sorted([r.domain for r in fuzzer.fuzz_iter()])

    missing_from_original = [
        d for d in generator_results if d not in original_results
    ]

    assert missing_from_original == []

    missing_from_generator = [
        d for d in original_results if d not in generator_results
    ]

    assert missing_from_generator == []
Example #3
0
def test_generator_is_same_as_original():
    """Test the new fuzz iter is the same as the old system."""
    fuzzer = dnstwist.fuzz_domain('amazon.net')
    fuzzer.fuzz()
    original_results = sorted([r['domain-name'] for r in fuzzer.domains])

    fuzzer = dnstwist.fuzz_domain('amazon.net')
    generator_results = sorted([r.domain for r in fuzzer.fuzz_iter()])

    missing_from_original = [
        d for d in generator_results if d not in original_results
    ]

    assert missing_from_original == []

    missing_from_generator = [
        d for d in original_results if d not in generator_results
    ]

    # The generator returns 3 less domains because those domains are actually
    # invalid.
    assert missing_from_generator == [
        u'amaz\u039fn.net', u'amaz\u041en.net', u'amaz\u0555n.net'
    ]
Example #4
0
def test_medium_domain_with_subdomain_stats():
    """Test of the size of the results for a medium-length domain."""
    fuzzer = dnstwist.fuzz_domain('www.example.com')
    fuzzer.fuzz()

    assert breakdown(fuzzer.domains) == {
        'Addition': 26,
        'Bitsquatting': 49,
        'Homoglyph': 99,
        'Hyphenation': 8,
        'Insertion': 84,
        'Omission': 10,
        'Original*': 1,
        'Repetition': 4,
        'Replacement': 49,
        'Subdomain': 8,
        'Transposition': 8,
        'Various': 1,
        'Vowel swap': 6
    }
Example #5
0
def test_small_domain_stats():
    """Test of the size of the results for a simple domain."""
    fuzzer = dnstwist.fuzz_domain('abc.com')
    fuzzer.fuzz()

    assert breakdown(fuzzer.domains) == {
        'Addition': 26,
        'Bitsquatting': 13,
        'Homoglyph': 28,
        'Hyphenation': 2,
        'Insertion': 11,
        'Omission': 3,
        'Original*': 1,
        'Repetition': 2,
        'Replacement': 14,
        'Subdomain': 2,
        'Transposition': 2,
        'Various': 4,
        'Vowel swap': 2
    }
Example #6
0
def test_crawler_massive_domain():
    """Test of the size of the results for a crawler monster domain."""
    fuzzer = dnstwist.fuzz_domain(
        'zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.zzzzzzzzzzzzzzzzzzzzzzzzzppieo.com'
    )
    fuzzer.fuzz()

    assert breakdown(fuzzer.domains) == {
        'Addition': 26,
        'Bitsquatting': 288,
        'Homoglyph': 252,
        'Hyphenation': 29,
        'Insertion': 383,
        'Omission': 7,
        'Original*': 1,
        'Repetition': 4,
        'Replacement': 1077,
        'Subdomain': 91,
        'Transposition': 5,
        'Various': 1,
        'Vowel swap': 6
    }
Example #7
0
def test_basic_fuzz():
    """Test of the fuzzer.

    This'll be high-maintenance, but will help track changes over time.
    """
    fuzzer = dnstwist.fuzz_domain('www.example.com')
    fuzzer.fuzz()

    assert sorted(fuzzer.domains) == [
        {'domain-name': '2ww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': '3ww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': '7ww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'aww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'eww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'gww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'qww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'sww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'uww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'vvvvvv.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'vvvvw.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'vvww.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'vww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'w-ww.example.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'w.example.com', 'fuzzer': 'Omission'},
        {'domain-name': 'w.ww.example.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'w2w.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'w2ww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'w3w.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'w3ww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'w7w.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'waw.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'waww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wew.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'weww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wgw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wqw.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wqww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wsw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wsww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wuw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wvvvv.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'wvvw.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'wvw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'ww-w.example.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'ww.example.com', 'fuzzer': 'Omission'},
        {'domain-name': 'ww.w.example.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'ww.wexample.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'ww2.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'ww2w.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'ww3.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'ww3w.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'ww7.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwa.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwaw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwe.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwew.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwg.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwq.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwqw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wws.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwsw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwu.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwv.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwvv.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.3example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.3xample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.4example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.4xample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.axample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.cxamplc.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.cxample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.dexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.dxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.e-xample.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.e.xample.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.e3xample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.e4xample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.e8ample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.eample.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.eaxmple.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.ecample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.ecxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.edample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.edxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.eexample.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'www.ehample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.epample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.erxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.esample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.esxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ewample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.ewxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ex-ample.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.ex.ample.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.ex1ample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ex1mple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.ex2ample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ex2mple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exa-mple.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exa-ple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exa.mple.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.exa1mple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exa2mple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exaample.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'www.exaeple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exaiple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exajmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exajple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exakmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exakple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exalmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exalple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exam-ple.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exam.ple.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.exam0le.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exam0ple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examjple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examkple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examle.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.examlle.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examlpe.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.examlple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exammle.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exammple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examnple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examole.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examople.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examp-le.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.examp.le.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.examp0le.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examp1e.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exampde.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampe.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exampel.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.examphe.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampie.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exampke.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampkle.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampl-e.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exampl.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exampl.e.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.exampl3.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampl3e.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampl4.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampl4e.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampla.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplc.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exampld.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplde.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.example.com', 'fuzzer': 'Original*'},
        {'domain-name': 'www.example3.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.example4.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplea.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleb.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplec.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplecom.com', 'fuzzer': 'Various'},
        {'domain-name': 'www.exampled.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplee.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplef.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleg.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleh.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplei.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplej.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplek.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplel.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplem.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplen.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleo.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplep.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleq.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampler.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examples.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplet.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleu.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplev.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplew.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplex.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampley.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplez.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplg.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampli.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.examplke.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplle.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplm.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplme.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplo.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.examploe.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplpe.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplr.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplre.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampls.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplse.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplu.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplw.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplwe.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplz.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplze.com', 'fuzzer': 'Insertion'},
        {'domain-name': u'www.exampl\xe9.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\xea.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\xeb.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u0113.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u0115.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u0117.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u0119.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u011b.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u03f5.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u0435.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u0454.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u04bd.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exampl\u1eb9.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exampme.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampmle.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampne.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampoe.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampole.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examppe.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampple.com', 'fuzzer': 'Insertion'},
        {'domain-name': u'www.examp\u0142e.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.examp\u026be.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.examqle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examrle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examtle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examxle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': u'www.exam\xdele.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exam\u01bfle.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exam\u03c1le.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exam\u03f7le.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exam\u0440le.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exanmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exannple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exanple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exaople.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exaple.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exapmle.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.exapmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exapple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exaqmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exarnple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exarrple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exasmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exawmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exaymple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exazmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': u'www.exa\u0271ple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exa\u043cple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exa\u1d0dple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.exa\u1e43ple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.excample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.excmple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exdample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exemple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.eximple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exmaple.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.exmple.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exomple.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.exqample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exqmple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exsample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exsmple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exumple.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.exwample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exwmple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exxample.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'www.exyample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exymple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exzample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exzmple.com', 'fuzzer': 'Replacement'},
        {'domain-name': u'www.ex\xe0mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\xe1mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\xe2mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\xe3mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\xe4mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\xe5mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u0103mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u01cemple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u0227mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u0251mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u0307ample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u0430mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u04d3mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.ex\u1ea1mple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.eyample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.eyxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ezample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.ezxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': u'www.e\u0445ample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.e\u04b3ample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.gxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.ixample.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.mxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.oxample.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.rexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.rxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.sexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.sxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.uxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.wexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.wxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.xample.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.xeample.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.zexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.zxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': u'www.\xe9xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\xe9xampl\xe9.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\xeaxample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\xeaxampl\xea.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\xebxample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\xebxampl\xeb.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0113xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0113xampl\u0113.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0115xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0115xampl\u0115.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0117xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0117xampl\u0117.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0119xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0119xampl\u0119.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u011bxample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u011bxampl\u011b.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u03f5xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u03f5xampl\u03f5.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0435xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0435xampl\u0435.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0454xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u0454xampl\u0454.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u04bdxample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u04bdxampl\u04bd.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u1eb9xample.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'www.\u1eb9xampl\u1eb9.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www2.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www3.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwa.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwe.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwe.xample.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'wwwexample.com', 'fuzzer': 'Omission'},
        {'domain-name': 'wwwnexample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwwq.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwws.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwww.example.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'wwwx.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwx.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwxw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': u'ww\u0461.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'ww\u051d.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'ww\u0561.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'wxw.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wxww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': u'w\u0461w.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'w\u0461\u0461.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'w\u051dw.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'w\u051d\u051d.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'w\u0561w.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'w\u0561\u0561.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'xww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': u'\u0461ww.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u0461\u0461w.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u0461\u0461\u0461.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u051dww.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u051d\u051dw.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u051d\u051d\u051d.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u0561ww.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u0561\u0561w.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': u'\u0561\u0561\u0561.example.com', 'fuzzer': 'Homoglyph'}
]
def load_py_domains(domain):
    fuzzer = dnstwist.fuzz_domain(domain)
    fuzzer.fuzz()
    return [d['domain-name'].encode('utf-8')
            for d
            in fuzzer.domains]
def test_basic_fuzz():
    """Test of the fuzzer.

    This'll be high-maintenance, but will help track changes over time.
    """
    fuzzer = dnstwist.fuzz_domain('www.example.com')
    fuzzer.fuzz()

    assert sorted([d['domain-name'] for d in fuzzer.domains]) == [
        '2ww.example.com',
        '3ww.example.com',
        '7ww.example.com',
        'aww.example.com',
        'eww.example.com',
        'gww.example.com',
        'qww.example.com',
        'sww.example.com',
        'uww.example.com',
        'vvvvvv.example.com',
        'vvvvw.example.com',
        'vvww.example.com',
        'vww.example.com',
        'w-ww.example.com',
        'w.example.com',
        'w.ww.example.com',
        'w2w.example.com',
        'w2ww.example.com',
        'w3w.example.com',
        'w3ww.example.com',
        'w7w.example.com',
        'waw.example.com',
        'waww.example.com',
        'wew.example.com',
        'weww.example.com',
        'wgw.example.com',
        'wqw.example.com',
        'wqww.example.com',
        'wsw.example.com',
        'wsww.example.com',
        'wuw.example.com',
        'wvvvv.example.com',
        'wvvw.example.com',
        'wvw.example.com',
        'ww-w.example.com',
        'ww.example.com',
        'ww.w.example.com',
        'ww.wexample.com',
        'ww2.example.com',
        'ww2w.example.com',
        'ww3.example.com',
        'ww3w.example.com',
        'ww7.example.com',
        'wwa.example.com',
        'wwaw.example.com',
        'wwe.example.com',
        'wwew.example.com',
        'wwg.example.com',
        'wwq.example.com',
        'wwqw.example.com',
        'wws.example.com',
        'wwsw.example.com',
        'wwu.example.com',
        'wwv.example.com',
        'wwvv.example.com',
        'www.3example.com',
        'www.3xample.com',
        'www.4example.com',
        'www.4xample.com',
        'www.axample.com',
        'www.dexample.com',
        'www.dxample.com',
        'www.e-xample.com',
        'www.e.xample.com',
        'www.e3xample.com',
        'www.e4xample.com',
        'www.e8ample.com',
        'www.eample.com',
        'www.eaxmple.com',
        'www.ecample.com',
        'www.ecxample.com',
        'www.edample.com',
        'www.edxample.com',
        'www.eexample.com',
        'www.ehample.com',
        'www.epample.com',
        'www.erxample.com',
        'www.esample.com',
        'www.esxample.com',
        'www.ewxample.com',
        'www.ex-ample.com',
        'www.ex.ample.com',
        'www.ex1ample.com',
        'www.ex1mple.com',
        'www.ex2ample.com',
        'www.ex2mple.com',
        'www.exa-mple.com',
        'www.exa-ple.com',
        'www.exa.mple.com',
        'www.exa1mple.com',
        'www.exa2mple.com',
        'www.exaample.com',
        'www.exaeple.com',
        'www.exaiple.com',
        'www.exajmple.com',
        'www.exajple.com',
        'www.exakmple.com',
        'www.exakple.com',
        'www.exalmple.com',
        'www.exalple.com',
        'www.exam-ple.com',
        'www.exam.ple.com',
        'www.exam0le.com',
        'www.exam0ple.com',
        'www.examjple.com',
        'www.examkple.com',
        'www.examle.com',
        'www.examlle.com',
        'www.examlpe.com',
        'www.examlple.com',
        'www.exammle.com',
        'www.exammple.com',
        'www.examnple.com',
        'www.examole.com',
        'www.examople.com',
        'www.examp-le.com',
        'www.examp.le.com',
        'www.examp0le.com',
        'www.examp1e.com',
        'www.exampde.com',
        'www.exampe.com',
        'www.exampel.com',
        'www.examphe.com',
        'www.exampie.com',
        'www.exampke.com',
        'www.exampkle.com',
        'www.exampl-e.com',
        'www.exampl.com',
        'www.exampl.e.com',
        'www.exampl3.com',
        'www.exampl4.com',
        'www.exampla.com',
        'www.exampld.com',
        'www.example.com',
        'www.examplea.com',
        'www.exampleb.com',
        'www.examplec.com',
        'www.examplecom.com',
        'www.exampled.com',
        'www.examplee.com',
        'www.examplef.com',
        'www.exampleg.com',
        'www.exampleh.com',
        'www.examplei.com',
        'www.examplej.com',
        'www.examplek.com',
        'www.examplel.com',
        'www.examplem.com',
        'www.examplen.com',
        'www.exampleo.com',
        'www.examplep.com',
        'www.exampleq.com',
        'www.exampler.com',
        'www.examples.com',
        'www.examplet.com',
        'www.exampleu.com',
        'www.examplev.com',
        'www.examplew.com',
        'www.examplex.com',
        'www.exampley.com',
        'www.examplez.com',
        'www.examplg.com',
        'www.exampli.com',
        'www.examplke.com',
        'www.examplle.com',
        'www.examplm.com',
        'www.examplme.com',
        'www.examplo.com',
        'www.examploe.com',
        'www.examplpe.com',
        'www.examplr.com',
        'www.exampls.com',
        'www.examplu.com',
        'www.examplw.com',
        'www.examplz.com',
        'www.exampme.com',
        'www.exampmle.com',
        'www.exampne.com',
        'www.exampoe.com',
        'www.exampole.com',
        'www.examppe.com',
        'www.exampple.com',
        'www.examqle.com',
        'www.examrle.com',
        'www.examtle.com',
        'www.examxle.com',
        'www.exanmple.com',
        'www.exannple.com',
        'www.exanple.com',
        'www.exaople.com',
        'www.exaple.com',
        'www.exapmle.com',
        'www.exapmple.com',
        'www.exapple.com',
        'www.exaqmple.com',
        'www.exarnple.com',
        'www.exarrple.com',
        'www.exasmple.com',
        'www.exawmple.com',
        'www.exaymple.com',
        'www.exazmple.com',
        'www.excample.com',
        'www.excmple.com',
        'www.exdample.com',
        'www.exemple.com',
        'www.eximple.com',
        'www.exmaple.com',
        'www.exmple.com',
        'www.exomple.com',
        'www.exqample.com',
        'www.exqmple.com',
        'www.exsample.com',
        'www.exsmple.com',
        'www.exumple.com',
        'www.exwample.com',
        'www.exwmple.com',
        'www.exxample.com',
        'www.exyample.com',
        'www.exymple.com',
        'www.exzample.com',
        'www.exzmple.com',
        'www.eyample.com',
        'www.eyxample.com',
        'www.ezample.com',
        'www.ezxample.com',
        'www.gxample.com',
        'www.ixample.com',
        'www.mxample.com',
        'www.oxample.com',
        'www.rexample.com',
        'www.rxample.com',
        'www.sexample.com',
        'www.sxample.com',
        'www.uxample.com',
        'www.wexample.com',
        'www.wxample.com',
        'www.xample.com',
        'www.xeample.com',
        'www.zexample.com',
        'www.zxample.com',
        'www2.example.com',
        'www3.example.com',
        'wwwa.example.com',
        'wwwe.example.com',
        'wwwe.xample.com',
        'wwwexample.com',
        'wwwnexample.com',
        'wwwq.example.com',
        'wwws.example.com',
        'wwww.example.com',
        'wwwx.example.com',
        'wwx.example.com',
        'wwxw.example.com',
        'wxw.example.com',
        'wxww.example.com',
        'xww.example.com',
    ]

    assert fuzzer.domains == [
        {'domain-name': 'www.example.com', 'fuzzer': 'Original*'},
        {'domain-name': 'www.examplea.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleb.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplec.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampled.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplee.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplef.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleg.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleh.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplei.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplej.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplek.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplel.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplem.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplen.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleo.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplep.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleq.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampler.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examples.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplet.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampleu.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplev.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplew.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplex.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.exampley.com', 'fuzzer': 'Addition'},
        {'domain-name': 'www.examplez.com', 'fuzzer': 'Addition'},
        {'domain-name': 'vww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'uww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'sww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'gww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': '7ww.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wvw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wuw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wsw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wgw.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'w7w.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwv.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwu.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wws.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwg.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'ww7.example.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'wwwnexample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.dxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.gxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.axample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.mxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.uxample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.eyample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.ezample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.epample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.ehample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.e8ample.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.excmple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exemple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.eximple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exqmple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exalple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exaople.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exaiple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exaeple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exa-ple.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examqle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examrle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examtle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examxle.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exam0le.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampme.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampne.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examphe.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampde.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampld.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplg.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exampla.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplm.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.examplu.com', 'fuzzer': 'Bitsquatting'},
        {'domain-name': 'www.exarnple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exampie.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'vvww.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exarrple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exannple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'wwvv.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'vvvvvv.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.exanple.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'vvvvw.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'wvvw.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'www.examp1e.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'wvvvv.example.com', 'fuzzer': 'Homoglyph'},
        {'domain-name': 'w-ww.example.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'ww-w.example.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.e-xample.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.ex-ample.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exa-mple.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exam-ple.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.examp-le.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exampl-e.com', 'fuzzer': 'Hyphenation'},
        {'domain-name': 'www.exampple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ezxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examlple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampole.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exa2mple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wsww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.edxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exyample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wxww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exazmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exanmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplle.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ex1ample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exasmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwa.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.e4xample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwsw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.zexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exam0ple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exapmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exakmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exammple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www3.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examploe.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.e3xample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exwample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwew.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.excample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ewxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplme.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exzample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exawmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'waww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.dexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwxw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exdample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.sexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'ww2w.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampkle.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwaw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examjple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.eyxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wqww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exalmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.wexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'w3ww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'w2ww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exaymple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examnple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exampmle.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwe.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ecxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'ww3w.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www2.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exsample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'weww.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwx.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwws.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.rexample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examp0le.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.4example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examople.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.esxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exaqmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exqample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwqw.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplke.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exa1mple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.ex2ample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exajmple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examkple.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.examplpe.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.3example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.erxample.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'wwwq.example.com', 'fuzzer': 'Insertion'},
        {'domain-name': 'www.exaple.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.eample.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.examle.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exampl.com', 'fuzzer': 'Omission'},
        {'domain-name': 'wwwexample.com', 'fuzzer': 'Omission'},
        {'domain-name': 'w.example.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.xample.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exampe.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exmple.com', 'fuzzer': 'Omission'},
        {'domain-name': 'ww.example.com', 'fuzzer': 'Omission'},
        {'domain-name': 'www.exaample.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'www.eexample.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'www.exxample.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'wwww.example.com', 'fuzzer': 'Repetition'},
        {'domain-name': 'www.exsmple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.rxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'eww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.ecample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exakple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwa.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.ex2mple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.wxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.4xample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wxw.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.sxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'ww2.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exymple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'aww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.zxample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wew.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwx.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exajple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplz.com', 'fuzzer': 'Replacement'},
        {'domain-name': '2ww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampls.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'w2w.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplw.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwe.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examole.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'ww3.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examlle.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampl3.com', 'fuzzer': 'Replacement'},
        {'domain-name': '3ww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exzmple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.esample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'waw.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examplr.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.3xample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.examppe.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'xww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.edample.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampke.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampoe.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wqw.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exwmple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exapple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'qww.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'w3w.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exammle.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'wwq.example.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.ex1mple.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'www.exampl4.com', 'fuzzer': 'Replacement'},
        {'domain-name': 'w.ww.example.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'ww.w.example.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.e.xample.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.ex.ample.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.exa.mple.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.exam.ple.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.examp.le.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'www.exampl.e.com', 'fuzzer': 'Subdomain'},
        {'domain-name': 'ww.wexample.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'wwwe.xample.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.xeample.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.eaxmple.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.exmaple.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.exapmle.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.examlpe.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.exampel.com', 'fuzzer': 'Transposition'},
        {'domain-name': 'www.exampli.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.examplo.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.oxample.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.ixample.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.exomple.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.exumple.com', 'fuzzer': 'Vowel swap'},
        {'domain-name': 'www.examplecom.com', 'fuzzer': 'Various'},
    ]
Example #10
0
def test_basic_fuzz():
    """Test of the fuzzer.

    This'll be high-maintenance, but will help track changes over time.
    """
    fuzzer = dnstwist.fuzz_domain('www.example.com')
    fuzzer.fuzz()

    assert sorted([d['domain-name'] for d in fuzzer.domains]) == [
        '2ww.example.com',
        '3ww.example.com',
        '7ww.example.com',
        'aww.example.com',
        'eww.example.com',
        'gww.example.com',
        'qww.example.com',
        'sww.example.com',
        'uww.example.com',
        'vvvvvv.example.com',
        'vvvvw.example.com',
        'vvww.example.com',
        'vww.example.com',
        'w-ww.example.com',
        'w.example.com',
        'w.ww.example.com',
        'w2w.example.com',
        'w2ww.example.com',
        'w3w.example.com',
        'w3ww.example.com',
        'w7w.example.com',
        'waw.example.com',
        'waww.example.com',
        'wew.example.com',
        'weww.example.com',
        'wgw.example.com',
        'wqw.example.com',
        'wqww.example.com',
        'wsw.example.com',
        'wsww.example.com',
        'wuw.example.com',
        'wvvvv.example.com',
        'wvvw.example.com',
        'wvw.example.com',
        'ww-w.example.com',
        'ww.example.com',
        'ww.w.example.com',
        'ww.wexample.com',
        'ww2.example.com',
        'ww2w.example.com',
        'ww3.example.com',
        'ww3w.example.com',
        'ww7.example.com',
        'wwa.example.com',
        'wwaw.example.com',
        'wwe.example.com',
        'wwew.example.com',
        'wwg.example.com',
        'wwq.example.com',
        'wwqw.example.com',
        'wws.example.com',
        'wwsw.example.com',
        'wwu.example.com',
        'wwv.example.com',
        'wwvv.example.com',
        'www.3example.com',
        'www.3xample.com',
        'www.4example.com',
        'www.4xample.com',
        'www.axample.com',
        'www.dexample.com',
        'www.dxample.com',
        'www.e-xample.com',
        'www.e.xample.com',
        'www.e3xample.com',
        'www.e4xample.com',
        'www.e8ample.com',
        'www.eample.com',
        'www.eaxmple.com',
        'www.ecample.com',
        'www.ecxample.com',
        'www.edample.com',
        'www.edxample.com',
        'www.eexample.com',
        'www.ehample.com',
        'www.epample.com',
        'www.erxample.com',
        'www.esample.com',
        'www.esxample.com',
        'www.ewxample.com',
        'www.ex-ample.com',
        'www.ex.ample.com',
        'www.ex1ample.com',
        'www.ex1mple.com',
        'www.ex2ample.com',
        'www.ex2mple.com',
        'www.exa-mple.com',
        'www.exa-ple.com',
        'www.exa.mple.com',
        'www.exa1mple.com',
        'www.exa2mple.com',
        'www.exaample.com',
        'www.exaeple.com',
        'www.exaiple.com',
        'www.exajmple.com',
        'www.exajple.com',
        'www.exakmple.com',
        'www.exakple.com',
        'www.exalmple.com',
        'www.exalple.com',
        'www.exam-ple.com',
        'www.exam.ple.com',
        'www.exam0le.com',
        'www.exam0ple.com',
        'www.examjple.com',
        'www.examkple.com',
        'www.examle.com',
        'www.examlle.com',
        'www.examlpe.com',
        'www.examlple.com',
        'www.exammle.com',
        'www.exammple.com',
        'www.examnple.com',
        'www.examole.com',
        'www.examople.com',
        'www.examp-le.com',
        'www.examp.le.com',
        'www.examp0le.com',
        'www.examp1e.com',
        'www.exampde.com',
        'www.exampe.com',
        'www.exampel.com',
        'www.examphe.com',
        'www.exampie.com',
        'www.exampke.com',
        'www.exampkle.com',
        'www.exampl-e.com',
        'www.exampl.com',
        'www.exampl.e.com',
        'www.exampl3.com',
        'www.exampl4.com',
        'www.exampla.com',
        'www.exampld.com',
        'www.example.com',
        'www.examplea.com',
        'www.exampleb.com',
        'www.examplec.com',
        'www.examplecom.com',
        'www.exampled.com',
        'www.examplee.com',
        'www.examplef.com',
        'www.exampleg.com',
        'www.exampleh.com',
        'www.examplei.com',
        'www.examplej.com',
        'www.examplek.com',
        'www.examplel.com',
        'www.examplem.com',
        'www.examplen.com',
        'www.exampleo.com',
        'www.examplep.com',
        'www.exampleq.com',
        'www.exampler.com',
        'www.examples.com',
        'www.examplet.com',
        'www.exampleu.com',
        'www.examplev.com',
        'www.examplew.com',
        'www.examplex.com',
        'www.exampley.com',
        'www.examplez.com',
        'www.examplg.com',
        'www.exampli.com',
        'www.examplke.com',
        'www.examplle.com',
        'www.examplm.com',
        'www.examplme.com',
        'www.examplo.com',
        'www.examploe.com',
        'www.examplpe.com',
        'www.examplr.com',
        'www.exampls.com',
        'www.examplu.com',
        'www.examplw.com',
        'www.examplz.com',
        'www.exampme.com',
        'www.exampmle.com',
        'www.exampne.com',
        'www.exampoe.com',
        'www.exampole.com',
        'www.examppe.com',
        'www.exampple.com',
        'www.examqle.com',
        'www.examrle.com',
        'www.examtle.com',
        'www.examxle.com',
        'www.exanmple.com',
        'www.exannple.com',
        'www.exanple.com',
        'www.exaople.com',
        'www.exaple.com',
        'www.exapmle.com',
        'www.exapmple.com',
        'www.exapple.com',
        'www.exaqmple.com',
        'www.exarnple.com',
        'www.exarrple.com',
        'www.exasmple.com',
        'www.exawmple.com',
        'www.exaymple.com',
        'www.exazmple.com',
        'www.excample.com',
        'www.excmple.com',
        'www.exdample.com',
        'www.exemple.com',
        'www.eximple.com',
        'www.exmaple.com',
        'www.exmple.com',
        'www.exomple.com',
        'www.exqample.com',
        'www.exqmple.com',
        'www.exsample.com',
        'www.exsmple.com',
        'www.exumple.com',
        'www.exwample.com',
        'www.exwmple.com',
        'www.exxample.com',
        'www.exyample.com',
        'www.exymple.com',
        'www.exzample.com',
        'www.exzmple.com',
        'www.eyample.com',
        'www.eyxample.com',
        'www.ezample.com',
        'www.ezxample.com',
        'www.gxample.com',
        'www.ixample.com',
        'www.mxample.com',
        'www.oxample.com',
        'www.rexample.com',
        'www.rxample.com',
        'www.sexample.com',
        'www.sxample.com',
        'www.uxample.com',
        'www.wexample.com',
        'www.wxample.com',
        'www.xample.com',
        'www.xeample.com',
        'www.zexample.com',
        'www.zxample.com',
        'www2.example.com',
        'www3.example.com',
        'wwwa.example.com',
        'wwwe.example.com',
        'wwwe.xample.com',
        'wwwexample.com',
        'wwwnexample.com',
        'wwwq.example.com',
        'wwws.example.com',
        'wwww.example.com',
        'wwwx.example.com',
        'wwx.example.com',
        'wwxw.example.com',
        'wxw.example.com',
        'wxww.example.com',
        'xww.example.com',
    ]

    assert fuzzer.domains == [
        {
            'domain-name': 'www.example.com',
            'fuzzer': 'Original*'
        },
        {
            'domain-name': 'www.examplea.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampleb.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplec.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampled.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplee.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplef.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampleg.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampleh.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplei.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplej.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplek.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplel.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplem.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplen.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampleo.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplep.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampleq.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampler.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examples.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplet.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampleu.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplev.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplew.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplex.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.exampley.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'www.examplez.com',
            'fuzzer': 'Addition'
        },
        {
            'domain-name': 'vww.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'uww.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'sww.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'gww.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': '7ww.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wvw.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wuw.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wsw.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wgw.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'w7w.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wwv.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wwu.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wws.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wwg.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'ww7.example.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'wwwnexample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.dxample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.gxample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.axample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.mxample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.uxample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.eyample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.ezample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.epample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.ehample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.e8ample.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.excmple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exemple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.eximple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exqmple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exalple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exaople.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exaiple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exaeple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exa-ple.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examqle.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examrle.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examtle.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examxle.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exam0le.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exampme.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exampne.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examphe.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exampde.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exampld.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examplg.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exampla.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examplm.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.examplu.com',
            'fuzzer': 'Bitsquatting'
        },
        {
            'domain-name': 'www.exarnple.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'www.exampie.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'vvww.example.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'www.exarrple.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'www.exannple.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'wwvv.example.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'vvvvvv.example.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'www.exanple.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'vvvvw.example.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'wvvw.example.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'www.examp1e.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'wvvvv.example.com',
            'fuzzer': 'Homoglyph'
        },
        {
            'domain-name': 'w-ww.example.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'ww-w.example.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.e-xample.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.ex-ample.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.exa-mple.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.exam-ple.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.examp-le.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.exampl-e.com',
            'fuzzer': 'Hyphenation'
        },
        {
            'domain-name': 'www.exampple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.ezxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examlple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exampole.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exa2mple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wsww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.edxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exyample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wxww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exazmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exanmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examplle.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.ex1ample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exasmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwwa.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.e4xample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwsw.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.zexample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exam0ple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exapmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exakmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exammple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www3.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examploe.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.e3xample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exwample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwew.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.excample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.ewxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examplme.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exzample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exawmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'waww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.dexample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwxw.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exdample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.sexample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'ww2w.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exampkle.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwaw.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examjple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.eyxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wqww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exalmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.wexample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'w3ww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'w2ww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exaymple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examnple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exampmle.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwwe.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.ecxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'ww3w.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www2.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exsample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'weww.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwwx.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwws.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.rexample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examp0le.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.4example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examople.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.esxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exaqmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exqample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwqw.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examplke.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exa1mple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.ex2ample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exajmple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examkple.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.examplpe.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.3example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.erxample.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'wwwq.example.com',
            'fuzzer': 'Insertion'
        },
        {
            'domain-name': 'www.exaple.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.eample.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.examle.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.exampl.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'wwwexample.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'w.example.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.xample.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.exampe.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.exmple.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'ww.example.com',
            'fuzzer': 'Omission'
        },
        {
            'domain-name': 'www.exaample.com',
            'fuzzer': 'Repetition'
        },
        {
            'domain-name': 'www.eexample.com',
            'fuzzer': 'Repetition'
        },
        {
            'domain-name': 'www.exxample.com',
            'fuzzer': 'Repetition'
        },
        {
            'domain-name': 'wwww.example.com',
            'fuzzer': 'Repetition'
        },
        {
            'domain-name': 'www.exsmple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.rxample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'eww.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.ecample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exakple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wwa.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.ex2mple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.wxample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.4xample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wxw.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.sxample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'ww2.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exymple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'aww.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.zxample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wew.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wwx.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exajple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.examplz.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': '2ww.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exampls.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'w2w.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.examplw.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wwe.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.examole.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'ww3.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.examlle.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exampl3.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': '3ww.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exzmple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.esample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'waw.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.examplr.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.3xample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.examppe.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'xww.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.edample.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exampke.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exampoe.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wqw.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exwmple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exapple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'qww.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'w3w.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exammle.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'wwq.example.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.ex1mple.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'www.exampl4.com',
            'fuzzer': 'Replacement'
        },
        {
            'domain-name': 'w.ww.example.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'ww.w.example.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'www.e.xample.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'www.ex.ample.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'www.exa.mple.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'www.exam.ple.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'www.examp.le.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'www.exampl.e.com',
            'fuzzer': 'Subdomain'
        },
        {
            'domain-name': 'ww.wexample.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'wwwe.xample.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.xeample.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.eaxmple.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.exmaple.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.exapmle.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.examlpe.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.exampel.com',
            'fuzzer': 'Transposition'
        },
        {
            'domain-name': 'www.exampli.com',
            'fuzzer': 'Vowel swap'
        },
        {
            'domain-name': 'www.examplo.com',
            'fuzzer': 'Vowel swap'
        },
        {
            'domain-name': 'www.oxample.com',
            'fuzzer': 'Vowel swap'
        },
        {
            'domain-name': 'www.ixample.com',
            'fuzzer': 'Vowel swap'
        },
        {
            'domain-name': 'www.exomple.com',
            'fuzzer': 'Vowel swap'
        },
        {
            'domain-name': 'www.exumple.com',
            'fuzzer': 'Vowel swap'
        },
        {
            'domain-name': 'www.examplecom.com',
            'fuzzer': 'Various'
        },
    ]