yankee 0.0.9 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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