uirusu 0.0.3 → 0.0.4
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 +7 -0
- data/LICENSE +1 -1
- data/NEWS.markdown +11 -1
- data/README.markdown +2 -3
- data/Rakefile +10 -10
- data/TODO.markdown +1 -0
- data/bin/uirusu +3 -3
- data/lib/uirusu.rb +2 -2
- data/lib/uirusu/cli/application.rb +19 -5
- data/lib/uirusu/vtcomment.rb +1 -1
- data/lib/uirusu/vtfile.rb +2 -2
- data/lib/uirusu/vtresult.rb +5 -5
- data/lib/uirusu/vturl.rb +20 -20
- data/uirusu.gemspec +46 -19
- metadata +22 -27
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: cf7de8705fa6a0e595f9c1a1781dd4936ea9df91
|
4
|
+
data.tar.gz: 698407a8dddc1a1b8fb9aac9de18afb33b2c4248
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 1e9dc51ae0271f2640578e26572e76014d78c29125d47bab199c1715b56d273e68402da9d317ee4e47be21af698bd776359cb56138b9edba5338cd632888cf5d
|
7
|
+
data.tar.gz: c86b7afc18da01de6482f0eb824684fa9534207e1f19fb1bee5993031f0fe1c2425ce9401ffb5b8cd42404589d88802c3670a76f89ccf70816c0bbb863ce5cb9
|
data/LICENSE
CHANGED
data/NEWS.markdown
CHANGED
@@ -1,8 +1,18 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
+
# 0.0.4 (April 11, 2013)
|
4
|
+
- Added Proxy support [abenson]
|
5
|
+
- Copyright date updates
|
6
|
+
- Made sure each hash request waits for the timeout specified in the yaml file
|
7
|
+
- The default timeout is 15 seconds, by default virustotal.org only allows 4 requests per minute
|
8
|
+
|
9
|
+
# 0.0.3 ()
|
10
|
+
- Gemspec fix
|
11
|
+
|
3
12
|
# 0.0.2 ()
|
4
|
-
-
|
13
|
+
- Copyright fixes
|
5
14
|
|
6
15
|
# 0.0.1 (March 4, 2012)
|
7
16
|
- Rename ruby-virustotal/virustotal gem to uirusu, to prevent being sued.
|
8
17
|
- Complete rewrite of the gem
|
18
|
+
|
data/README.markdown
CHANGED
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
uirusu is an [Virustotal](http://www.virustotal.com) automation and convenience tool for hash, file and URL submission.
|
4
4
|
|
5
|
-
The current version is 0.0.
|
5
|
+
The current version is 0.0.4.
|
6
6
|
|
7
7
|
## Requirements
|
8
8
|
|
9
9
|
* ruby
|
10
|
-
* rubygems
|
11
10
|
* json
|
12
11
|
* rest-client
|
13
12
|
|
@@ -73,4 +72,4 @@ print results if results != nil
|
|
73
72
|
Uirusu is licensed under the BSD license see the `LICENSE` file for the full license.
|
74
73
|
|
75
74
|
## Contact
|
76
|
-
You can reach
|
75
|
+
You can reach the team at uirusu[@]arxopia[dot]com or http://www.arxopia.com
|
data/Rakefile
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
# Copyright (c) 2012 Arxopia LLC.
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
2
|
# All rights reserved.
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
5
5
|
# modification, are permitted provided that the following conditions are met:
|
6
|
-
#
|
7
|
-
# Redistributions of source code must retain the above copyright notice,
|
6
|
+
#
|
7
|
+
# Redistributions of source code must retain the above copyright notice,
|
8
8
|
# this list of conditions and the following disclaimer.
|
9
9
|
#
|
10
|
-
# Redistributions in binary form must reproduce the above copyright notice,
|
11
|
-
# this list of conditions and the following disclaimer in the documentation
|
10
|
+
# Redistributions in binary form must reproduce the above copyright notice,
|
11
|
+
# this list of conditions and the following disclaimer in the documentation
|
12
12
|
# and/or other materials provided with the distribution.
|
13
13
|
#
|
14
|
-
# Neither the name of the project's author nor the names of its contributors
|
15
|
-
# may be used to endorse or promote products derived from this software
|
14
|
+
# Neither the name of the project's author nor the names of its contributors
|
15
|
+
# may be used to endorse or promote products derived from this software
|
16
16
|
# without specific prior written permission.
|
17
|
-
#
|
17
|
+
#
|
18
18
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
19
19
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20
20
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
@@ -39,7 +39,7 @@ end
|
|
39
39
|
|
40
40
|
task :release => :build do
|
41
41
|
system "gem push #{Uirusu::APP_NAME}-#{Uirusu::VERSION}.gem"
|
42
|
-
puts "Just released #{Uirusu::APP_NAME} v#{Uirusu::VERSION}. #{Uirusu::APP_NAME} is
|
42
|
+
puts "Just released #{Uirusu::APP_NAME} v#{Uirusu::VERSION}. #{Uirusu::APP_NAME} is rubygem for using the Virustotal web service! More information at http://arxopia.com/projects/uirusu/"
|
43
43
|
end
|
44
44
|
|
45
45
|
task :clean do
|
data/TODO.markdown
CHANGED
data/bin/uirusu
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
4
|
# All rights reserved.
|
3
5
|
#
|
4
6
|
# Redistribution and use in source and binary forms, with or without
|
@@ -26,8 +28,6 @@
|
|
26
28
|
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
27
29
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28
30
|
|
29
|
-
#!/usr/bin/env ruby
|
30
|
-
|
31
31
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/../lib'))
|
32
32
|
|
33
33
|
require 'rubygems'
|
data/lib/uirusu.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2012 Arxopia LLC.
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
module Uirusu
|
30
30
|
APP_NAME = "uirusu"
|
31
|
-
VERSION = "0.0.
|
31
|
+
VERSION = "0.0.4"
|
32
32
|
CONFIG_FILE = "~/.uirusu"
|
33
33
|
end
|
34
34
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2012 Arxopia LLC.
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -48,6 +48,7 @@ module Uirusu
|
|
48
48
|
begin
|
49
49
|
@options['output'] = :stdout
|
50
50
|
@options['verbose'] = false
|
51
|
+
@options[:timeout] = 25
|
51
52
|
|
52
53
|
opt = OptionParser.new do |opt|
|
53
54
|
opt.banner = "#{APP_NAME} v#{VERSION}\nJacob Hammack\nhttp://www.hammackj.com\n\n"
|
@@ -116,6 +117,10 @@ module Uirusu
|
|
116
117
|
end
|
117
118
|
end
|
118
119
|
|
120
|
+
opt.on('-p PROXY', '--proxy-server', 'Uses a specified proxy server') do |proxy|
|
121
|
+
@options['proxy'] = proxy
|
122
|
+
end
|
123
|
+
|
119
124
|
opt.on('--[no-]verbose', 'Print verbose information') do |v|
|
120
125
|
@options["verbose"] = v
|
121
126
|
end
|
@@ -155,6 +160,8 @@ module Uirusu
|
|
155
160
|
STDERR.puts "[!] #{CONFIG_FILE} does not exist. Please run #{APP_NAME} --create-config, to create it."
|
156
161
|
exit
|
157
162
|
end
|
163
|
+
|
164
|
+
@options[:timeout] = @config["virustotal"]["timeout"] if @config["virustotal"]["timeout"] != nil
|
158
165
|
end
|
159
166
|
|
160
167
|
# Submits a file/url and waits for analysis to be complete and returns the results.
|
@@ -203,7 +210,7 @@ module Uirusu
|
|
203
210
|
nil
|
204
211
|
end
|
205
212
|
rescue => e
|
206
|
-
STDERR.puts "[!] An error has
|
213
|
+
STDERR.puts "[!] An error has occurred retrieving the report. Retrying 60 seconds up #{retries} retries.\n" if @options["verbose"]
|
207
214
|
if retries >= 0
|
208
215
|
sleep 60
|
209
216
|
retry
|
@@ -227,6 +234,10 @@ module Uirusu
|
|
227
234
|
print "<results>\n"
|
228
235
|
end
|
229
236
|
|
237
|
+
if @options['proxy'] != nil
|
238
|
+
RestClient.proxy = @options['proxy']
|
239
|
+
end
|
240
|
+
|
230
241
|
if @files_of_hashes != nil
|
231
242
|
@files_of_hashes.each do |file|
|
232
243
|
f = File.open(file, 'r')
|
@@ -239,26 +250,29 @@ module Uirusu
|
|
239
250
|
end
|
240
251
|
|
241
252
|
if @hashes != nil
|
242
|
-
@hashes.
|
253
|
+
@hashes.each_with_index do |hash, index|
|
243
254
|
results = Uirusu::VTFile.query_report(@config["virustotal"]["api-key"], hash)
|
244
255
|
result = Uirusu::VTResult.new(hash, results)
|
245
256
|
print result.send output_method if result != nil
|
257
|
+
sleep @options[:timeout] if index != @hashes.length - 1
|
246
258
|
end
|
247
259
|
end
|
248
260
|
|
249
261
|
if @sites != nil
|
250
|
-
@sites.
|
262
|
+
@sites.each_with_index do |url, index|
|
251
263
|
results = scan_and_wait(Uirusu::VTUrl, url, 5)
|
252
264
|
result = Uirusu::VTResult.new(results[0], results[1])
|
253
265
|
print result.send output_method if result != nil
|
266
|
+
sleep @options[:timeout] if index != @sites.length - 1
|
254
267
|
end
|
255
268
|
end
|
256
269
|
|
257
270
|
if @uploads != nil
|
258
|
-
@uploads.
|
271
|
+
@uploads.each_with_index do |upload, index|
|
259
272
|
results = scan_and_wait(Uirusu::VTFile, upload, 5)
|
260
273
|
result = Uirusu::VTResult.new(results[0], results[1])
|
261
274
|
print result.send output_method if result != nil
|
275
|
+
sleep @options[:timeout] if index != @uploads.length - 1
|
262
276
|
end
|
263
277
|
end
|
264
278
|
|
data/lib/uirusu/vtcomment.rb
CHANGED
data/lib/uirusu/vtfile.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2012 Arxopia LLC.
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -46,7 +46,7 @@ module Uirusu
|
|
46
46
|
end
|
47
47
|
|
48
48
|
if resource == nil
|
49
|
-
raise "Invalid resource, must be
|
49
|
+
raise "Invalid resource, must be md5/sha1/sha256/scan_id"
|
50
50
|
end
|
51
51
|
|
52
52
|
response = RestClient.post REPORT_URL, :apikey => api_key, :resource => resource
|
data/lib/uirusu/vtresult.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2012 Arxopia LLC.
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
2
|
# All rights reserved.
|
3
3
|
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
@@ -87,7 +87,7 @@ module Uirusu
|
|
87
87
|
end
|
88
88
|
end
|
89
89
|
|
90
|
-
#if we didn't have any results
|
90
|
+
#if we didn't have any results lets create a fake not found
|
91
91
|
if @results.size == 0
|
92
92
|
res = Hash.new
|
93
93
|
res['hash'] = hash
|
@@ -111,7 +111,7 @@ module Uirusu
|
|
111
111
|
result_string = String.new
|
112
112
|
@results.each do |result|
|
113
113
|
result_string << "#{result['hash']}: Scanner: #{result['scanner']} Result: #{result['result']}\n"
|
114
|
-
end
|
114
|
+
end if @results != nil
|
115
115
|
|
116
116
|
print result_string
|
117
117
|
end
|
@@ -131,7 +131,7 @@ module Uirusu
|
|
131
131
|
result_string << " date: #{result['date']}\n"
|
132
132
|
result_string << " permalink: #{result['permalink']}\n" unless result['permalink'] == nil
|
133
133
|
result_string << " result: #{result['result']}\n\n"
|
134
|
-
end
|
134
|
+
end if @results != nil
|
135
135
|
|
136
136
|
print result_string
|
137
137
|
end
|
@@ -152,7 +152,7 @@ module Uirusu
|
|
152
152
|
result_string << "\t\t<permalink>#{result['permalink']}</permalink>\n" unless result['permalink'] == nil
|
153
153
|
result_string << "\t\t<result>#{result['result']}</result>\n"
|
154
154
|
result_string << "\t</vtresult>\n"
|
155
|
-
end
|
155
|
+
end if @results != nil
|
156
156
|
|
157
157
|
print result_string
|
158
158
|
end
|
data/lib/uirusu/vturl.rb
CHANGED
@@ -1,20 +1,20 @@
|
|
1
|
-
# Copyright (c) 2012 Arxopia LLC.
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
2
|
# All rights reserved.
|
3
|
-
#
|
3
|
+
#
|
4
4
|
# Redistribution and use in source and binary forms, with or without
|
5
5
|
# modification, are permitted provided that the following conditions are met:
|
6
|
-
#
|
7
|
-
# Redistributions of source code must retain the above copyright notice,
|
6
|
+
#
|
7
|
+
# Redistributions of source code must retain the above copyright notice,
|
8
8
|
# this list of conditions and the following disclaimer.
|
9
9
|
#
|
10
|
-
# Redistributions in binary form must reproduce the above copyright notice,
|
11
|
-
# this list of conditions and the following disclaimer in the documentation
|
10
|
+
# Redistributions in binary form must reproduce the above copyright notice,
|
11
|
+
# this list of conditions and the following disclaimer in the documentation
|
12
12
|
# and/or other materials provided with the distribution.
|
13
13
|
#
|
14
|
-
# Neither the name of the project's author nor the names of its contributors
|
15
|
-
# may be used to endorse or promote products derived from this software
|
14
|
+
# Neither the name of the project's author nor the names of its contributors
|
15
|
+
# may be used to endorse or promote products derived from this software
|
16
16
|
# without specific prior written permission.
|
17
|
-
#
|
17
|
+
#
|
18
18
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
19
19
|
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20
20
|
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
@@ -32,7 +32,7 @@ module Uirusu
|
|
32
32
|
module VTUrl
|
33
33
|
SCAN_URL = "https://www.virustotal.com/vtapi/v2/url/scan"
|
34
34
|
REPORT_URL = "http://www.virustotal.com/vtapi/v2/url/report"
|
35
|
-
|
35
|
+
|
36
36
|
# Submits a URL to be scanned by Virustotal.com
|
37
37
|
#
|
38
38
|
# @param api_key Virustotal.com API key
|
@@ -43,13 +43,13 @@ module Uirusu
|
|
43
43
|
if api_key == nil
|
44
44
|
raise "Invalid API Key"
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
if resource == nil
|
48
48
|
raise "Invalid resource, must be a valid url"
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
response = RestClient.post SCAN_URL, :apikey => api_key, :url => resource
|
52
|
-
|
52
|
+
|
53
53
|
case response.code
|
54
54
|
when 429
|
55
55
|
raise "Virustotal limit reached. Try again later."
|
@@ -59,10 +59,10 @@ module Uirusu
|
|
59
59
|
JSON.parse(response)
|
60
60
|
else
|
61
61
|
raise "Unknown Server error."
|
62
|
-
end
|
62
|
+
end
|
63
63
|
end
|
64
|
-
|
65
|
-
#
|
64
|
+
|
65
|
+
# Searches reports by URL from Virustotal.com
|
66
66
|
#
|
67
67
|
# @param api_key Virustotal.com API key
|
68
68
|
# @param resource url to search
|
@@ -72,13 +72,13 @@ module Uirusu
|
|
72
72
|
if api_key == nil
|
73
73
|
raise "Invalid API Key"
|
74
74
|
end
|
75
|
-
|
75
|
+
|
76
76
|
if resource == nil
|
77
77
|
raise "Invalid resource, must be a valid url"
|
78
78
|
end
|
79
|
-
|
79
|
+
|
80
80
|
response = RestClient.post REPORT_URL, :apikey => api_key, :resource => resource
|
81
|
-
|
81
|
+
|
82
82
|
case response.code
|
83
83
|
when 429
|
84
84
|
raise "Virustotal limit reached. Try again later."
|
@@ -88,7 +88,7 @@ module Uirusu
|
|
88
88
|
JSON.parse(response)
|
89
89
|
else
|
90
90
|
raise "Unknown Server error."
|
91
|
-
end
|
91
|
+
end
|
92
92
|
end
|
93
93
|
end
|
94
94
|
end
|
data/uirusu.gemspec
CHANGED
@@ -1,31 +1,58 @@
|
|
1
|
+
# Copyright (c) 2012-2013 Arxopia LLC.
|
2
|
+
# All rights reserved.
|
3
|
+
#
|
4
|
+
# Redistribution and use in source and binary forms, with or without
|
5
|
+
# modification, are permitted provided that the following conditions are met:
|
6
|
+
#
|
7
|
+
# Redistributions of source code must retain the above copyright notice,
|
8
|
+
# this list of conditions and the following disclaimer.
|
9
|
+
#
|
10
|
+
# Redistributions in binary form must reproduce the above copyright notice,
|
11
|
+
# this list of conditions and the following disclaimer in the documentation
|
12
|
+
# and/or other materials provided with the distribution.
|
13
|
+
#
|
14
|
+
# Neither the name of the project's author nor the names of its contributors
|
15
|
+
# may be used to endorse or promote products derived from this software
|
16
|
+
# without specific prior written permission.
|
17
|
+
#
|
18
|
+
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
19
|
+
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
20
|
+
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
21
|
+
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
|
22
|
+
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
23
|
+
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
24
|
+
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
25
|
+
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
26
|
+
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
27
|
+
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
28
|
+
|
1
29
|
base = __FILE__
|
2
30
|
$:.unshift(File.join(File.dirname(base), 'lib'))
|
3
31
|
|
4
32
|
require 'uirusu'
|
5
33
|
|
6
34
|
Gem::Specification.new do |s|
|
7
|
-
s.name
|
8
|
-
s.version
|
9
|
-
s.homepage
|
10
|
-
s.summary
|
11
|
-
s.description
|
12
|
-
s.license
|
13
|
-
|
14
|
-
s.author
|
15
|
-
s.email
|
16
|
-
|
17
|
-
s.files
|
18
|
-
s.default_executable
|
19
|
-
s.executables
|
20
|
-
s.require_paths
|
21
|
-
|
22
|
-
s.required_ruby_version = '>= 1.9.
|
35
|
+
s.name = Uirusu::APP_NAME
|
36
|
+
s.version = Uirusu::VERSION
|
37
|
+
s.homepage = "http://github.com/arxopia/uirusu/"
|
38
|
+
s.summary = Uirusu::APP_NAME
|
39
|
+
s.description = "uirusu is library for interacting with Virustotal.org"
|
40
|
+
s.license = "BSD"
|
41
|
+
|
42
|
+
s.author = "Jacob Hammack"
|
43
|
+
s.email = "uirusu@arxopia.com"
|
44
|
+
|
45
|
+
s.files = Dir['[A-Z]*'] + Dir['lib/**/*'] + ['uirusu.gemspec']
|
46
|
+
s.default_executable = 'uirusu'
|
47
|
+
s.executables = ['uirusu']
|
48
|
+
s.require_paths = ["lib"]
|
49
|
+
|
50
|
+
s.required_ruby_version = '>= 1.9.3'
|
23
51
|
s.required_rubygems_version = ">= 1.8.16"
|
24
52
|
|
25
|
-
s.has_rdoc
|
26
|
-
s.extra_rdoc_files
|
53
|
+
s.has_rdoc = 'yard'
|
54
|
+
s.extra_rdoc_files = ["README.markdown", "LICENSE", "NEWS.markdown", "TODO.markdown"]
|
27
55
|
|
28
56
|
s.add_dependency('json', '>= 1.5.1')
|
29
57
|
s.add_dependency('rest-client', '>= 1.6.1')
|
30
|
-
|
31
58
|
end
|
metadata
CHANGED
@@ -1,50 +1,45 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uirusu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.4
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Jacob Hammack
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2013-04-09 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: json
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: 1.5.1
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - '>='
|
28
25
|
- !ruby/object:Gem::Version
|
29
26
|
version: 1.5.1
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: rest-client
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 1.6.1
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 1.6.1
|
46
41
|
description: uirusu is library for interacting with Virustotal.org
|
47
|
-
email:
|
42
|
+
email: uirusu@arxopia.com
|
48
43
|
executables:
|
49
44
|
- uirusu
|
50
45
|
extensions: []
|
@@ -54,42 +49,42 @@ extra_rdoc_files:
|
|
54
49
|
- NEWS.markdown
|
55
50
|
- TODO.markdown
|
56
51
|
files:
|
57
|
-
- README.markdown
|
58
|
-
- LICENSE
|
59
|
-
- NEWS.markdown
|
60
52
|
- TODO.markdown
|
61
53
|
- Rakefile
|
62
|
-
-
|
63
|
-
-
|
54
|
+
- NEWS.markdown
|
55
|
+
- README.markdown
|
56
|
+
- LICENSE
|
57
|
+
- lib/uirusu.rb
|
64
58
|
- lib/uirusu/cli/application.rb
|
65
|
-
- lib/uirusu/vtcomment.rb
|
66
59
|
- lib/uirusu/vtresult.rb
|
67
|
-
- lib/uirusu.rb
|
60
|
+
- lib/uirusu/vtcomment.rb
|
61
|
+
- lib/uirusu/vtfile.rb
|
62
|
+
- lib/uirusu/vturl.rb
|
68
63
|
- uirusu.gemspec
|
69
64
|
- bin/uirusu
|
70
|
-
homepage: http://github.com/
|
65
|
+
homepage: http://github.com/arxopia/uirusu/
|
71
66
|
licenses:
|
72
67
|
- BSD
|
68
|
+
metadata: {}
|
73
69
|
post_install_message:
|
74
70
|
rdoc_options: []
|
75
71
|
require_paths:
|
76
72
|
- lib
|
77
73
|
required_ruby_version: !ruby/object:Gem::Requirement
|
78
|
-
none: false
|
79
74
|
requirements:
|
80
|
-
- -
|
75
|
+
- - '>='
|
81
76
|
- !ruby/object:Gem::Version
|
82
|
-
version: 1.9.
|
77
|
+
version: 1.9.3
|
83
78
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
84
|
-
none: false
|
85
79
|
requirements:
|
86
|
-
- -
|
80
|
+
- - '>='
|
87
81
|
- !ruby/object:Gem::Version
|
88
82
|
version: 1.8.16
|
89
83
|
requirements: []
|
90
84
|
rubyforge_project:
|
91
|
-
rubygems_version:
|
85
|
+
rubygems_version: 2.0.0
|
92
86
|
signing_key:
|
93
|
-
specification_version:
|
87
|
+
specification_version: 4
|
94
88
|
summary: uirusu
|
95
89
|
test_files: []
|
90
|
+
has_rdoc: yard
|