uirusu 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -4
- data/Gemfile.lock +30 -6
- data/LICENSE +16 -22
- data/README.markdown +8 -4
- data/Rakefile +16 -22
- data/bin/uirusu +19 -23
- data/docs/NEWS.markdown +17 -3
- data/lib/uirusu.rb +18 -29
- data/lib/uirusu/cli/application.rb +56 -45
- data/lib/uirusu/scanner.rb +17 -23
- data/lib/uirusu/version.rb +28 -0
- data/lib/uirusu/vtcomment.rb +16 -22
- data/lib/uirusu/vtfile.rb +16 -22
- data/lib/uirusu/vtresult.rb +18 -23
- data/lib/uirusu/vturl.rb +16 -22
- data/uirusu.gemspec +13 -10
- metadata +93 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fba998a37e7972030ea7e2e963634c191d1e0e0
|
4
|
+
data.tar.gz: 2271e8d73ccf95edba19e4248a0f92d317c07234
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7d43fe9f146334af62dfa4cc425fb9401af52645b4c5baab6b641f24b9c03944ceb38ace7e1d8739333421a09dd3a3474d430efec8e4917b5d51bf38db7e42b
|
7
|
+
data.tar.gz: dfd744984a492dd2103eca9f2474da73a716a9f4a4d5f335ac2a2cf4709e5767da855aa1a5ca9f4433660f164f5193ecbac1479fdfaf6d52f3588c6ce2738c5d
|
data/Gemfile
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
|
+
gemspec
|
2
3
|
|
3
|
-
gem 'json', '~> 1.8.3'
|
4
|
-
gem 'rest-client', '~> 1.6.9'
|
4
|
+
#gem 'json', '~> 1.8.3'
|
5
|
+
#gem 'rest-client', '~> 1.6.9'
|
5
6
|
|
6
|
-
gem 'rake', "~> 10.4.2"
|
7
|
-
gem 'minitest', '~> 5.0'
|
7
|
+
#gem 'rake', "~> 10.4.2"
|
8
|
+
#gem 'minitest', '~> 5.0'
|
data/Gemfile.lock
CHANGED
@@ -1,17 +1,41 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
uirusu (1.0.1)
|
5
|
+
json (~> 1.8, >= 1.8.3)
|
6
|
+
rest-client (~> 1.8, >= 1.8.0)
|
7
|
+
|
1
8
|
GEM
|
2
9
|
remote: https://rubygems.org/
|
3
10
|
specs:
|
11
|
+
domain_name (0.5.20160615)
|
12
|
+
unf (>= 0.0.5, < 1.0.0)
|
13
|
+
http-cookie (1.0.2)
|
14
|
+
domain_name (~> 0.5)
|
4
15
|
json (1.8.3)
|
5
|
-
mime-types (
|
6
|
-
|
7
|
-
|
16
|
+
mime-types (2.99.2)
|
17
|
+
minitest (5.9.0)
|
18
|
+
netrc (0.11.0)
|
19
|
+
power_assert (0.3.0)
|
20
|
+
rest-client (1.8.0)
|
21
|
+
http-cookie (>= 1.0.2, < 2.0)
|
22
|
+
mime-types (>= 1.16, < 3.0)
|
23
|
+
netrc (~> 0.7)
|
24
|
+
test-unit (3.2.0)
|
25
|
+
power_assert
|
26
|
+
unf (0.1.4)
|
27
|
+
unf_ext
|
28
|
+
unf_ext (0.0.7.2)
|
29
|
+
yard (0.8.7.6)
|
8
30
|
|
9
31
|
PLATFORMS
|
10
32
|
ruby
|
11
33
|
|
12
34
|
DEPENDENCIES
|
13
|
-
|
14
|
-
|
35
|
+
minitest (~> 5.0, >= 5.9)
|
36
|
+
test-unit (~> 3.2, >= 3.2)
|
37
|
+
uirusu!
|
38
|
+
yard (~> 0.8, >= 0.8.7.6)
|
15
39
|
|
16
40
|
BUNDLED WITH
|
17
|
-
1.
|
41
|
+
1.12.5
|
data/LICENSE
CHANGED
@@ -1,25 +1,19 @@
|
|
1
|
-
Copyright (c)
|
2
|
-
All rights reserved.
|
1
|
+
Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
|
4
|
-
|
5
|
-
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
of this software and associated documentation files (the "Software"), to deal
|
5
|
+
in the Software without restriction, including without limitation the rights
|
6
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
copies of the Software, and to permit persons to whom the Software is
|
8
|
+
furnished to do so, subject to the following conditions:
|
6
9
|
|
7
|
-
|
8
|
-
|
9
|
-
* Redistributions in binary form must reproduce the above copyright
|
10
|
-
notice, this list of conditions and the following disclaimer in the
|
11
|
-
documentation and/or other materials provided with the distribution.
|
12
|
-
* Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
may be used to endorse or promote products derived from this software
|
14
|
-
without specific prior written permission.
|
10
|
+
The above copyright notice and this permission notice shall be included in
|
11
|
+
all copies or substantial portions of the Software.
|
15
12
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
THE SOFTWARE.
|
data/README.markdown
CHANGED
@@ -1,8 +1,8 @@
|
|
1
|
-
# uirusu [![Build Status](https://travis-ci.org/arxopia/uirusu.svg)](https://travis-ci.org/arxopia/uirusu)
|
1
|
+
# uirusu [![Gem Version](https://badge.fury.io/rb/uirusu.png)](http://badge.fury.io/rb/uirusu) [![Build Status](https://travis-ci.org/arxopia/uirusu.svg)](https://travis-ci.org/arxopia/uirusu) [![Code Climate](https://codeclimate.com/github/arxopia/uirusu/badges/gpa.svg)](https://codeclimate.com/github/arxopia/uirusu) [![Inline docs](http://inch-ci.org/github/arxopia/uirusu.svg?branch=master)](http://inch-ci.org/github/arxopia/uirusu)
|
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 1.0.
|
5
|
+
The current version is 1.0.1.
|
6
6
|
|
7
7
|
## Requirements
|
8
8
|
|
@@ -22,6 +22,10 @@ The current version is 1.0.0.
|
|
22
22
|
### Edit your configuration file with API key
|
23
23
|
% $EDITOR ~/.uirusu
|
24
24
|
|
25
|
+
### Alternatively you can set Environment variables without a config file
|
26
|
+
% export UIRUSU_VT_API_KEY=<YOUR_KEY_HERE>
|
27
|
+
% export UIRUSU_VT_TIMEOUT=25
|
28
|
+
|
25
29
|
## Usage
|
26
30
|
|
27
31
|
### Searching a file of hashes
|
@@ -74,7 +78,7 @@ print results if results != nil
|
|
74
78
|
```
|
75
79
|
|
76
80
|
##License
|
77
|
-
Uirusu is licensed under the
|
81
|
+
Uirusu is licensed under the MIT license see the `LICENSE` file for the full license.
|
78
82
|
|
79
83
|
## Contact
|
80
|
-
You can reach the team at
|
84
|
+
You can reach the team at jacob.hammack[@]arxopia[dot]com, http://www.arxopia.com, or contact hammackj on IRC @ irc.freenode.net, #risu
|
data/Rakefile
CHANGED
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
28
22
|
|
data/bin/uirusu
CHANGED
@@ -1,35 +1,31 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
# Copyright (c)
|
4
|
-
# All rights reserved.
|
3
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
5
4
|
#
|
6
|
-
#
|
7
|
-
#
|
5
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
# of this software and associated documentation files (the "Software"), to deal
|
7
|
+
# in the Software without restriction, including without limitation the rights
|
8
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
# copies of the Software, and to permit persons to whom the Software is
|
10
|
+
# furnished to do so, subject to the following conditions:
|
8
11
|
#
|
9
|
-
#
|
10
|
-
#
|
11
|
-
# * Redistributions in binary form must reproduce the above copyright
|
12
|
-
# notice, this list of conditions and the following disclaimer in the
|
13
|
-
# documentation and/or other materials provided with the distribution.
|
14
|
-
# * Neither the name of the Arxopia LLC 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.
|
12
|
+
# The above copyright notice and this permission notice shall be included in
|
13
|
+
# all copies or substantial portions of the Software.
|
17
14
|
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
#
|
24
|
-
#
|
25
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
26
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
27
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
15
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
# THE SOFTWARE.
|
28
22
|
|
29
23
|
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '/../lib'))
|
30
24
|
|
31
|
-
require 'rubygems'
|
32
25
|
require 'uirusu'
|
33
26
|
|
27
|
+
$stdout.sync = true
|
28
|
+
$stderr.sync = true
|
29
|
+
|
34
30
|
app = Uirusu::CLI::Application.new
|
35
31
|
app.main(ARGV)
|
data/docs/NEWS.markdown
CHANGED
@@ -1,16 +1,30 @@
|
|
1
1
|
# News
|
2
2
|
|
3
|
-
#
|
3
|
+
# 1.0.1 (July 1, 2016)
|
4
|
+
- Fixed email address
|
5
|
+
- Changed License to MIT
|
6
|
+
- Updated Dependencies to modern versions
|
7
|
+
- Fixed issue with Gemfile / Gemspec build on travis.ci
|
8
|
+
- Fixed issue #10; The command line utility will check the environment variables UIRUSU_VT_API_KEY and UIRUSU_VT_TIMEOUT if a config file doesn't exist. Allowing config file free installs to function.
|
9
|
+
- Various other code clean ups for warnings
|
10
|
+
|
11
|
+
# 1.0.0 (December 1, 2016)
|
12
|
+
- Fixed Rakefile issue
|
13
|
+
|
14
|
+
# 0.0.11 (December 1, 2016)
|
15
|
+
- Fixed Gemspec issue
|
16
|
+
|
17
|
+
# 0.0.10 (November 30, 2016)
|
4
18
|
- Added accessor for Results in the VTResults class
|
5
19
|
- Added initial test for VTFile
|
6
20
|
- Added initial test for VTUrl
|
7
21
|
- Added initial test for Application class
|
8
22
|
- Updated docs on various classes
|
9
23
|
|
10
|
-
# 0.0.9 (
|
24
|
+
# 0.0.9 (November 22, 2015)
|
11
25
|
- Adds empty options hash as arg to to_json override [kitplummer]
|
12
26
|
|
13
|
-
# 0.0.8 (
|
27
|
+
# 0.0.8 (November 20, 2015)
|
14
28
|
- Remove double array bracket [kitplummer]
|
15
29
|
|
16
30
|
# 0.0.7 (August 31, 2015)
|
data/lib/uirusu.rb
CHANGED
@@ -1,37 +1,25 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Uirusu
|
28
|
-
|
29
|
-
VERSION = "1.0.0"
|
30
|
-
HOME_PAGE = "http://arxopia.github.io/uirusu"
|
31
|
-
AUTHOR = "Jacob Hammack"
|
32
|
-
EMAIL = "uirusu@arxopia.com"
|
33
|
-
|
34
|
-
CONFIG_FILE = Dir.home + "/.uirusu"
|
22
|
+
CONFIG_FILE = "#{Dir.home}/.uirusu"
|
35
23
|
VT_API = "https://www.virustotal.com/vtapi/v2"
|
36
24
|
RESULT_FIELDS = [ :hash, :scanner, :version, :detected, :result, :md5, :sha1, :sha256, :update, :permalink ]
|
37
25
|
end
|
@@ -41,6 +29,7 @@ require 'rest-client'
|
|
41
29
|
require 'optparse'
|
42
30
|
require 'yaml'
|
43
31
|
|
32
|
+
require 'uirusu/version'
|
44
33
|
require 'uirusu/vtfile'
|
45
34
|
require 'uirusu/vturl'
|
46
35
|
require 'uirusu/vtcomment'
|
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Uirusu
|
28
22
|
module CLI
|
@@ -52,7 +46,7 @@ module Uirusu
|
|
52
46
|
@options[:timeout] = 25
|
53
47
|
@options[:directory] = nil
|
54
48
|
|
55
|
-
|
49
|
+
opts = OptionParser.new do |opt|
|
56
50
|
opt.banner = "#{APP_NAME} v#{VERSION}\nJacob Hammack\n#{HOME_PAGE}\n\n"
|
57
51
|
opt.banner << "Usage: #{APP_NAME} <options>"
|
58
52
|
opt.separator('')
|
@@ -145,14 +139,14 @@ module Uirusu
|
|
145
139
|
}
|
146
140
|
end
|
147
141
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
142
|
+
if ARGV.length != 0
|
143
|
+
opts.parse!
|
144
|
+
else
|
145
|
+
puts opts.to_s + "\n"
|
146
|
+
exit
|
153
147
|
end
|
154
|
-
rescue OptionParser::MissingArgument
|
155
|
-
puts
|
148
|
+
rescue OptionParser::MissingArgument
|
149
|
+
puts opts.to_s + "\n"
|
156
150
|
exit
|
157
151
|
end
|
158
152
|
end
|
@@ -163,8 +157,8 @@ module Uirusu
|
|
163
157
|
f = File.expand_path(file)
|
164
158
|
|
165
159
|
if File.exists?(f) == false
|
166
|
-
File.open(f, 'w+') do |
|
167
|
-
|
160
|
+
File.open(f, 'w+') do |of|
|
161
|
+
of.write("virustotal: \n api-key: \n timeout: 25\n\n")
|
168
162
|
end
|
169
163
|
puts "[*] An empty #{f} has been created. Please edit and fill in the correct values."
|
170
164
|
else
|
@@ -175,11 +169,28 @@ module Uirusu
|
|
175
169
|
# Loads the .uirusu config file for the api key
|
176
170
|
#
|
177
171
|
def load_config (file=CONFIG_FILE)
|
172
|
+
|
173
|
+
@config = nil
|
174
|
+
|
178
175
|
f = File.expand_path(file)
|
179
176
|
|
180
177
|
if File.exists?(f)
|
181
178
|
@config = YAML.load_file f
|
182
179
|
else
|
180
|
+
if ENV['UIRUSU_VT_API_KEY']
|
181
|
+
@config = {}
|
182
|
+
@config['virustotal'] = {}
|
183
|
+
@config['virustotal']['api-key'] = ENV['UIRUSU_VT_API_KEY']
|
184
|
+
|
185
|
+
if ENV['UIRUSU_VT_TIMEOUT']
|
186
|
+
@config['virustotal']['timeout'] = ENV['UIRUSU_VT_TIMEOUT']
|
187
|
+
else
|
188
|
+
@config['virustotal']['timeout'] = 25
|
189
|
+
end
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
if @config == nil
|
183
194
|
STDERR.puts "[!] #{CONFIG_FILE} does not exist. Please run #{APP_NAME} --create-config, to create it."
|
184
195
|
exit
|
185
196
|
end
|
@@ -216,8 +227,8 @@ module Uirusu
|
|
216
227
|
|
217
228
|
if retries >= 0
|
218
229
|
sleep 60
|
219
|
-
retry
|
220
230
|
retries = retries - 1
|
231
|
+
retry
|
221
232
|
end
|
222
233
|
end
|
223
234
|
|
@@ -228,28 +239,28 @@ module Uirusu
|
|
228
239
|
# is requested to be rescanned.
|
229
240
|
result_array = result.is_a?(Array) ? result : [ result ]
|
230
241
|
|
231
|
-
result_array.collect do |
|
232
|
-
if
|
233
|
-
STDERR.puts "[*] Attempting to parse the results for: #{
|
234
|
-
results = mod.query_report(@config['virustotal']['api-key'],
|
242
|
+
result_array.collect do |r|
|
243
|
+
if r['response_code'] == 1
|
244
|
+
STDERR.puts "[*] Attempting to parse the results for: #{r['resource']}" if @options['verbose']
|
245
|
+
results = mod.query_report(@config['virustotal']['api-key'], r['resource'])
|
235
246
|
|
236
247
|
while results['response_code'] != 1
|
237
248
|
STDERR.puts "[*] File has not been analyized yet, waiting 60 seconds to try again" if @options['verbose']
|
238
249
|
sleep 60
|
239
|
-
results = mod.query_report(@config['virustotal']['api-key'],
|
250
|
+
results = mod.query_report(@config['virustotal']['api-key'], r['resource'])
|
240
251
|
end
|
241
252
|
|
242
|
-
return
|
253
|
+
return r['resource'], results
|
243
254
|
|
244
|
-
elsif
|
245
|
-
STDERR.puts "[!] Unknown Virustotal error for rescan of #{
|
255
|
+
elsif r['response_code'] == 0 and @options['rescan']
|
256
|
+
STDERR.puts "[!] Unknown Virustotal error for rescan of #{r['resource']}." if @options['verbose']
|
246
257
|
next
|
247
258
|
|
248
|
-
elsif
|
249
|
-
STDERR.puts "[!] Virustotal does not have a sample of #{
|
259
|
+
elsif r['response_code'] == -1 and @options['rescan']
|
260
|
+
STDERR.puts "[!] Virustotal does not have a sample of #{r['resource']}." if @options['verbose']
|
250
261
|
next
|
251
262
|
|
252
|
-
elsif
|
263
|
+
elsif r['response_code'] == -2
|
253
264
|
STDERR.puts "[!] Virustotal limits exceeded, ***do not edit the timeout values.***"
|
254
265
|
exit(1)
|
255
266
|
else
|
@@ -260,8 +271,8 @@ module Uirusu
|
|
260
271
|
STDERR.puts "[!] An error has occurred retrieving the report. Retrying 60 seconds up #{retries} retries. #{e.message}\n" if @options['verbose']
|
261
272
|
if retries >= 0
|
262
273
|
sleep 60
|
263
|
-
retry
|
264
274
|
retries = retries - 1
|
275
|
+
retry
|
265
276
|
end
|
266
277
|
end
|
267
278
|
end
|
data/lib/uirusu/scanner.rb
CHANGED
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
require 'pathname'
|
28
22
|
require 'digest/md5'
|
@@ -55,7 +49,7 @@ module Uirusu
|
|
55
49
|
digest = Digest::MD5.hexdigest(File.read(file))
|
56
50
|
@hash_list << digest
|
57
51
|
|
58
|
-
rescue Exception
|
52
|
+
rescue Exception
|
59
53
|
puts "[!] Cannot read #{file}"
|
60
54
|
end
|
61
55
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
9
|
+
#
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
12
|
+
#
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
20
|
+
|
21
|
+
module Uirusu
|
22
|
+
APP_NAME = "uirusu"
|
23
|
+
VERSION = "1.0.1"
|
24
|
+
HOME_PAGE = "http://arxopia.github.io/uirusu"
|
25
|
+
AUTHOR = "Jacob Hammack"
|
26
|
+
EMAIL = "jacob.hammack@arxopia.com"
|
27
|
+
GITHUB = "http://github.com/arxopia/uirusu"
|
28
|
+
end
|
data/lib/uirusu/vtcomment.rb
CHANGED
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Uirusu
|
28
22
|
# Module for submiting comments to Virustotal.com resources using the
|
data/lib/uirusu/vtfile.rb
CHANGED
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Uirusu
|
28
22
|
|
data/lib/uirusu/vtresult.rb
CHANGED
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Uirusu
|
28
22
|
|
@@ -66,7 +60,7 @@ module Uirusu
|
|
66
60
|
abort "[!] Invalid API KEY! Please correct this! Check ~/.uirusu"
|
67
61
|
else
|
68
62
|
permalink = result['permalink']
|
69
|
-
|
63
|
+
scan_date = result['scan_date']
|
70
64
|
md5 = result['md5']
|
71
65
|
sha1 = result['sha1']
|
72
66
|
sha256 = result['sha256']
|
@@ -88,6 +82,7 @@ module Uirusu
|
|
88
82
|
res[:result] = value['result']
|
89
83
|
end
|
90
84
|
|
85
|
+
res[:scan_date] = scan_date
|
91
86
|
res[:update] = value['update']
|
92
87
|
res[:permalink] = permalink unless permalink == nil
|
93
88
|
|
data/lib/uirusu/vturl.rb
CHANGED
@@ -1,28 +1,22 @@
|
|
1
|
-
# Copyright (c)
|
2
|
-
# All rights reserved.
|
1
|
+
# Copyright (c) 2010-2016 Arxopia LLC.
|
3
2
|
#
|
4
|
-
#
|
5
|
-
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
4
|
+
# of this software and associated documentation files (the "Software"), to deal
|
5
|
+
# in the Software without restriction, including without limitation the rights
|
6
|
+
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
7
|
+
# copies of the Software, and to permit persons to whom the Software is
|
8
|
+
# furnished to do so, subject to the following conditions:
|
6
9
|
#
|
7
|
-
#
|
8
|
-
#
|
9
|
-
# * Redistributions in binary form must reproduce the above copyright
|
10
|
-
# notice, this list of conditions and the following disclaimer in the
|
11
|
-
# documentation and/or other materials provided with the distribution.
|
12
|
-
# * Neither the name of the Arxopia LLC nor the names of its contributors
|
13
|
-
# may be used to endorse or promote products derived from this software
|
14
|
-
# without specific prior written permission.
|
10
|
+
# The above copyright notice and this permission notice shall be included in
|
11
|
+
# all copies or substantial portions of the Software.
|
15
12
|
#
|
16
|
-
#
|
17
|
-
#
|
18
|
-
#
|
19
|
-
#
|
20
|
-
#
|
21
|
-
#
|
22
|
-
#
|
23
|
-
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
24
|
-
# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
25
|
-
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
13
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
14
|
+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
15
|
+
# FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
|
16
|
+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
17
|
+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
18
|
+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
19
|
+
# THE SOFTWARE.
|
26
20
|
|
27
21
|
module Uirusu
|
28
22
|
#
|
data/uirusu.gemspec
CHANGED
@@ -27,29 +27,32 @@
|
|
27
27
|
base = __FILE__
|
28
28
|
$:.unshift(File.join(File.dirname(base), 'lib'))
|
29
29
|
|
30
|
-
require 'uirusu'
|
30
|
+
require 'uirusu/version'
|
31
31
|
|
32
32
|
Gem::Specification.new do |s|
|
33
33
|
s.name = Uirusu::APP_NAME
|
34
34
|
s.version = Uirusu::VERSION
|
35
35
|
s.homepage = Uirusu::HOME_PAGE
|
36
|
-
s.summary = Uirusu::APP_NAME
|
37
|
-
s.description = "uirusu is library for interacting with Virustotal.org"
|
38
|
-
s.license = "BSD"
|
39
|
-
|
40
36
|
s.author = Uirusu::AUTHOR
|
41
37
|
s.email = Uirusu::EMAIL
|
42
38
|
|
39
|
+
s.summary = Uirusu::APP_NAME
|
40
|
+
s.description = "uirusu is tool and REST library for interacting with Virustotal.org"
|
41
|
+
s.license = "MIT"
|
42
|
+
|
43
43
|
s.files = Dir['[A-Z]*'] + Dir['lib/**/*'] + ['uirusu.gemspec']
|
44
|
-
s.default_executable =
|
45
|
-
s.executables = [
|
44
|
+
s.default_executable = Uirusu::APP_NAME
|
45
|
+
s.executables = ["#{Uirusu::APP_NAME}"]
|
46
46
|
s.require_paths = ["lib"]
|
47
47
|
|
48
|
-
s.required_ruby_version = '>= 2.0.0'
|
49
|
-
|
50
48
|
s.has_rdoc = 'yard'
|
51
49
|
s.extra_rdoc_files = ["README.markdown", "LICENSE", "docs/NEWS.markdown", "docs/TODO.markdown"]
|
52
50
|
|
51
|
+
s.add_runtime_dependency 'rake', '~> 11.2', '>= 11.2.2'
|
53
52
|
s.add_runtime_dependency 'json', '~> 1.8', '>= 1.8.3'
|
54
|
-
s.add_runtime_dependency 'rest-client', '~> 1.
|
53
|
+
s.add_runtime_dependency 'rest-client', '~> 1.8', '>= 1.8.0'
|
54
|
+
|
55
|
+
s.add_development_dependency 'yard', '~> 0.8', '>= 0.8.7.6'
|
56
|
+
s.add_development_dependency 'minitest', '~> 5.0', '>= 5.9'
|
57
|
+
s.add_development_dependency 'test-unit', '~> 3.2', ">= 3.2"
|
55
58
|
end
|
metadata
CHANGED
@@ -1,15 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uirusu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jacob Hammack
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-07-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '11.2'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 11.2.2
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '11.2'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 11.2.2
|
13
33
|
- !ruby/object:Gem::Dependency
|
14
34
|
name: json
|
15
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -36,22 +56,82 @@ dependencies:
|
|
36
56
|
requirements:
|
37
57
|
- - "~>"
|
38
58
|
- !ruby/object:Gem::Version
|
39
|
-
version: '1.
|
59
|
+
version: '1.8'
|
40
60
|
- - ">="
|
41
61
|
- !ruby/object:Gem::Version
|
42
|
-
version: 1.
|
62
|
+
version: 1.8.0
|
43
63
|
type: :runtime
|
44
64
|
prerelease: false
|
45
65
|
version_requirements: !ruby/object:Gem::Requirement
|
46
66
|
requirements:
|
47
67
|
- - "~>"
|
48
68
|
- !ruby/object:Gem::Version
|
49
|
-
version: '1.
|
69
|
+
version: '1.8'
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 1.8.0
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: yard
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: '0.8'
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.8.7.6
|
83
|
+
type: :development
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0.8'
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 0.8.7.6
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: minitest
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: '5.0'
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '5.9'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '5.0'
|
50
110
|
- - ">="
|
51
111
|
- !ruby/object:Gem::Version
|
52
|
-
version:
|
53
|
-
|
54
|
-
|
112
|
+
version: '5.9'
|
113
|
+
- !ruby/object:Gem::Dependency
|
114
|
+
name: test-unit
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '3.2'
|
120
|
+
- - ">="
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '3.2'
|
123
|
+
type: :development
|
124
|
+
prerelease: false
|
125
|
+
version_requirements: !ruby/object:Gem::Requirement
|
126
|
+
requirements:
|
127
|
+
- - "~>"
|
128
|
+
- !ruby/object:Gem::Version
|
129
|
+
version: '3.2'
|
130
|
+
- - ">="
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '3.2'
|
133
|
+
description: uirusu is tool and REST library for interacting with Virustotal.org
|
134
|
+
email: jacob.hammack@arxopia.com
|
55
135
|
executables:
|
56
136
|
- uirusu
|
57
137
|
extensions: []
|
@@ -72,6 +152,7 @@ files:
|
|
72
152
|
- lib/uirusu.rb
|
73
153
|
- lib/uirusu/cli/application.rb
|
74
154
|
- lib/uirusu/scanner.rb
|
155
|
+
- lib/uirusu/version.rb
|
75
156
|
- lib/uirusu/vtcomment.rb
|
76
157
|
- lib/uirusu/vtfile.rb
|
77
158
|
- lib/uirusu/vtresult.rb
|
@@ -79,7 +160,7 @@ files:
|
|
79
160
|
- uirusu.gemspec
|
80
161
|
homepage: http://arxopia.github.io/uirusu
|
81
162
|
licenses:
|
82
|
-
-
|
163
|
+
- MIT
|
83
164
|
metadata: {}
|
84
165
|
post_install_message:
|
85
166
|
rdoc_options: []
|
@@ -89,7 +170,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
89
170
|
requirements:
|
90
171
|
- - ">="
|
91
172
|
- !ruby/object:Gem::Version
|
92
|
-
version:
|
173
|
+
version: '0'
|
93
174
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
175
|
requirements:
|
95
176
|
- - ">="
|
@@ -97,8 +178,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
178
|
version: '0'
|
98
179
|
requirements: []
|
99
180
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.
|
181
|
+
rubygems_version: 2.6.6
|
101
182
|
signing_key:
|
102
183
|
specification_version: 4
|
103
184
|
summary: uirusu
|
104
185
|
test_files: []
|
186
|
+
has_rdoc: yard
|