wmap 2.7.2 → 2.7.6

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.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +10 -16
  3. data/bin/refresh +5 -5
  4. data/lib/wmap.rb +1 -1
  5. data/lib/wmap/site_tracker.rb +1 -4
  6. data/lib/wmap/{wp_tracker.rb → site_tracker/wp_tracker.rb} +41 -4
  7. data/lib/wmap/url_crawler.rb +1 -1
  8. data/version.txt +2 -2
  9. data/wmap.gemspec +2 -2
  10. metadata +4 -59
  11. data/ruby_whois_patches/base_cocca2.rb +0 -149
  12. data/ruby_whois_patches/kero.yachay.pe.rb +0 -120
  13. data/ruby_whois_patches/whois.PublicDomainRegistry.com.rb +0 -124
  14. data/ruby_whois_patches/whois.above.com.rb +0 -61
  15. data/ruby_whois_patches/whois.adamsnames.tc.rb +0 -107
  16. data/ruby_whois_patches/whois.aeda.net.ae.rb +0 -105
  17. data/ruby_whois_patches/whois.ai.rb +0 -112
  18. data/ruby_whois_patches/whois.arnes.si.rb +0 -121
  19. data/ruby_whois_patches/whois.ascio.com.rb +0 -91
  20. data/ruby_whois_patches/whois.cnnic.cn.rb +0 -123
  21. data/ruby_whois_patches/whois.corporatedomains.com.rb +0 -67
  22. data/ruby_whois_patches/whois.crsnic.net.rb +0 -108
  23. data/ruby_whois_patches/whois.denic.de.rb +0 -174
  24. data/ruby_whois_patches/whois.dk-hostmaster.dk.rb +0 -120
  25. data/ruby_whois_patches/whois.dns.be.rb +0 -134
  26. data/ruby_whois_patches/whois.dns.lu.rb +0 -129
  27. data/ruby_whois_patches/whois.dns.pl.rb +0 -150
  28. data/ruby_whois_patches/whois.dns.pt.rb +0 -119
  29. data/ruby_whois_patches/whois.domain.kg.rb +0 -126
  30. data/ruby_whois_patches/whois.domainregistry.my.rb +0 -123
  31. data/ruby_whois_patches/whois.domreg.lt.rb +0 -110
  32. data/ruby_whois_patches/whois.dot.tk.rb +0 -140
  33. data/ruby_whois_patches/whois.hkirc.hk.rb +0 -121
  34. data/ruby_whois_patches/whois.isnic.is.rb +0 -130
  35. data/ruby_whois_patches/whois.je.rb +0 -119
  36. data/ruby_whois_patches/whois.jprs.jp.rb +0 -137
  37. data/ruby_whois_patches/whois.kenic.or.ke.rb +0 -140
  38. data/ruby_whois_patches/whois.markmonitor.com.rb +0 -118
  39. data/ruby_whois_patches/whois.melbourneit.com.rb +0 -58
  40. data/ruby_whois_patches/whois.nic.as.rb +0 -96
  41. data/ruby_whois_patches/whois.nic.at.rb +0 -109
  42. data/ruby_whois_patches/whois.nic.ch.rb +0 -141
  43. data/ruby_whois_patches/whois.nic.cl.rb +0 -117
  44. data/ruby_whois_patches/whois.nic.ec.rb +0 -157
  45. data/ruby_whois_patches/whois.nic.im.rb +0 -120
  46. data/ruby_whois_patches/whois.nic.it.rb +0 -170
  47. data/ruby_whois_patches/whois.nic.lv.rb +0 -116
  48. data/ruby_whois_patches/whois.nic.ly.rb +0 -127
  49. data/ruby_whois_patches/whois.nic.mu.rb +0 -27
  50. data/ruby_whois_patches/whois.nic.mx.rb +0 -123
  51. data/ruby_whois_patches/whois.nic.net.sa.rb +0 -111
  52. data/ruby_whois_patches/whois.nic.or.kr.rb +0 -101
  53. data/ruby_whois_patches/whois.nic.tel.rb +0 -129
  54. data/ruby_whois_patches/whois.nic.tr.rb +0 -133
  55. data/ruby_whois_patches/whois.nic.us.rb +0 -129
  56. data/ruby_whois_patches/whois.nic.ve.rb +0 -135
  57. data/ruby_whois_patches/whois.norid.no.rb +0 -127
  58. data/ruby_whois_patches/whois.pandi.or.id.rb +0 -118
  59. data/ruby_whois_patches/whois.psi-usa.info.rb +0 -63
  60. data/ruby_whois_patches/whois.registro.br.rb +0 -109
  61. data/ruby_whois_patches/whois.registrygate.com.rb +0 -55
  62. data/ruby_whois_patches/whois.rrpproxy.net.rb +0 -61
  63. data/ruby_whois_patches/whois.sgnic.sg.rb +0 -130
  64. data/ruby_whois_patches/whois.srs.net.nz.rb +0 -166
  65. data/ruby_whois_patches/whois.tucows.com.rb +0 -70
  66. data/ruby_whois_patches/whois.twnic.net.tw.rb +0 -133
@@ -1,121 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- # Parser for the whois.hkirc.hk server.
18
- #
19
- # @note This parser is just a stub and provides only a few basic methods
20
- # to check for domain availability and get domain status.
21
- # Please consider to contribute implementing missing methods.
22
- #
23
- # @see Whois::Record::Parser::Example
24
- # The Example parser for the list of all available methods.
25
- #
26
- class WhoisHkircHk < Base
27
-
28
- property_supported :status do
29
- if available?
30
- :available
31
- else
32
- :registered
33
- end
34
- end
35
-
36
- property_supported :available? do
37
- content_for_scanner.strip == 'Domain Not Found'
38
- end
39
-
40
- property_supported :registered? do
41
- !available?
42
- end
43
-
44
- property_supported :created_on do
45
- if content_for_scanner =~ /Domain Name Commencement Date:\s(.+?)\n/
46
- Time.parse($1)
47
- end
48
- end
49
-
50
- property_not_supported :updated_on
51
-
52
- property_supported :expires_on do
53
- if content_for_scanner =~ /Expiry Date:\s(.+?)\n/
54
- time = $1.strip
55
- Time.parse(time) unless time == 'null'
56
- end
57
- end
58
-
59
- property_supported :nameservers do
60
- if content_for_scanner =~ /Name Servers Information:\n\n((.+\n)+)\n/
61
- $1.split("\n").map do |name|
62
- Record::Nameserver.new(:name => name.strip.downcase)
63
- end
64
- end
65
- end
66
-
67
- # The following methods are implemented by Yang Li on 01/23/2013
68
- # ----------------------------------------------------------------------------
69
- property_supported :domain do
70
- return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\n/i
71
- end
72
-
73
- property_not_supported :domain_id
74
-
75
- property_supported :registrar do
76
- reg=Record::Registrar.new
77
- content_for_scanner.scan(/^(Registrar.*?):\s+(.+)\n/).map do |entry|
78
- reg["name"] = entry[1] if entry[0] =~ /Registrar\sName$/i
79
- reg["url"] = entry[1] if entry[0] =~ /Registrar\sContact/i
80
- end
81
- return reg
82
- end
83
-
84
- property_supported :registrant_contacts do
85
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
86
- end
87
-
88
- property_supported :admin_contacts do
89
- build_contact("Administrative", Whois::Record::Contact::TYPE_ADMIN)
90
- end
91
-
92
- property_supported :technical_contacts do
93
- build_contact("Technical", Whois::Record::Contact::TYPE_TECHNICAL)
94
- end
95
-
96
- private
97
-
98
- def build_contact(element,type)
99
- reg=Record::Contact.new(:type => type)
100
- if content_for_scanner.gsub(/(\(|\)|\/)/,' ') =~ /^(#{element}\sContact\sInformation\:\n\n((.+\n)+)\n\n\n)/i
101
- values=$1
102
- lines=values.split(%r{\n}).delete_if {|x| x !~ /:/}
103
- lines.each do |ent|
104
- entry=ent.split(':')
105
- reg["name"]=entry[1] if entry[0] =~ /Company\s(|English\s*)Name/i
106
- reg["email"]=entry[1] if entry[0]=~ /Email/i
107
- reg["address"]=entry[1] if entry[0]=~ /Address/i
108
- reg["country_code"]=entry[1] if entry[0]=~ /Country/i
109
- reg["phone"]=entry[1] if entry[0]=~ /Phone/i
110
- reg["fax"]=entry[1] if entry[0]=~ /Fax/i
111
- end
112
- end
113
- return reg
114
- end
115
-
116
- # ----------------------------------------------------------------------------
117
-
118
- end
119
- end
120
- end
121
- end
@@ -1,130 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- #
18
- # = whois.isnic.is parser
19
- #
20
- # Parser for the whois.isnic.is server.
21
- #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
27
- #
28
- class WhoisIsnicIs < Base
29
-
30
- property_supported :status do
31
- if available?
32
- :available
33
- else
34
- :registered
35
- end
36
- end
37
-
38
- property_supported :available? do
39
- !!(content_for_scanner =~ /No entries found for query/)
40
- end
41
-
42
- property_supported :registered? do
43
- !available?
44
- end
45
-
46
-
47
- property_supported :created_on do
48
- if content_for_scanner =~ /created:\s+(.*)\n/
49
- Time.parse($1)
50
- end
51
- end
52
-
53
- property_not_supported :updated_on
54
-
55
- property_supported :expires_on do
56
- if content_for_scanner =~ /expires:\s+(.*)\n/
57
- Time.parse($1)
58
- end
59
- end
60
-
61
-
62
- property_supported :nameservers do
63
- content_for_scanner.scan(/nserver:\s+(.+)\n/).flatten.map do |name|
64
- Record::Nameserver.new(:name => name)
65
- end
66
- end
67
-
68
- # The following methods are implemented by Yang Li on 02/11/2013
69
- # ----------------------------------------------------------------------------
70
- property_supported :domain do
71
- return $1 if content_for_scanner =~ /^domain:\s+(.*)\n/i
72
- end
73
-
74
- property_not_supported :domain_id
75
-
76
- property_supported :registrar do
77
- reg=Record::Registrar.new
78
- content_for_scanner.scan(/((.+\n)+)\n/)[5].flatten.join('').scan(/^(.+):\s+(.+)\n/).map do |entry|
79
- reg["id"] = entry[1] if entry[0] =~ /nic\-hdl/i
80
- reg["name"] = entry[1] if entry[0] =~ /role/i
81
- reg["organization"] = entry[1] if entry[0] =~ /role/i
82
- reg["email"] = entry[1] if entry[0] =~ /e\-mail/i
83
- end
84
- return reg
85
- end
86
-
87
- property_supported :registrant_contacts do
88
- build_contact(1, Whois::Record::Contact::TYPE_REGISTRANT)
89
- end
90
-
91
- property_supported :admin_contacts do
92
- build_contact(3, Whois::Record::Contact::TYPE_ADMIN)
93
- end
94
-
95
- property_supported :technical_contacts do
96
- build_contact(4, Whois::Record::Contact::TYPE_TECHNICAL)
97
- end
98
-
99
- property_supported :billing_contacts do
100
- build_contact(2, Whois::Record::Contact::TYPE_BILLING)
101
- end
102
-
103
- private
104
-
105
- def build_contact(element, type)
106
- reg=Record::Contact.new(:type => type)
107
- content_for_scanner.scan(/((.+\n)+)\n/)[element].flatten.join('').scan(/^(.+):\s+(.+)\n/).map do |entry|
108
- reg["id"]=entry[1] if entry[0] =~ /nic\-hdl/i
109
- reg["name"]=entry[1] if entry[0] =~ /(person|role)/i
110
- reg["organization"]=entry[1] if entry[0]=~ /(person|role)/i
111
- if entry[0]=~ /(address|descr)/i
112
- if reg["address"].nil?
113
- reg["address"]=entry[1]
114
- else
115
- reg["address"]=reg["address"]+", "+entry[1]
116
- end
117
- end
118
- reg["phone"]=entry[1] if entry[0]=~ /phone/i
119
- reg["fax"]=entry[1] if entry[0]=~ /fax/i
120
- reg["email"]=entry[1] if entry[0]=~ /e\-mail/i
121
- end
122
- return reg
123
- end
124
- # ----------------------------------------------------------------------------
125
-
126
- end
127
-
128
- end
129
- end
130
- end
@@ -1,119 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- #
18
- # = whois.je parser
19
- #
20
- # Parser for the whois.je server.
21
- #
22
- # NOTE: This parser is just a stub and provides only a few basic methods
23
- # to check for domain availability and get domain status.
24
- # Please consider to contribute implementing missing methods.
25
- # See WhoisNicIt parser for an explanation of all available methods
26
- # and examples.
27
- #
28
- class WhoisJe < Base
29
-
30
- property_supported :status do
31
- if content_for_scanner =~ /Status:\s+(.+?)\n/
32
- case $1.downcase
33
- when "active"
34
- :registered
35
- when "not registered"
36
- :available
37
- else
38
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
39
- end
40
- else
41
- Whois.bug!(ParserError, "Unable to parse status.")
42
- end
43
- end
44
-
45
- property_supported :available? do
46
- (status == :available)
47
- end
48
-
49
- property_supported :registered? do
50
- !available?
51
- end
52
-
53
-
54
- property_supported :created_on do
55
- if content_for_scanner =~ /Created:\s+(.+?)\n/
56
- Time.parse($1)
57
- end
58
- end
59
-
60
- property_supported :updated_on do
61
- if content_for_scanner =~ /Modified:\s+(.+?)\n/
62
- Time.parse($1)
63
- end
64
- end
65
-
66
- property_not_supported :expires_on
67
-
68
- property_supported :nameservers do
69
- if content_for_scanner =~ /Name Servers:\n((.+\n)+)\n/
70
- $1.split("\n").map do |name|
71
- Record::Nameserver.new(:name => name.strip)
72
- end
73
- end
74
- end
75
-
76
- # The following methods are implemented by Yang Li on 02/27/2013
77
- # ----------------------------------------------------------------------------
78
- property_supported :domain do
79
- return $1 if content_for_scanner =~ /^Query:\s+(.*)\n/i
80
- end
81
-
82
- property_not_supported :domain_id
83
-
84
- property_supported :registrar do
85
- reg=Record::Registrar.new
86
- reg["name"] = $1 if content_for_scanner =~ /^Registrar Name:(.+)\n/i
87
- reg["organization"] = $1 if content_for_scanner =~ /^Registrar Name:(.+)\n/i
88
- reg["url"] = $1 if content_for_scanner =~ /^Registration URL:(.+)\n/i
89
- return reg
90
- end
91
-
92
- property_supported :registrant_contacts do
93
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
94
- end
95
-
96
- property_not_supported :admin_contacts
97
-
98
- property_not_supported :technical_contacts
99
-
100
- property_not_supported :billing_contacts
101
-
102
- private
103
-
104
- def build_contact(element, type)
105
- reg=Record::Contact.new(:type => type)
106
- if content_for_scanner =~ /#{element}:\n((.+\n)+)\n/
107
- $1.scan(/(.+):\s+(.+)\n/).map do |entry|
108
- reg["name"]=entry[1] if entry[0] =~ /Name/i
109
- reg["organization"]=entry[1] if entry[0]=~ /Organisation/i
110
- end
111
- end
112
- return reg
113
- end
114
- # ----------------------------------------------------------------------------
115
- end
116
-
117
- end
118
- end
119
- end
@@ -1,137 +0,0 @@
1
- #--
2
- # Ruby Whois
3
- #
4
- # An intelligent pure Ruby WHOIS client and parser.
5
- #
6
- # Copyright (c) 2009-2012 Simone Carletti <weppos@weppos.net>
7
- #++
8
-
9
-
10
- require 'whois/record/parser/base'
11
-
12
-
13
- module Whois
14
- class Record
15
- class Parser
16
-
17
- # Parser for the whois.jprs.jp server.
18
- #
19
- # NOTE: This parser is just a stub and provides only a few basic methods
20
- # to check for domain availability and get domain status.
21
- # Please consider to contribute implementing missing methods.
22
- # See WhoisNicIt parser for an explanation of all available methods
23
- # and examples.
24
- #
25
- class WhoisJprsJp < Base
26
-
27
- property_supported :status do
28
- if content_for_scanner =~ /\[Status\]\s+(.+)\n/
29
- case $1.downcase
30
- when "active"
31
- :registered
32
- when "reserved"
33
- :reserved
34
- when "to be suspended"
35
- :redemption
36
- when "suspended"
37
- :expired
38
- else
39
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
40
- end
41
- elsif content_for_scanner =~ /\[State\]\s+(.+)\n/
42
- case $1.split(" ").first.downcase
43
- when "connected"
44
- :registered
45
- else
46
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
47
- end
48
- else
49
- :available
50
- end
51
- end
52
-
53
- property_supported :available? do
54
- !!(content_for_scanner =~ /No match!!/)
55
- end
56
-
57
- property_supported :registered? do
58
- !available?
59
- end
60
-
61
-
62
- # TODO: timezone ('Asia/Tokyo')
63
- property_supported :created_on do
64
- if content_for_scanner =~ /\[(?:Created on|Registered Date)\][ \t]+(.*)\n/
65
- ($1.empty?) ? nil : Time.parse($1)
66
- end
67
- end
68
-
69
- # TODO: timezone ('Asia/Tokyo')
70
- property_supported :updated_on do
71
- if content_for_scanner =~ /\[Last Updated?\][ \t]+(.*)\n/
72
- ($1.empty?) ? nil : Time.parse($1)
73
- end
74
- end
75
-
76
- # TODO: timezone ('Asia/Tokyo')
77
- property_supported :expires_on do
78
- if content_for_scanner =~ /\[Expires on\][ \t]+(.*)\n/
79
- ($1.empty?) ? nil : Time.parse($1)
80
- end
81
- end
82
-
83
-
84
- property_supported :nameservers do
85
- content_for_scanner.scan(/\[Name Server\][\s\t]+([^\s\n]+?)\n/).flatten.map do |name|
86
- Record::Nameserver.new(:name => name)
87
- end
88
- end
89
-
90
- # The following methods are implemented by Yang Li on 01/28/2013
91
- # ----------------------------------------------------------------------------
92
- property_supported :domain do
93
- return $1 if content_for_scanner =~ /Domain Name\]\s+(.*)\n/i
94
- end
95
-
96
- property_not_supported :domain_id
97
-
98
- property_not_supported :registrar
99
-
100
- property_not_supported :admin_contacts
101
-
102
- property_supported :registrant_contacts do
103
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
104
- end
105
-
106
- property_not_supported :technical_contacts
107
-
108
- property_not_supported :billing_contacts
109
-
110
- private
111
-
112
- def build_contact(element, type)
113
- reg=Record::Contact.new(:type => type)
114
- reg["organization"]=$1.strip if content_for_scanner =~ /\[Registrant\](.*)\n/i
115
- reg["name"] = $1.strip if content_for_scanner =~ /\[Name\](.*)\n/i
116
- reg["url"] = $1.strip if content_for_scanner =~ /\[Web\sPage\](.*)\n/i
117
- reg["email"] = $1.strip if content_for_scanner =~ /\[Email\](.*)\n/i
118
- reg["zip"] = $1.strip if content_for_scanner =~ /\[Postal\scode\](.*)\n/i
119
- reg["phone"] = $1.strip if content_for_scanner =~ /\[Phone\](.*)\n/i
120
- reg["fax"] = $1.strip if content_for_scanner =~ /\[Fax\](.*)\n/i
121
- if content_for_scanner =~ /\[Postal\sAddress\](.*)\n((.+\n)+)\n/
122
- reg["address"]=$1.strip
123
- line_num=1
124
- $2.split(%r{\n}).each do |line|
125
- reg["city"]=line.strip if line_num==1
126
- reg["state"]=line.strip if line_num==2
127
- line_num=line_num+1
128
- end
129
- end
130
- return reg
131
- end
132
- # ----------------------------------------------------------------------------
133
-
134
- end
135
- end
136
- end
137
- end