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,129 +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.nic.us parser
19
- #
20
- # Parser for the whois.nic.us 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 WhoisNicUs < Base
29
-
30
- property_supported :status do
31
- content_for_scanner.scan(/Domain Status:\s+(.+?)\n/).flatten
32
- end
33
-
34
- property_supported :available? do
35
- !!(content_for_scanner =~ /Not found:/)
36
- end
37
-
38
- property_supported :registered? do
39
- !available?
40
- end
41
-
42
-
43
- property_supported :created_on do
44
- if content_for_scanner =~ /Domain Registration Date:\s+(.+?)\n/
45
- Time.parse($1)
46
- end
47
- end
48
-
49
- property_supported :updated_on do
50
- if content_for_scanner =~ /Domain Last Updated Date:\s+(.+?)\n/
51
- Time.parse($1)
52
- end
53
- end
54
-
55
- property_supported :expires_on do
56
- if content_for_scanner =~ /Domain Expiration Date:\s+(.+?)\n/
57
- Time.parse($1)
58
- end
59
- end
60
-
61
-
62
- property_supported :nameservers do
63
- content_for_scanner.scan(/Name Server:\s+(.+)\n/).flatten.map do |name|
64
- Record::Nameserver.new(:name => name.downcase)
65
- end
66
- end
67
-
68
- # The following methods are implemented by Yang Li on 01/24/2013
69
- # ----------------------------------------------------------------------------
70
- property_supported :domain do
71
- return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\n/i
72
- end
73
-
74
- property_supported :domain_id do
75
- return $1 if content_for_scanner =~ /Domain ID:\s+(.*)\n/i
76
- end
77
-
78
- property_supported :registrar do
79
- reg=Record::Registrar.new
80
- content_for_scanner.scan(/^(.*Registrar.*):\s+(.+)\n/).map do |entry|
81
- reg["name"] = entry[1] if entry[0] =~ /Sponsoring Registrar$/i
82
- reg["organization"] = entry[1] if entry[0] =~ /Sponsoring Registrar$/i
83
- reg["url"] = entry[1] if entry[0] =~ /URL/i
84
- end
85
- return reg
86
- end
87
-
88
- property_supported :registrant_contacts do
89
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
90
- end
91
-
92
- property_supported :admin_contacts do
93
- build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
94
- end
95
-
96
- property_supported :technical_contacts do
97
- build_contact("Technical Contact", Whois::Record::Contact::TYPE_TECHNICAL)
98
- end
99
-
100
- property_supported :billing_contacts do
101
- build_contact("Billing Contact", Whois::Record::Contact::TYPE_BILLING)
102
- end
103
-
104
- private
105
-
106
- def build_contact(element, type)
107
- reg=Record::Contact.new(:type => type)
108
- content_for_scanner.scan(/^(#{element}.*):\s+(.+)\n/).map do |entry|
109
- reg["id"]=entry[1] if entry[0] =~ /#{element}\sID/i
110
- reg["name"]=entry[1] if entry[0] =~ /#{element}\sName/i
111
- reg["organization"]=entry[1] if entry[0]=~ /#{element}\sOrganization/i
112
- reg["address"]=entry[1] if entry[0]=~ /#{element}\sAddress1/i
113
- reg["city"]= entry[1] if entry[0]=~ /#{element}\sCity/i
114
- reg["zip"]=entry[1] if entry[0]=~ /#{element}\sPostal\sCode/i
115
- reg["state"]=entry[1] if entry[0]=~ /#{element}\sState\/Province/i
116
- reg["country"]=entry[1] if entry[0]=~ /#{element}\sCountry$/i
117
- reg["country_code"]=entry[1] if entry[0]=~ /#{element}\sCountry\sCode/i
118
- reg["phone"]=entry[1] if entry[0]=~ /#{element}\sPhone\sNumber/i
119
- reg["fax"]=entry[1] if entry[0]=~ /#{element}\sFacsimile\sNumber/i
120
- reg["email"]=entry[1] if entry[0]=~ /#{element}\sEmail/i
121
- end
122
- return reg
123
- end
124
- # ----------------------------------------------------------------------------
125
-
126
- end
127
- end
128
- end
129
- end
@@ -1,135 +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.nic.ve parser
19
- #
20
- # Parser for the whois.nic.ve 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 WhoisNicVe < Base
29
-
30
- property_supported :status do
31
- if content_for_scanner =~ /Estatus del dominio: (.+?)\n/
32
- case $1.downcase
33
- when "activo"
34
- :registered
35
- when "suspendido"
36
- :inactive
37
- else
38
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
39
- end
40
- else
41
- :available
42
- end
43
- end
44
-
45
- property_supported :available? do
46
- !!(content_for_scanner =~ /No match for "(.+?)"/)
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 =~ /Fecha de Creacion: (.+?)\n/
56
- Time.parse($1)
57
- end
58
- end
59
-
60
- property_supported :updated_on do
61
- if content_for_scanner =~ /Ultima Actualizacion: (.+?)\n/
62
- Time.parse($1)
63
- end
64
- end
65
-
66
- property_supported :expires_on do
67
- if content_for_scanner =~ /Fecha de Vencimiento: (.+?)\n/
68
- Time.parse($1)
69
- end
70
- end
71
-
72
- property_supported :nameservers do
73
- if content_for_scanner =~ /Servidor\(es\) de Nombres de Dominio:\n\n((.+\n)+)\n/
74
- $1.scan(/-\s(.*?)\n/).flatten.map do |name|
75
- Record::Nameserver.new(:name => name)
76
- end
77
- end
78
- end
79
-
80
- # NEWPROPERTY
81
- # def suspended?
82
- # end
83
-
84
- # The following methods are implemented by Yang Li on 01/29/2013
85
- # ----------------------------------------------------------------------------
86
- property_supported :domain do
87
- return $1 if content_for_scanner =~ /Nombre de Dominio:\s+(.*)\n/i
88
- end
89
-
90
- property_not_supported :domain_id
91
-
92
- property_not_supported :registrar
93
-
94
- property_supported :admin_contacts do
95
- build_contact("Contacto Administrativo", Whois::Record::Contact::TYPE_ADMIN)
96
- end
97
-
98
- property_supported :registrant_contacts do
99
- build_contact("Titular", Whois::Record::Contact::TYPE_REGISTRANT)
100
- end
101
-
102
- property_supported :technical_contacts do
103
- build_contact("Contacto Tecnico", Whois::Record::Contact::TYPE_TECHNICAL)
104
- end
105
-
106
- property_supported :billing_contacts do
107
- build_contact("Contacto de Cobranza", Whois::Record::Contact::TYPE_BILLING)
108
- end
109
-
110
- private
111
-
112
- def build_contact(element, type)
113
- reg=Record::Contact.new(:type => type)
114
- if content_for_scanner =~ /#{element}:\s*\n((.+\n)+)\n/i
115
- line_num=1
116
- $1.split(%r{\n}).each do |line|
117
- titles=line.strip if line_num==1
118
- reg["name"]=line.strip.split(%r{\t+}).first if line_num==1
119
- reg["email"]=line.strip.split(%r{\t+}).last if line_num==1
120
- reg["organization"]=line.strip if line_num==2
121
- reg["address"]=line.strip if line_num==3
122
- reg["city"]=line.strip if line_num==4
123
- reg["phone"]=line.strip.split(%r{\s+}).first if line_num==5
124
- reg["fax"]=line.split(%r{\s+}).last if line_num==5
125
- line_num=line_num+1
126
- end
127
- end
128
- return reg
129
- end
130
- # ----------------------------------------------------------------------------
131
-
132
- end
133
- end
134
- end
135
- end
@@ -1,127 +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.norid.no parser
19
- #
20
- # Parser for the whois.norid.no 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 WhoisNoridNo < 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 matches/)
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_supported :updated_on do
54
- if content_for_scanner =~ /Last updated:\s+(.*)\n/
55
- Time.parse($1)
56
- end
57
- end
58
-
59
- property_not_supported :expires_on
60
-
61
- # The following methods are implemented by Yang Li on 02/12/2013
62
- # ----------------------------------------------------------------------------
63
- property_supported :domain do
64
- return $1 if content_for_scanner =~ /Domain Name\.+:\s+(.*)\n/i
65
- end
66
-
67
- property_not_supported :domain_id
68
-
69
- property_supported :registrar do
70
- reg=Record::Registrar.new
71
- reg["id"] = node("Registrar Handle")
72
- return reg
73
- end
74
-
75
- property_supported :registrant_contacts do
76
- build_contact("Domain Holder Handle", Whois::Record::Contact::TYPE_REGISTRANT)
77
- end
78
-
79
- property_supported :admin_contacts do
80
- build_contact("Legal\-c Handle", Whois::Record::Contact::TYPE_ADMIN)
81
- end
82
-
83
- property_supported :technical_contacts do
84
- build_contact("Tech\-c Handle", Whois::Record::Contact::TYPE_TECHNICAL)
85
- end
86
-
87
- property_supported :nameservers do
88
- content_for_scanner.scan(/Name Server Handle\.+:\s+(.+)\n/).flatten.map do |name|
89
- Record::Nameserver.new(:name => name + " - handle reference online at http://www.norid.no/domenenavnbaser/whois/kopirett.html")
90
- end
91
- end
92
-
93
- property_not_supported :billing_contacts
94
-
95
- private
96
-
97
- def build_contact(element, type)
98
- reg=Record::Contact.new(:type => type)
99
- reg["id"]=node(element)
100
- content_for_scanner.scan(/((.+\n)+)\n/).each do |x|
101
- str=x.flatten.join
102
- if str.include?(node(element))
103
- str.scan(/^(.+?)\.+:\s+(.+)\n/).map do |entry|
104
- reg["name"]=entry[1] if entry[0] =~ /Name$/
105
- reg["address"]=entry[1] if entry[0]=~ /Post Address/i
106
- reg["city"]= entry[1] if entry[0]=~ /Postal Area/i
107
- reg["zip"]=entry[1] if entry[0]=~ /Postal Code/i
108
- reg["state"]=entry[1] if entry[0]=~ /#{element}\sState\/Province/i
109
- reg["country_code"]=entry[1] if entry[0]=~ /Country/i
110
- reg["phone"]=entry[1] if entry[0]=~ /Phone Number/i
111
- reg["fax"]=entry[1] if entry[0]=~ /Fax Number/i
112
- reg["email"]=entry[1] if entry[0]=~ /Email/i
113
- end
114
- end
115
- end
116
- return reg
117
- end
118
-
119
- def node(element)
120
- return $1 if content_for_scanner =~ /^#{element}\.+:\s*(.+)\n/
121
- end
122
- # ----------------------------------------------------------------------------
123
-
124
- end
125
- end
126
- end
127
- end
@@ -1,118 +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
- require 'whois/record/parser/base'
10
-
11
- module Whois
12
- class Record
13
- class Parser
14
-
15
- #
16
- # = whois.pandi.or.id parser
17
- #
18
- # Parser for the whois.pandi.or.id server.
19
- #
20
- # NOTE: This parser is just a stub and provides only a few basic methods
21
- # to check for domain availability and get domain status.
22
- # Please consider to contribute implementing missing methods.
23
- # See WhoisNicIt parser for an explanation of all available methods
24
- # and examples.
25
- #
26
- class WhoisPandiOrId < Base
27
-
28
- property_supported :status do
29
- if content_for_scanner =~ /domain-status:\s+(.+)\n/
30
- case $1.downcase
31
- when "object is active"
32
- :registered
33
- else
34
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
35
- end
36
- else
37
- :available
38
- end
39
- end
40
-
41
- property_supported :available? do
42
- !!(content_for_scanner =~ /^Not found/)
43
- end
44
-
45
- property_supported :registered? do
46
- !available?
47
- end
48
-
49
- property_supported :created_on do
50
- if content_for_scanner =~ /Creation Date:\s+(.+)\n/
51
- Time.parse($1)
52
- end
53
- end
54
-
55
- property_supported :updated_on do
56
- if content_for_scanner =~ /Last Updated On:\s+(.+)\n/
57
- Time.parse($1)
58
- end
59
- end
60
-
61
- property_supported :expires_on do
62
- if content_for_scanner =~ /Expiration Date:\s+(.+)\n/
63
- Time.parse($1)
64
- end
65
- end
66
-
67
- property_supported :nameservers do
68
- content_for_scanner.scan(/^Name Server:\s+(.+)\n/).flatten.map do |name|
69
- Record::Nameserver.new(:name => name)
70
- end
71
- end
72
-
73
- property_supported :domain do
74
- return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\n/i
75
- end
76
-
77
- property_not_supported :domain_id
78
-
79
- property_supported :registrar do
80
- reg=Record::Registrar.new
81
- content_for_scanner.scan(/^(.*Registrar.*):\s+(.+)\n/).map do |entry|
82
- reg["name"] = entry[1] if entry[0] =~ /Sponsoring/i
83
- reg["organization"] = entry[1] if entry[0] =~ /Sponsoring/i
84
- end
85
- return reg
86
- end
87
-
88
- property_supported :registrant_contacts do
89
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
90
- end
91
-
92
- property_supported :admin_contacts do
93
- build_contact("Admin Contact", Whois::Record::Contact::TYPE_ADMIN)
94
- end
95
-
96
- property_supported :technical_contacts do
97
- build_contact("Tech Contact", Whois::Record::Contact::TYPE_TECHNICAL)
98
- end
99
-
100
- property_supported :billing_contacts do
101
- build_contact("Billing Contact", Whois::Record::Contact::TYPE_BILLING)
102
- end
103
-
104
- private
105
-
106
- def build_contact(element, type)
107
- reg=Record::Contact.new(:type => type)
108
- content_for_scanner.scan(/^(#{element}.*):\s+(.+)\n/).map do |entry|
109
- reg["id"]=entry[1] if entry[0] =~ /ID/
110
- end
111
- return reg
112
- end
113
-
114
- end
115
-
116
- end
117
- end
118
- end