wmap 2.7.2 → 2.7.6

Sign up to get free protection for your applications and to get access to all the features.
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,120 +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 kero.yachay.pe 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 KeroYachayPe < Base
27
-
28
- property_supported :status do
29
- if content_for_scanner =~ /Status:\s+(.+?)\n/
30
- case $1.downcase
31
- when "active"
32
- :registered
33
- when "not registered"
34
- :available
35
- when "inactive"
36
- :inactive
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
- property_not_supported :created_on
54
-
55
- property_not_supported :updated_on
56
-
57
- property_not_supported :expires_on
58
-
59
- property_supported :nameservers do
60
- if content_for_scanner =~ /\nName Servers:\n((.+\n)+)\n/
61
- $1.split(%r{\n}).map do |name|
62
- Record::Nameserver.new(:name => name.strip)
63
- end
64
- end
65
- end
66
-
67
- # Checks whether the response has been throttled.
68
- #
69
- # @return [Boolean]
70
- #
71
- # @example
72
- # Looup quota exceeded.
73
- #
74
- def response_throttled?
75
- !content_for_scanner.match(/Looup quota exceeded./).nil?
76
- end
77
-
78
- # The following methods are implemented by Yang Li on 2/12/2013
79
- # ----------------------------------------------------------------------------
80
-
81
- property_supported :registrar do
82
- reg=Record::Registrar.new
83
- reg["name"] = $1 if content_for_scanner =~ /^Registrar:\s+(.+)\n/
84
- return reg
85
- end
86
-
87
- property_supported :registrant_contacts do
88
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
89
- end
90
-
91
- property_supported :admin_contacts do
92
- build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
93
- end
94
-
95
- property_not_supported :technical_contacts
96
-
97
- property_not_supported :billing_contacts
98
-
99
- private
100
-
101
- def build_contact(element, type)
102
- reg=Record::Contact.new(:type => type)
103
- if content_for_scanner =~ /#{element}:\n((.+\n)+)\n/
104
- line_num=1
105
- $1.split(%r{\n}).each do |entry|
106
- entry=entry.strip
107
- reg["name"]=entry if line_num==1
108
- reg["organization"]=entry if line_num==1
109
- reg["email"]=entry if entry =~ /.+\@.+\.\w+/
110
- line_num=line_num+1
111
- end
112
- end
113
- return reg
114
- end
115
- # ----------------------------------------------------------------------------
116
-
117
- end
118
- end
119
- end
120
- end
@@ -1,124 +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
- # The parser was implemented by Yang Li on 02/27/2013
10
-
11
- require 'whois/record/parser/base'
12
-
13
-
14
- module Whois
15
- class Record
16
- class Parser
17
-
18
- #
19
- # = whois.PublicDomainRegistry.com parser
20
- #
21
- # Parser for the whois.PublicDomainRegistry.com server.
22
- #
23
- # NOTE: This parser is just a stub and provides only a few basic methods
24
- # to check for domain availability and get domain status.
25
- # Please consider to contribute implementing missing methods.
26
- # See WhoisNicIt parser for an explanation of all available methods
27
- # and examples.
28
- #
29
- class WhoisPublicdomainregistryCom < Base
30
-
31
- property_supported :status do
32
- if available?
33
- :available
34
- else
35
- :registered
36
- end
37
- end
38
-
39
- property_supported :available? do
40
- !(content_for_scanner =~ /Status:LOCKED/)
41
- end
42
-
43
- property_supported :registered? do
44
- !available?
45
- end
46
-
47
-
48
- property_supported :created_on do
49
- if content_for_scanner =~ /Registration Date:\s+(.*)\n/
50
- Time.parse($1)
51
- end
52
- end
53
-
54
- property_not_supported :updated_on
55
-
56
- property_supported :expires_on do
57
- if content_for_scanner =~ /Expiration Date:\s+(.*)\n/
58
- Time.parse($1)
59
- end
60
- end
61
-
62
- property_supported :domain do
63
- return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\n/i
64
- end
65
-
66
- property_not_supported :domain_id
67
-
68
- property_supported :registrar do
69
- reg=Record::Registrar.new
70
- reg["name"] = node("Registrar")
71
- reg["url"] = node("Referral URL")
72
- return reg
73
- end
74
-
75
- property_supported :registrant_contacts do
76
- build_contact("Registrant Contact Details", Whois::Record::Contact::TYPE_REGISTRANT)
77
- end
78
-
79
- property_supported :admin_contacts do
80
- build_contact("Administrative Contact Details", Whois::Record::Contact::TYPE_ADMIN)
81
- end
82
-
83
- property_supported :technical_contacts do
84
- build_contact("Technical Contact Details", Whois::Record::Contact::TYPE_TECHNICAL)
85
- end
86
-
87
- property_supported :billing_contacts do
88
- build_contact("Billing Contact Details", Whois::Record::Contact::TYPE_BILLING)
89
- end
90
-
91
- private
92
-
93
- def build_contact(element, type)
94
- reg=Record::Contact.new(:type => type)
95
- if content_for_scanner =~ /^\s*#{element}:\s*\n((.+\n)+)\n/
96
- line_num=1
97
- $1.split(%r{\n}).each do |line|
98
- line=line.strip
99
- reg["id"]=$1 if line =~ /(ID#\d+)/
100
- reg["name"]=line if line_num==1
101
- reg["organization"]=line if line_num==4
102
- reg["address"]=line if line_num==5
103
- reg["city"]= line.split(',')[0] if line_num==6
104
- reg["zip"]= line.split(',')[1].split(%r{\s+})[1] if line_num==6
105
- reg["state"]=line.split(',')[1].split(%r{\s+})[0] if line_num==6
106
- reg["country_code"]=line if line_num==7
107
- reg["phone"]=line.split('Tel.')[1] if line =~ /Tel\./i
108
- reg["fax"]=line.split('Fax.')[1] if line =~ /Fax\./i
109
- reg["email"]=$1 if line =~ /(\(.+\@\.+\.\w+\))/
110
- line_num=line_num+1
111
- end
112
- end
113
- return reg
114
- end
115
-
116
- def node(element)
117
- return $1 if content_for_scanner =~ /^\s*#{element}\.+:\s*(.+)\n/
118
- end
119
- # ----------------------------------------------------------------------------
120
-
121
- end
122
- end
123
- end
124
- end
@@ -1,61 +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
- # Parser for the whois.above.com server, added by Yang Li 02/11/2013.
16
- class WhoisAboveCom < Base
17
-
18
- property_supported :admin_contacts do
19
- build_contact("Administrative Contact", Whois::Record::Contact::TYPE_ADMIN)
20
- end
21
-
22
- property_supported :registrant_contacts do
23
- build_contact("Registrant", Whois::Record::Contact::TYPE_REGISTRANT)
24
- end
25
-
26
- property_supported :technical_contacts do
27
- build_contact("Technical Contact", Whois::Record::Contact::TYPE_TECHNICAL)
28
- end
29
-
30
- property_supported :billing_contacts do
31
- build_contact("Billing Contact", Whois::Record::Contact::TYPE_BILLING)
32
- end
33
-
34
- private
35
-
36
- def build_contact(element, type)
37
- reg=Record::Contact.new(:type => type)
38
- if content_for_scanner =~ /^\s+#{element}:\n((.+\n)+)\n/
39
- line_num=1
40
- $1.split(%r{\n}).each do |line|
41
- line=line.strip unless line.nil?
42
- reg["name"]=line if line_num==1
43
- reg["organization"]=line if line_num==1
44
- reg["address"]=line if line_num==2
45
- reg["city"]= line if line_num==3
46
- reg["state"]=line if line_num==4
47
- reg["zip"]=line if line_num==5
48
- reg["country_code"]=line if line_num==6
49
- reg["phone"]=line.split('Tel.')[1] if line=~ /Tel/i
50
- reg["fax"]=line.split('Fax.')[1] if line=~ /Fax/i
51
- reg["email"]=line if line =~ /\w+\@.+\.\w+/
52
- line_num=line_num+1
53
- end
54
- end
55
- return reg
56
- end
57
-
58
- end
59
- end
60
- end
61
- end
@@ -1,107 +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.adamsnames.tc
19
- #
20
- # Parser for the whois.adamsnames.tc 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 WhoisAdamsnamesTc < 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 =~ /is not registered/)
40
- end
41
-
42
- property_supported :registered? do
43
- !available?
44
- end
45
-
46
- property_not_supported :created_on
47
-
48
- property_not_supported :updated_on
49
-
50
- property_not_supported :expires_on
51
-
52
- property_supported :nameservers do
53
- content_for_scanner.scan(/\s+ns\s+(.+?)\s+\n/).flatten.map do |name|
54
- Record::Nameserver.new(:name => name)
55
- end
56
- end
57
-
58
- # The following methods are implemented by Yang Li on 02/26/2013
59
- # ----------------------------------------------------------------------------
60
- property_supported :domain do
61
- return $1 if content_for_scanner =~ /domain name:\s+(.+)\n/i
62
- end
63
-
64
- property_not_supported :domain_id
65
-
66
- property_supported :admin_contacts do
67
- build_contact("admin", Whois::Record::Contact::TYPE_ADMIN)
68
- end
69
-
70
- property_supported :registrant_contacts do
71
- build_contact("owner", Whois::Record::Contact::TYPE_REGISTRANT)
72
- end
73
-
74
- property_supported :technical_contacts do
75
- build_contact("tech", Whois::Record::Contact::TYPE_TECHNICAL)
76
- end
77
-
78
- property_supported :billing_contacts do
79
- build_contact("billing", Whois::Record::Contact::TYPE_BILLING)
80
- end
81
-
82
- private
83
-
84
- def build_contact(element, type)
85
- reg=Record::Contact.new(:type => type)
86
- if content_for_scanner =~ /^#{element}\-contact:.+\n((.+\n)+)\n/i
87
- $1.scan(/^#{element}\-(.+):\s+(.+)\n/).map do |entry|
88
- reg["id"]=entry[1] if entry[0] =~ /contact/i
89
- reg["name"]=entry[1] if entry[0] =~ /name/i
90
- reg["organization"]=entry[1] if entry[0]=~ /organization/i
91
- reg["address"]=entry[1] if entry[0]=~ /street/i
92
- reg["city"]= entry[1] if entry[0]=~ /city/i
93
- reg["zip"]=entry[1] if entry[0]=~ /zip/i
94
- reg["country_code"]=entry[1] if entry[0]=~ /country/i
95
- reg["phone"]=entry[1] if entry[0]=~ /phone/i
96
- reg["fax"]=entry[1] if entry[0]=~ /fax/i
97
- reg["email"]=entry[1] if entry[0]=~ /email/i
98
- end
99
- end
100
- return reg
101
- end
102
- # ----------------------------------------------------------------------------
103
-
104
- end
105
- end
106
- end
107
- end
@@ -1,105 +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.aeda.net.ae parser
19
- #
20
- # Parser for the whois.aeda.net.ae 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 WhoisAedaNetAe < Base
29
-
30
- property_supported :status do
31
- if content_for_scanner =~ /Status:\s+(.+?)\n/
32
- case $1.downcase
33
- when "ok" then :registered
34
- else
35
- Whois.bug!(ParserError, "Unknown status `#{$1}'.")
36
- end
37
- else
38
- :available
39
- end
40
- end
41
-
42
- property_supported :available? do
43
- content_for_scanner.strip == "No Data Found"
44
- end
45
-
46
- property_supported :registered? do
47
- !available?
48
- end
49
-
50
-
51
- property_not_supported :created_on
52
-
53
- property_not_supported :updated_on
54
-
55
- property_not_supported :expires_on
56
-
57
-
58
- property_supported :nameservers do
59
- content_for_scanner.scan(/Name Server:\s+(.+)\n/).flatten.map do |name|
60
- Record::Nameserver.new(:name => name)
61
- end
62
- end
63
-
64
- # The following methods are implemented by Yang Li on 12/19/2012
65
- # ----------------------------------------------------------------------------
66
- property_supported :domain do
67
- return $1 if content_for_scanner =~ /Domain Name:\s+(.*)\n/i
68
- end
69
-
70
- property_not_supported :domain_id
71
-
72
- property_supported :registrar do
73
- reg=Record::Registrar.new
74
- content_for_scanner.scan(/^(Registrar.*):\s+(.+)\n/).map do |entry|
75
- reg["id"] = entry[1] if entry[0] =~ /Registrar\sID/i
76
- reg["name"] = entry[1] if entry[0] =~ /Registrar\sName$/i
77
- end
78
- return reg
79
- end
80
-
81
- property_supported :registrant_contacts do
82
- build_contact("Registrant Contact", Whois::Record::Contact::TYPE_REGISTRANT)
83
- end
84
-
85
- property_supported :technical_contacts do
86
- build_contact("Tech Contact", Whois::Record::Contact::TYPE_TECHNICAL)
87
- end
88
-
89
- private
90
-
91
- def build_contact(element, type)
92
- reg=Record::Contact.new(:type => type)
93
- content_for_scanner.scan(/^(#{element}.*):\s+(.+)\n/).map do |entry|
94
- reg["id"]=entry[1] if entry[0] =~ /#{element}\sID/i
95
- reg["name"]=entry[1] if entry[0] =~ /#{element}\sName/i
96
- reg["email"]=entry[1] if entry[0]=~ /#{element}\sEmail/i
97
- end
98
- return reg
99
- end
100
- # ----------------------------------------------------------------------------
101
-
102
- end
103
- end
104
- end
105
- end