domainblob 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3e718a846cc24309e0f359b014ddecf550915878
4
+ data.tar.gz: 285a15bf02c59d84a778b960fab84b7873a35f8e
5
+ SHA512:
6
+ metadata.gz: 3c2beda81b701c3604e54835ebc2107cb09745af2152cb7557817b3b500c9768c7f5211ce3f0bbadc76a1634510d29fa712064a72a2f2e3902b54e4f2becaaf2
7
+ data.tar.gz: 82d74446a159bb92bd4749c5e7418101a6ef512017d2732115c69143c9e34ed0c3b1630f697e91b71730aaaf2ace6079ca52b6f7dfdc97715894ac6b8893fb5b
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ 2015 (c) Joseph Michael Norton - @joenorton - http://Norton.io
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,37 @@
1
+ domainblob
2
+ ==========
3
+ Domain Name Lookup Tool
4
+
5
+ Required Gems:
6
+ ==============
7
+ * Whois
8
+ * Open-uri
9
+ * Resolv
10
+
11
+ How to use:
12
+ ===========
13
+ ```
14
+ ruby domainblob.rb insert_cool_word_here
15
+ ```
16
+
17
+ 2 Methods --- Command-line Arguments or Text File
18
+
19
+ Command-Line Args:
20
+ 1. When you run the script, with **ruby domainblob.rb insert_cool_word_here** then it will use your root phrase to check over 5,000 potential domain names for availability.
21
+ 2. Sit tight, it takes about 1 second per domain check. This amounts to somewhere between an hour and 2 for an entire batch to run.
22
+ 3. When it is done, it will create a text document named after the phrase you used as your seed - followed by the number found to be available. It will put this result file into your newly created 'blobs' folder. Example: blobs/Tech30.txt
23
+
24
+ Text File:
25
+ 1. Create a txt document named **totalPhraseList.txt** in the same directory as the script
26
+ 2. The script will process each line of the **totalPhraseList.txt** document, so put one seed word per each line and they will be run right after another.
27
+ 3. When you run the script, with **ruby domainblob.rb** then it will use your root phrase to check a couple hundred potential domain names for availability.
28
+ 4. Sit tight.
29
+ 5. When it is done, it will create a text document named after the phrase you used as your seed - followed by the number of domains found. Example: blobs/Tech30.txt
30
+
31
+ How Long Does it Take?
32
+ =====================
33
+ It takes a while. We do not use the RegEx & Zone File method for finding domain name availability. While that would be fastest, I do not have Zone File Access and even if I did -- I would not be allowed to distribute that Zone File.
34
+
35
+ License:
36
+ ========
37
+ GNU GPLv3 (http://www.gnu.org/licenses/gpl.html)
data/bin/db ADDED
@@ -0,0 +1,61 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ #! usr/bin/ruby
7
+
8
+ require 'domainblob'
9
+ require 'optparse'
10
+
11
+ options = {}
12
+ optparse = OptionParser.new do |opts|
13
+ # Set a banner, displayed at the top
14
+ # of the help screen.
15
+ opts.banner = 'Usage: db [MODE FLAG] [options] seed_keyword'
16
+ # Define the options, and what they do
17
+ options['verbose'] = false
18
+ opts.on('-v', '--verbose', 'Output more information') do
19
+ options['verbose'] = true
20
+ end
21
+ options['checkfile'] = false
22
+ opts.on('-c', '--check', 'MODE FLAG: Checkfile mode') do
23
+ options['checkfile'] = true
24
+ end
25
+ options['phraselist'] = false
26
+ opts.on('-l', '--list', 'MODE FLAG: Phraselist mode') do
27
+ options['phraselist'] = true
28
+ end
29
+ options['quickcheck'] = false
30
+ opts.on('-q', '--quickcheck', 'MODE FLAG: QuickCheck mode') do
31
+ options['quickcheck'] = true
32
+ end
33
+ # This displays the help screen, all programs are
34
+ # assumed to have this option.
35
+ opts.on('-h', '--help', 'Display this screen') do
36
+ puts opts
37
+ exit
38
+ end
39
+ end
40
+
41
+ optparse.parse!
42
+ if ARGV[0].nil?
43
+ abort("###Missing Required Argument\nUsage: db [mode] [options] seed_keyword")
44
+ end
45
+
46
+ if options['verbose']
47
+ puts '###############################'
48
+ puts '### [Domainblob]'
49
+ puts '### Being verbose'
50
+ puts '### In CheckFile Mode' if options['checkfile']
51
+ puts '### In PhraseList Mode' if options['phraselist']
52
+ puts '### In QuickCheck Mode' if options['quickcheck']
53
+ puts "### ARGS: #{ARGV}"
54
+ puts "### Opts: #{options}"
55
+ end
56
+ puts '###############################'
57
+ puts '### Starting [Domainblob]'
58
+ Domainblob::CLI.new(ARGV, options)
59
+ puts '### [Domainblob] is done.'
60
+ puts '###############################'
61
+ puts
data/lib/domainblob.rb ADDED
@@ -0,0 +1,17 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+
8
+ require 'domainblob/outputs.rb'
9
+ require 'domainblob/cli.rb'
10
+ require 'domainblob/domain_checker.rb'
11
+ require 'domainblob/seed_generator.rb'
12
+ require 'domainblob/check_file.rb'
13
+ require 'domainblob/quick_check.rb'
14
+ require 'domainblob/version.rb'
15
+
16
+ module Domainblob
17
+ end
@@ -0,0 +1,70 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+
8
+ module Domainblob
9
+ class CheckFile < DomainChecker
10
+ def initialize(q_file, options)
11
+ super
12
+ q_file = q_file.first
13
+ results_file = File.new(q_file + '_results' + RESULT_FILE_EXT, 'w+')
14
+ start(q_file, results_file)
15
+ end
16
+
17
+ def start(q_file, results_file)
18
+ make_and_or_nav_to_dir(RESULT_DIR_NAME)
19
+ @o.start_output(results_file, q_file)
20
+ w = Whois::Client.new
21
+ seeds = File.readlines(@pwd + '/' + q_file + RESULT_FILE_EXT)
22
+ for q in seeds
23
+ q.strip!
24
+ next if q.nil? || q.empty?
25
+ lg(q)
26
+ if valid_domain_name?(q)
27
+ begin
28
+ domain_available?(w, q)
29
+ rescue
30
+ next
31
+ end
32
+ else
33
+ if valid_domain_name?(q+'.com')
34
+ begin
35
+ domain_available?(w, q+'.com')
36
+ rescue
37
+ next
38
+ end
39
+ end
40
+ next
41
+ end
42
+ end
43
+ finish(q_file, results_file)
44
+ end
45
+ def finish(q_file, results_file)
46
+ avail_num = @avail.length
47
+ @avail = @avail.sort_by(&:length)
48
+ #
49
+ @o.write_results(results_file, @avail)
50
+ #
51
+ stop_clock
52
+ #
53
+ @o.ending_output(
54
+ timeDiff = @time_diff,
55
+ availNum = avail_num,
56
+ whoiscounter = @whoiscounter,
57
+ httpcounter = @httpcounter,
58
+ blobResults = results_file
59
+ )
60
+ results_file.close
61
+ #
62
+ File.rename(
63
+ @pwd + '/' + q_file + '_results' + RESULT_FILE_EXT,
64
+ @pwd + '/' + q_file + '_results' + avail_num.to_s + RESULT_FILE_EXT
65
+ )
66
+ #
67
+ Dir.chdir('..')
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,19 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+ module Domainblob
8
+ class CLI
9
+ def initialize(q, options)
10
+ if options['checkfile']
11
+ Domainblob::CheckFile.new(q, options)
12
+ elsif options['quickcheck']
13
+ Domainblob::QuickCheck.new(q, options)
14
+ else
15
+ Domainblob::SeedGenerator.new(q, options)
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,130 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+
8
+ module Domainblob
9
+ class DomainChecker
10
+ require 'whois'
11
+ require 'resolv'
12
+ RESULT_DIR_NAME = 'blobs'
13
+ RESULT_FILE_EXT = '.txt'
14
+ def initialize(q, options)
15
+ @whoiscounter = 0
16
+ @httpcounter = 0
17
+ @whoisdotnetcounter = 0
18
+ @avail = []
19
+ @start_time = Time.now
20
+ @o = Domainblob::Outputs.new
21
+ @pwd = Dir.pwd
22
+ setup_options(options)
23
+ end
24
+
25
+ def setup_options(options)
26
+ @verbose = true if options['verbose']
27
+ end
28
+
29
+ def make_and_or_nav_to_dir(_thePhrase)
30
+ if File.directory?(RESULT_DIR_NAME)
31
+ Dir.chdir(RESULT_DIR_NAME)
32
+ else
33
+ Dir.mkdir(RESULT_DIR_NAME)
34
+ Dir.chdir(RESULT_DIR_NAME)
35
+ end
36
+ end
37
+ def sanitize_input(q)
38
+ q.strip
39
+ end
40
+ def valid_domain_name?(url)
41
+ if url =~ /[#$&;=\[\]()_~\,?]/
42
+ false
43
+ else
44
+ if url =~ /\./
45
+ lg('passed')
46
+ lg(url)
47
+ true
48
+ else
49
+ false
50
+ end
51
+ end
52
+ end
53
+ def http_check_domain(query)
54
+ begin
55
+ entry = Resolv.getaddress(query)
56
+ rescue Resolv::ResolvError
57
+ return false # dns could not resolve, may still be registered
58
+ rescue Timeout::Error
59
+ retry # timeout, no info gained, retry?
60
+ end
61
+ if entry
62
+ @httpcounter += 1
63
+ return true # yes, domain is registered
64
+ else
65
+ return false # not sure why it would fail, so lets fail out of this f'n
66
+ end
67
+ end
68
+
69
+ def domain_available?(w, domain)
70
+ if http_check_domain(domain) # if exists - this passes, and we'll return false out of this f'n
71
+ puts 'not available: ' + domain
72
+ return false # domain not available, false
73
+ else
74
+ begin
75
+ r = w.lookup(domain)
76
+ @whoiscounter += 1
77
+ if r.available?
78
+ puts 'AVAILABLE: ' + domain
79
+ @avail.push(domain) # yes, true, domain is available
80
+ return true
81
+ else
82
+ puts 'not available: ' + domain
83
+ return false
84
+ end
85
+ rescue Whois::ConnectionError
86
+ puts 'ConnectionError - skipping'
87
+ return false
88
+ end
89
+ end
90
+ end
91
+
92
+ def get_root_domains(q)
93
+ w = Whois::Client.new
94
+ domain_available?(w, q + '.com')
95
+ domain_available?(w, q + '.org')
96
+ domain_available?(w, q + '.net')
97
+ domain_available?(w, q + '.co')
98
+ domain_available?(w, q + '.io')
99
+ domain_available?(w, q + '.ly')
100
+ end
101
+
102
+ def cycle_thru_all_prefix_and_suffix_lists(thePhrase)
103
+ Whois::Client.new(:timeout => nil) do |w|
104
+ for each_list in @prefix_array
105
+ for each_entry in each_list
106
+ domain_available?(w, each_entry + thePhrase + '.com')
107
+ end
108
+ end
109
+ end
110
+ Whois::Client.new(:timeout => nil) do |w|
111
+ for each_list in @suffix_array
112
+ for each_entry in each_list
113
+ domain_available?(w, thePhrase + each_entry + '.com')
114
+ end
115
+ end
116
+ end
117
+ end
118
+ def stop_clock
119
+ @end_time = Time.now
120
+ @time_diff = @end_time - @start_time
121
+ end
122
+ def errlog(msg)
123
+ fail "ERROR: #{msg}"
124
+ end
125
+
126
+ def lg(msg)
127
+ puts "### #{msg}" if @verbose
128
+ end
129
+ end
130
+ end
@@ -0,0 +1,41 @@
1
+ @latinPreAndSuffixArray = %w(
2
+ io
3
+ virtus
4
+ ego
5
+ vox
6
+ ex
7
+ ideo
8
+ novo
9
+ novus
10
+ pax
11
+ rex
12
+ velox
13
+ verus
14
+ vivo
15
+ nova
16
+ )
17
+ @bothPreAndSuffixArray = %w(
18
+ media
19
+ direct
20
+ access
21
+ ez
22
+ easy
23
+ info
24
+ interactive
25
+ biz
26
+ buzz
27
+ bit
28
+ byte
29
+ up
30
+ tech
31
+ on
32
+ out
33
+ auto
34
+ pulse
35
+ x
36
+ venture
37
+ trend
38
+ life
39
+ retro
40
+ secret
41
+ )
@@ -0,0 +1,70 @@
1
+ @mainPrefixArray = %w(
2
+ the
3
+ x
4
+ my
5
+ i
6
+ me
7
+ we
8
+ you
9
+ e
10
+ top
11
+ pro
12
+ best
13
+ super
14
+ ultra
15
+ all
16
+ cyber
17
+ simply
18
+ free
19
+ 1st
20
+ meta
21
+ re
22
+ metro
23
+ urban
24
+ head
25
+ hit
26
+ front
27
+ techno
28
+ ever
29
+ rush
30
+ think
31
+ solo
32
+ radio
33
+ vip
34
+ )
35
+ @latinPrefixArray = %w(
36
+ ubi
37
+ bis
38
+ ad
39
+ ambi
40
+ inter
41
+ liber
42
+ mono
43
+ poli
44
+ tele
45
+ omni
46
+ exo
47
+ extra
48
+ hyper
49
+ hypo
50
+ intro
51
+ proto
52
+ intra
53
+ micro
54
+ macro
55
+ multi
56
+ neo
57
+ iso
58
+ mono
59
+ )
60
+ @scientificPrefixArray = %w(
61
+ aero
62
+ cosmo
63
+ deca
64
+ eco
65
+ geo
66
+ hex
67
+ oxy
68
+ uni
69
+ poly
70
+ )
@@ -0,0 +1,80 @@
1
+ @locationSuffixArray = %w(
2
+ house
3
+ central
4
+ point
5
+ home
6
+ place
7
+ garden
8
+ site
9
+ spot
10
+ park
11
+ dome
12
+ bay
13
+ web
14
+ net
15
+ cave
16
+ base
17
+ heaven
18
+ portal
19
+ world
20
+ camp
21
+ network
22
+ county
23
+ street
24
+ city
25
+ alley
26
+ depot
27
+ valley
28
+ )
29
+ @mainSuffixArray = %w(
30
+ now
31
+ resources
32
+ tools
33
+ source
34
+ review
35
+ system
36
+ book
37
+ guide
38
+ talk
39
+ data
40
+ vision
41
+ load
42
+ box
43
+ focus
44
+ beat
45
+ voice
46
+ share
47
+ cafe
48
+ nexus
49
+ zone
50
+ sight
51
+ link
52
+ lab
53
+ insight
54
+ vine
55
+ board
56
+ flow
57
+ signs
58
+ network
59
+ wire
60
+ cast
61
+ ville
62
+ nation
63
+ egg
64
+ cove
65
+ news
66
+ today
67
+ future
68
+ fun
69
+ watch
70
+ story
71
+ fever
72
+ coast
73
+ side
74
+ road
75
+ heat
76
+ bite
77
+ insider
78
+ club
79
+ connect
80
+ )
@@ -0,0 +1,49 @@
1
+ @statesArray = %w(
2
+ Alabama
3
+ Alaska
4
+ Arizona
5
+ Arkansas
6
+ California
7
+ Colorado
8
+ Connecticut
9
+ Delaware
10
+ Florida
11
+ Georgia
12
+ Hawaii
13
+ Idaho
14
+ Illinois Indiana
15
+ Iowa
16
+ Kansas
17
+ Kentucky
18
+ Louisiana
19
+ Maine
20
+ Maryland
21
+ Massachusetts
22
+ Michigan
23
+ Minnesota
24
+ Mississippi
25
+ Missouri
26
+ Montana Nebraska
27
+ Nevada
28
+ New Hampshire
29
+ New Jersey
30
+ New Mexico
31
+ New York
32
+ North Carolina
33
+ North Dakota
34
+ Ohio
35
+ Oklahoma
36
+ Oregon
37
+ Pennsylvania Rhode Island
38
+ South Carolina
39
+ South Dakota
40
+ Tennessee
41
+ Texas
42
+ Utah
43
+ Vermont
44
+ Virginia
45
+ Washington
46
+ West Virginia
47
+ Wisconsin
48
+ Wyoming
49
+ )
@@ -0,0 +1,55 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+ module Domainblob
8
+ class Outputs
9
+ def initialize
10
+ end
11
+ def help?
12
+ puts "\n###Usage: ruby domainblob.rb phrase\n" \
13
+ "##Or, create 'totalPhraseList.txt' and add one phrase per line\n" \
14
+ '##Thanks, try again.'
15
+ end
16
+
17
+ def start_output(blobResults, thePhrase)
18
+ puts
19
+ puts '###Started!###'
20
+ puts 'Now analyzing domains with root: ' + thePhrase
21
+ puts 'Please wait while Domainblob processes this request...'
22
+ blobResults.puts
23
+ blobResults.puts 'Now analyzing domains with root: ' + thePhrase
24
+ true
25
+ end
26
+
27
+ def ending_output(timeDiff = 0, availNum = 0, whoiscounter = 0, httpcounter = 0, blobResults = false)
28
+ long_str = "\nProcess took: " + timeDiff.to_s + " seconds\n" +
29
+ availNum.to_s + " domains were AVAILABLE\n" +
30
+ (whoiscounter + httpcounter).to_s + " total domains were checked\n" \
31
+ 'Direct Whois ' + whoiscounter.to_s + "\n" \
32
+ 'HTTP Check ' + httpcounter.to_s
33
+ if blobResults
34
+ blobResults.puts long_str
35
+ else
36
+ puts long_str
37
+ end
38
+ true
39
+ end
40
+
41
+ def write_results(blobResults, avail)
42
+ if avail.nil?
43
+ blobResults.puts 'ZERO Available'
44
+ blobResults.puts '#######################'
45
+ return false
46
+ end
47
+ blobResults.puts 'Available'
48
+ blobResults.puts '#######################'
49
+ for entry in avail
50
+ blobResults.puts entry
51
+ end
52
+ blobResults.puts
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,22 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+
8
+ module Domainblob
9
+ class QuickCheck < DomainChecker
10
+ def initialize(q, options)
11
+ super
12
+ start(q)
13
+ end
14
+
15
+ def start(q)
16
+ w = Whois::Client.new
17
+ q.each do |domain|
18
+ domain_available?(w, domain)
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,73 @@
1
+ ##################################################################
2
+ # ####DomainBlob.rb -- quick domain-name lookup and idea generation
3
+ # ####created by Joe Norton
4
+ # ####http://norton.io
5
+ # #LICENSING: GNU GPLv3 License##################################
6
+ # ! usr/bin/ruby
7
+
8
+ module Domainblob
9
+ class SeedGenerator < DomainChecker
10
+ def initialize(q, options)
11
+ super
12
+ @phrase_list_filename = q if options['phraselist']
13
+ load_prefixes_and_suffixes
14
+ if options['phraselist']
15
+ start(File.readlines(@pwd + '/' + @phrase_list_filename))
16
+ else
17
+ start(q)
18
+ end
19
+ finish
20
+ end
21
+ def start(q)
22
+ make_and_or_nav_to_dir(RESULT_DIR_NAME)
23
+ q.each do |seed_keyword|
24
+ #
25
+ seed_keyword = sanitize_input(seed_keyword)
26
+ #
27
+ @result_file = File.new(seed_keyword + RESULT_FILE_EXT, 'w+')
28
+ #
29
+ @o.start_output(@result_file, seed_keyword)
30
+ # first we check all possible combos for the root phrase
31
+ get_root_domains(seed_keyword)
32
+ # now we cycle through prefixes, then suffixes for this phrase
33
+ cycle_thru_all_prefix_and_suffix_lists(seed_keyword)
34
+ end
35
+ end
36
+ def finish
37
+ avail_num = @avail.length
38
+ @avail = @avail.sort_by(&:length)
39
+ #
40
+ @o.write_results(@result_file, @avail)
41
+ #
42
+ stop_clock
43
+ #
44
+ @o.ending_output(@time_diff, avail_num, @whoiscounter, @httpcounter, @result_file)
45
+ @result_file.close
46
+ #
47
+ File.rename(
48
+ seed_keyword + RESULT_FILE_EXT,
49
+ seed_keyword + avail_num.to_s + RESULT_FILE_EXT
50
+ )
51
+ #
52
+ @o.ending_output(@time_diff, avail_num, @whoiscounter, @httpcounter)
53
+ Dir.chdir('..')
54
+ end
55
+ def load_prefixes_and_suffixes
56
+ Dir[File.join(File.dirname(__FILE__), 'lists', '*.rb')].each {|file| eval(File.read(file)) }
57
+
58
+ @prefix_array = [
59
+ @mainPrefixArray,
60
+ # @scientificPrefixArray,
61
+ @bothPreAndSuffixArray,
62
+ # (@latinPrefixArray + @latinPreAndSuffixArray)
63
+ ]
64
+
65
+ @suffix_array = [
66
+ @mainSuffixArray,
67
+ @locationSuffixArray,
68
+ @bothPreAndSuffixArray,
69
+ #@latinPreAndSuffixArray
70
+ ]
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,4 @@
1
+ #
2
+ module Domainblob
3
+ VERSION = '1.0.0'
4
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: domainblob
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Joe Norton
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-10-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: whois
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.6'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.6'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.3'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.14'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.14'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description: Check available domain names, in bulk!
84
+ email:
85
+ - joe@norton.io
86
+ executables:
87
+ - db
88
+ extensions: []
89
+ extra_rdoc_files: []
90
+ files:
91
+ - LICENSE
92
+ - README.md
93
+ - bin/db
94
+ - lib/domainblob.rb
95
+ - lib/domainblob/check_file.rb
96
+ - lib/domainblob/cli.rb
97
+ - lib/domainblob/domain_checker.rb
98
+ - lib/domainblob/lists/misc.rb
99
+ - lib/domainblob/lists/prefixes.rb
100
+ - lib/domainblob/lists/suffixes.rb
101
+ - lib/domainblob/lists/us_states.rb
102
+ - lib/domainblob/outputs.rb
103
+ - lib/domainblob/quick_check.rb
104
+ - lib/domainblob/seed_generator.rb
105
+ - lib/domainblob/version.rb
106
+ homepage: ''
107
+ licenses:
108
+ - MIT
109
+ metadata: {}
110
+ post_install_message:
111
+ rdoc_options: []
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: 2.0.0
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: 1.3.6
124
+ requirements: []
125
+ rubyforge_project: domainblob
126
+ rubygems_version: 2.3.0
127
+ signing_key:
128
+ specification_version: 4
129
+ summary: Bulk Domain Name Checker
130
+ test_files: []