yankee 0.0.9 → 0.1.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 52383c3ec8965cf5d958fa52eacff9877491ffbe
4
- data.tar.gz: 81819b005763e38646fe1fa1b7e110077b7796f5
3
+ metadata.gz: bf4d342cada96e6ec696512387208516256f0ef7
4
+ data.tar.gz: e3d95309b9b6427f01d44203ea57efc850d4e359
5
5
  SHA512:
6
- metadata.gz: e5a99712432ed04cc531f457ade441149874a00b476c39da8a1ffe575d7da3a0096f7dca6e634a037a95fb4502ea309bc9ec66105d810e99050150869d6419bb
7
- data.tar.gz: 20d799ae99c0d07b12f4df5a3e674fc08ef0245a53d1d50062a30bbae6775f6b79d9f7503bba26db628634a0dc4d2d1214fd35921375a6b4d03a02bec735fe64
6
+ metadata.gz: 04141234815a9b10415988cacc7088011224cc6a4b077bf1dafc1955a4a7d61fae65b31484b7f404a56214434f10954ee3c70644c50f9472c3535fa1c6e0a731
7
+ data.tar.gz: f06181dd4979232a632e0a900dbb79004470a1728d8c025ba382b1f035d564a97af34f365689fa031750d10db0faf21a4304c1d2d3f6ad945e061eff8f90e270
data/api.rb CHANGED
@@ -1,12 +1,22 @@
1
1
  require 'rubygems'
2
2
  require 'sinatra'
3
+ require 'json'
3
4
 
4
5
  class Yankee < Sinatra::Base
5
6
 
7
+ helpers do
8
+ def h(text)
9
+ Rack::Utils.escape_html(text)
10
+ end
11
+ end
12
+
13
+ $yankee_dir = File.dirname(__FILE__)
14
+
6
15
  set :env, :production
7
16
  set :bind, "0.0.0.0"
8
17
  set :port, 8888
9
18
  set :static, true # set up static file routing
19
+ set :views, "#{$yankee_dir}/views"
10
20
  set :public_folder, File.expand_path(File.expand_path(".")) # set up the static dir (with images/js/css inside)
11
21
 
12
22
  #set :views, File.expand_path('../views', __FILE__) # set up the views dir
@@ -18,24 +28,22 @@ class Yankee < Sinatra::Base
18
28
  end
19
29
 
20
30
  get '/' do
21
-
22
31
  sort = params["sort"]
23
32
 
24
33
  if sort == "Modified"
25
- entries = Dir.entries('.').sort_by{ |x| File.mtime(x) }.reverse
34
+ @entries = Dir.entries('.').sort_by{ |x| File.mtime(x) }.reverse
26
35
  else
27
- entries = Dir.entries('.').sort_by{ |x| File.size(x) }.reverse
36
+ @entries = Dir.entries('.').sort_by{ |x| File.size(x) }.reverse
28
37
  end
29
38
 
30
- #entries = entries[0..100]
39
+ @entries = @entries[0..100]
31
40
 
32
- out = ""
33
- out << "<html><body><table>"
34
- out << "<tr><td>Filename</td><td><a href=/?sort=>Size</a><td><td><a href=/?sort=Modified>Modified</a><td></tr>"
35
- entries.map do |e|
36
- out << "<tr><td><a href=\"#{e}\">#{e}</a></td><td>#{File.size(e)}<td><td>#{File.mtime(e)}<td></tr>"
37
- end
38
- out << "</table></body></html>"
39
- out
41
+ erb :index
42
+ end
43
+
44
+ get '/:filename/log' do
45
+ @x = JSON.parse(File.open("#{params[:filename]}").read)
46
+ erb :log
40
47
  end
48
+
41
49
  end
data/lib/.gitkeep ADDED
File without changes
data/views/index.erb ADDED
@@ -0,0 +1,20 @@
1
+ <html>
2
+ <body>
3
+ <table>
4
+ <tr>
5
+ <td>Task Log</td>
6
+ <td>JSON</td>
7
+ <td><a href=/?sort=>Size</a></td>
8
+ <td><a href=/?sort=Modified>Modified</a></td>
9
+ </tr>
10
+ <% @entries.map do |e| %>
11
+ <tr>
12
+ <td><a href='<%= "#{e}/log" %>'> <%="#{e}"%> (Log) </a></td>
13
+ <td><a href='<%="#{e}"%>'>(JSON)</a></td>
14
+ <td><%="#{File.size(e)}"%></td>
15
+ <td><%="#{File.mtime(e)}"%></td>
16
+ </tr>
17
+ <% end %>
18
+ </table>
19
+ </body>
20
+ </html>
data/views/layout.erb ADDED
@@ -0,0 +1,15 @@
1
+ <html>
2
+ <head>
3
+ <title>Yankee</title>
4
+ <style>
5
+ .like-pre {
6
+ white-space: pre-wrap;
7
+ font-family: monospace;
8
+ display: block;
9
+ }
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <%= yield %>
14
+ </body>
15
+ </html>
data/views/log.erb ADDED
@@ -0,0 +1,7 @@
1
+ <html>
2
+ <body>
3
+ <span class="like-pre">
4
+ <%= @x["task_log"] %>
5
+ </span>
6
+ </body>
7
+ </html>
data/yankee.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'yankee'
3
- s.version = '0.0.9'
3
+ s.version = '0.1.0'
4
4
  s.date = '2015-03-28'
5
- s.summary = "Webserver for your filesystem"
6
- s.description = "Webserver for your filesystem"
5
+ s.summary = "Intrigue intelligence analysis"
6
+ s.description = "Intrigue intelligence analysis"
7
7
  s.authors = ["jcran"]
8
8
  s.email = 'jcran@pentestify.com'
9
9
  s.files = ["api.rb"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yankee
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jcran
@@ -10,7 +10,7 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2015-03-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
- description: Webserver for your filesystem
13
+ description: Intrigue intelligence analysis
14
14
  email: jcran@pentestify.com
15
15
  executables:
16
16
  - yankee
@@ -27,8 +27,12 @@ files:
27
27
  - api.rb
28
28
  - bin/yankee
29
29
  - config.ru
30
+ - lib/.gitkeep
30
31
  - test/test.rb
31
32
  - test/test_helper.rb
33
+ - views/index.erb
34
+ - views/layout.erb
35
+ - views/log.erb
32
36
  - yankee.gemspec
33
37
  homepage: http://github.com/pentestify/yankee
34
38
  licenses:
@@ -53,7 +57,7 @@ rubyforge_project:
53
57
  rubygems_version: 2.4.6
54
58
  signing_key:
55
59
  specification_version: 4
56
- summary: Webserver for your filesystem
60
+ summary: Intrigue intelligence analysis
57
61
  test_files:
58
62
  - test/test.rb
59
63
  - test/test_helper.rb