ibg 0.0.3

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.
data/views/show.haml ADDED
@@ -0,0 +1,93 @@
1
+ !!! 5
2
+ %html
3
+ - filename = filename || 'Encrypted File'
4
+ - encdigest = request.path_info.split('/').last
5
+ -# port = request.port
6
+ -# TODO reverse proxy setting: http -> https
7
+ -# hostport = request.scheme + '://' + request.host
8
+ - hostport = 'https://' + request.host
9
+ - params = hexdigest ? "?digest=#{hexdigest}&filename=#{filename}" : ''
10
+ - url = "#{name}#{params}"
11
+ - dllink = "/download/#{url}"
12
+ - ctlink = "/container/#{url}"
13
+ %head
14
+ %title #{filename} - Online Storage - Iceberg
15
+ - if exists
16
+ %meta{:name => 'twitter:title', :content => filename}
17
+ - summary = true
18
+ - case filename
19
+ - when /\.jpg$/, /\.gif$/, /\.png$/
20
+ - if filesize < 1024 * 1024
21
+ %meta{:property => 'twitter:card', :content => 'photo'}
22
+ %meta{:name => 'twitter:image', :content => "#{hostport}#{dllink}"}
23
+ %meta{:name => 'twitter:url', :content => request.url}
24
+ - summary = false
25
+ - when /\.mp3$/
26
+ %meta{:property => 'twitter:card', :content => 'player'}
27
+ %meta{:name => 'twitter:player', :content => "#{hostport}#{ctlink}"}
28
+ %meta{:name => 'twitter:player:width', :content => 300}
29
+ %meta{:name => 'twitter:player:height', :content => 32}
30
+ %meta{:name => 'twitter:image',
31
+ :content => "#{hostport}/white300x32.png"}
32
+ - summary = false
33
+ - if summary
34
+ %meta{:property => 'twitter:card', :content => 'summary'}
35
+ %meta{:name => 'twitter:description',
36
+ :content => 'Store and share files on Iceberg.'}
37
+ %link{:href => "/style.css", :rel => "stylesheet", :type => "text/css",
38
+ :media => "screen"}
39
+ - cdn = Iceberg::SETTING['local']['cdn'] || ''
40
+ %link{:href => "#{cdn}/css/bootstrap.min.css", :rel => "stylesheet"}
41
+ %link{:href => "#{cdn}/css/bootstrap-theme.min.css", :rel => "stylesheet"}
42
+ %link{:href => "/starter-template.css", :rel => "stylesheet"}
43
+ %body
44
+ %nav{:class => "navbar navbar-inverse navbar-fixed-top"}
45
+ %div.container
46
+ %div.navbar-header
47
+ %button{:type => "button", :class => "navbar-toggle collapsed",
48
+ "data-toggle" => "collapse", "data-target" => "#navbar",
49
+ "aria-expanded" => "false", "aria-controls" => "navbar"}
50
+ %span.sr-only Toggle navigation
51
+ %span.icon-bar
52
+ %span.icon-bar
53
+ %span.icon-bar
54
+ %a.navbar-brand{:href => "/"} Online Storage - Iceberg
55
+ %div#navbar{:class => "collapse navbar-collapse"}
56
+ %ul{:class => "nav navbar-nav"}= partial :navbar
57
+ %div.container
58
+ %div.starter-template
59
+ %h1 #{filename}
60
+ - if hexdigest
61
+ %input#name{:type => :hidden, :value => filename}
62
+ %input#digest{:type => :hidden, :value => hexdigest}
63
+ %input#encdigest{:type => :hidden, :value => encdigest}
64
+ - if exists
65
+ - case filename
66
+ - when /\.txt$/
67
+ %iframe{:src => dllink}
68
+ %hr
69
+ - when /\.webm$/
70
+ %video{:width => 640, :height => 360, :controls => :controls}
71
+ %source{:src => dllink}
72
+ %hr
73
+ - when /\.jpg$/, /\.gif$/, /\.png$/
74
+ %img{:src => dllink}
75
+ %hr
76
+ - when /\.mp3$/, /\.ogg$/, /\.flac$/
77
+ %audio{:src => dllink, :controls => :controls}
78
+ %hr
79
+ %a{:href => dllink, :class => 'btn btn-default btn-lg'}
80
+ %span{:class => 'glyphicon glyphicon-cloud-download'} Download
81
+ - else
82
+ %p File not found
83
+ %hr
84
+ %label Share URL:
85
+ %textarea{:rows => 2, :class => 'form-control'}
86
+ #{hostport}/show/#{url}
87
+ %br
88
+ %label Direct URL:
89
+ %textarea{:rows => 2, :class => 'form-control'}
90
+ #{hostport}#{dllink}
91
+ %script{:type => 'text/javascript', :src => '/jquery-2.1.3.min.js'}
92
+ %script{:type => 'text/javascript', :src => "#{cdn}/js/bootstrap.min.js"}
93
+ %script{:type => 'text/javascript', :src => '/show.js'}
@@ -0,0 +1,56 @@
1
+ !!! 5
2
+ %html
3
+ %head
4
+ %title #{tripcode} - Online Storage - Iceberg
5
+ %link{:href => "/style.css", :rel => "stylesheet", :type => "text/css",
6
+ :media => "screen"}
7
+ - cdn = Iceberg::SETTING['local']['cdn'] || ''
8
+ %link{:href => "#{cdn}/css/bootstrap.min.css", :rel => "stylesheet"}
9
+ %link{:href => "#{cdn}/css/bootstrap-theme.min.css", :rel => "stylesheet"}
10
+ %link{:href => "/starter-template.css", :rel => "stylesheet"}
11
+ %body
12
+ %input#tripcode{:type => :hidden, :value => tripcode}
13
+ %nav{:class => "navbar navbar-inverse navbar-fixed-top"}
14
+ %div.container
15
+ %div.navbar-header
16
+ %button{:type => "button", :class => "navbar-toggle collapsed",
17
+ "data-toggle" => "collapse", "data-target" => "#navbar",
18
+ "aria-expanded" => "false", "aria-controls" => "navbar"}
19
+ %span.sr-only Toggle navigation
20
+ %span.icon-bar
21
+ %span.icon-bar
22
+ %span.icon-bar
23
+ %a.navbar-brand{:href => "/"} Online Storage - Iceberg
24
+ %div#navbar{:class => "collapse navbar-collapse"}
25
+ %ul{:class => "nav navbar-nav"}= partial :navbar
26
+ %div.container
27
+ %div.starter-template
28
+ %h1#maintitle Untitled Tag
29
+ %div Tripcode: #{tripcode}
30
+ %br
31
+ - files.each do |file|
32
+ - filename = "encrypted-#{file[0, 8]}"
33
+ %div
34
+ %a.files{:href => "/show/#{file}", :id => file}= filename
35
+ %hr
36
+ %div{:class => 'input-group-btn'}
37
+ %button#starbtn{:type => 'button',
38
+ :class => 'btn btn-default'}
39
+ %span{:class => 'glyphicon glyphicon-star',
40
+ 'aria-hidden' => true}
41
+ %span#star Star
42
+ %br
43
+ %div{:class => 'input-group'}
44
+ %div{:class => 'input-group-btn'}
45
+ %button#settagname{:type => 'button',
46
+ :class => 'btn btn-default'}
47
+ %span{:class => 'glyphicon glyphicon-tag',
48
+ 'aria-hidden' => true}
49
+ Set
50
+ %input#tagname{:type => 'text', :class => 'form-control',
51
+ :placeholder => 'Tag Name', 'aria-label' => 'Set Tag Name'}
52
+ %hr
53
+ %p Fund: #{fund} MiB/Round (Under development)
54
+ %script{:type => 'text/javascript', :src => '/jquery-2.1.3.min.js'}
55
+ %script{:type => 'text/javascript', :src => "#{cdn}/js/bootstrap.min.js"}
56
+ %script{:type => 'text/javascript', :src => '/tripcode.js'}
metadata ADDED
@@ -0,0 +1,180 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ibg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.3
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - OHASHI Hideya
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-01-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: bundler
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
18
+ requirements:
19
+ - - ~>
20
+ - !ruby/object:Gem::Version
21
+ version: '1.7'
22
+ type: :development
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '1.7'
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: '10.0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: '10.0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: sinatra
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: haml
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ type: :runtime
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
+ - !ruby/object:Gem::Dependency
79
+ name: redis
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :runtime
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: aws-sdk
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :runtime
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: Decenterized file storage
111
+ email:
112
+ - ohachige@gmail.com
113
+ executables:
114
+ - iceberg-sync
115
+ - iceberg-web
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - .gitignore
120
+ - .travis.yml
121
+ - Dockerfile
122
+ - Gemfile
123
+ - LICENSE.txt
124
+ - README.md
125
+ - Rakefile
126
+ - bin/iceberg-sync
127
+ - bin/iceberg-web
128
+ - config.ru
129
+ - examples/docker/default.conf
130
+ - examples/s3/credentials
131
+ - ibg.gemspec
132
+ - lib/ibg.rb
133
+ - lib/ibg/storage.rb
134
+ - lib/ibg/version.rb
135
+ - lib/ibg/web.rb
136
+ - public/bootstrap-filestyle.min.js
137
+ - public/carousel.css
138
+ - public/favicon.ico
139
+ - public/humans.txt
140
+ - public/index.js
141
+ - public/jquery-2.1.3.min.js
142
+ - public/robots.txt
143
+ - public/show.js
144
+ - public/starter-template.css
145
+ - public/style.css
146
+ - public/tripcode.js
147
+ - public/white300x32.png
148
+ - test/test_entry.rb
149
+ - views/_navbar.haml
150
+ - views/container.haml
151
+ - views/index.haml
152
+ - views/show.haml
153
+ - views/tripcode.haml
154
+ homepage: https://box.sighash.info/
155
+ licenses:
156
+ - MIT
157
+ post_install_message:
158
+ rdoc_options: []
159
+ require_paths:
160
+ - lib
161
+ required_ruby_version: !ruby/object:Gem::Requirement
162
+ none: false
163
+ requirements:
164
+ - - ! '>='
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ required_rubygems_version: !ruby/object:Gem::Requirement
168
+ none: false
169
+ requirements:
170
+ - - ! '>='
171
+ - !ruby/object:Gem::Version
172
+ version: '0'
173
+ requirements: []
174
+ rubyforge_project:
175
+ rubygems_version: 1.8.23
176
+ signing_key:
177
+ specification_version: 3
178
+ summary: Decenterized file storage
179
+ test_files:
180
+ - test/test_entry.rb