middleman-gibberish 0.4.2 → 0.5.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 +8 -8
- data/README.md +15 -12
- data/lib/middleman-gibberish.rb +85 -22
- data/middleman-gibberish.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZjY3YWU2OTM4YjE5MDhhZDY4NzRmZjM1ZDkwNTQ2ZTViZDA4ZWRmNA==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
MDU2NzVkN2VmMGZmMWQ5ODBmMTc1ZTQ1NmFmZGFhMzljOWM4N2Y5Zg==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
MjExNWVhZTQyNDllMTdhMzY1NTI1NzI5ZGEwZDRjODM4OWJhOTcxMjM2YmM4
|
10
|
+
YzQyNWEzNmU4NTcyOTRmZGNkYTRlNTYyODI2NzNhZmNmNWQyMjZhZDMyNjkx
|
11
|
+
NWEzM2NjNzhlNTA1MzI3OThhNmJmMGQ2ZmI0MWZiYzNhZmI1MzA=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
ODg1YWFiNzlkOGRhYTIwZjBlZTlhOGE5NWU0NmU0YTc4YzkxZWI2Mjk2MzQz
|
14
|
+
OWZkMjgxOWI5OTA3OGE5YTk5MjA5Y2NmMGQ5OTUxZTgyOGQ3MGQ1ZDQ5Yzk2
|
15
|
+
OTEwMWNjZTU4MGVmM2FjNGY5NTU3NmZhNGZhZGQ2ZTM2NThiZTk=
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
NAME
|
2
2
|
----
|
3
|
-
|
3
|
+
middleman-gibberish
|
4
4
|
|
5
5
|
|
6
6
|
SYNOPSIS
|
@@ -11,7 +11,7 @@ the implementation is serverless and works even on s3.
|
|
11
11
|
|
12
12
|
DESCRIPTION
|
13
13
|
-----------
|
14
|
-
|
14
|
+
middleman-gibberish encrypts senstive content at build time, before
|
15
15
|
deployment, and wraps it with a teeny script that will prompt the user to
|
16
16
|
enter a password in order to decrypt and display it. it relies on the
|
17
17
|
excellent, openssl compatible, gibberish implementations for ruby and
|
@@ -66,7 +66,11 @@ PSEUDO-CODE
|
|
66
66
|
|
67
67
|
INSTALL
|
68
68
|
------
|
69
|
-
gem install
|
69
|
+
`gem install middleman-gibberish`
|
70
|
+
|
71
|
+
EXAMPLES
|
72
|
+
--------
|
73
|
+
http://ahoward.github.io/middleman-gibberish/
|
70
74
|
|
71
75
|
|
72
76
|
USAGE
|
@@ -114,7 +118,7 @@ NOTES
|
|
114
118
|
```
|
115
119
|
if you activated directory indexes.
|
116
120
|
|
117
|
-
- gibberish encrypts *only* in the build directory via
|
121
|
+
- gibberish encrypts *only* in the build directory via an
|
118
122
|
<code>after_build</code> callback. this means you won't see encrypted
|
119
123
|
content in development mode running <code>middleman server</code>: you will
|
120
124
|
only see encrypted content in the build directory after running
|
@@ -130,26 +134,25 @@ NOTES
|
|
130
134
|
|
131
135
|
DEPENDENCIES
|
132
136
|
------------
|
133
|
-
|
137
|
+
middleman-gibberish relies on the gibberish gem, and that is handled the
|
134
138
|
normal/rubygem way.
|
135
139
|
|
136
|
-
|
140
|
+
middleman-gibberish also relies on the following three javascript libs at
|
137
141
|
runtime for it to function
|
138
142
|
|
139
143
|
- jquery.js
|
140
144
|
- jquery.cookie.js
|
141
145
|
- gibberish.js
|
142
146
|
|
143
|
-
all three are included in this repo. if
|
144
|
-
into
|
145
|
-
versions hosted on github's CDN here
|
147
|
+
all three are included in this repo. if your application has checked them
|
148
|
+
into source/gibberish/javascripts *then they will be used*, otherwise the lib
|
149
|
+
uses versions hosted on github's CDN here:
|
146
150
|
|
147
151
|
- http://ahoward.github.io/middleman-gibberish/assets/jquery.js
|
148
152
|
- http://ahoward.github.io/middleman-gibberish/assets/jquery.cookie.js
|
149
153
|
- http://ahoward.github.io/middleman-gibberish/assets/gibberish.js
|
150
154
|
|
151
|
-
if you decide to use local copies make sure the names match *exactly*, that is
|
152
|
-
to say you must have *jquery.js* and not *jquery-1.2.3.4.js* in
|
155
|
+
if you decide to use local copies, make sure the names match *exactly*, that is
|
156
|
+
to say, you must have *jquery.js* and not *jquery-1.2.3.4.js* in
|
153
157
|
source/javascripts. if you aren't in the habbit of using symlinks it'd be a
|
154
158
|
good time to figure that out.
|
155
|
-
|
data/lib/middleman-gibberish.rb
CHANGED
@@ -3,7 +3,7 @@ require 'gibberish'
|
|
3
3
|
|
4
4
|
module ::Middleman
|
5
5
|
class Gibberish < Middleman::Extension
|
6
|
-
Version = '0.
|
6
|
+
Version = '0.5.0'
|
7
7
|
|
8
8
|
def Gibberish.version
|
9
9
|
Version
|
@@ -124,10 +124,10 @@ module ::Middleman
|
|
124
124
|
|
125
125
|
srcs =
|
126
126
|
libs.map do |lib|
|
127
|
-
script = File.join(source_dir, 'javascripts', lib)
|
127
|
+
script = File.join(source_dir, 'gibberish', 'javascripts', lib)
|
128
128
|
|
129
129
|
if test(?s, script)
|
130
|
-
"/javascripts/#{ lib }"
|
130
|
+
"/gibberish/javascripts/#{ lib }"
|
131
131
|
else
|
132
132
|
asset_url + lib
|
133
133
|
end
|
@@ -135,38 +135,101 @@ module ::Middleman
|
|
135
135
|
|
136
136
|
template =
|
137
137
|
<<-__
|
138
|
-
|
138
|
+
<html>
|
139
|
+
<head>
|
140
|
+
<style>
|
141
|
+
.gibberish {
|
142
|
+
margin: auto;
|
143
|
+
color: #999;
|
144
|
+
text-align: center;
|
145
|
+
}
|
139
146
|
|
140
|
-
|
147
|
+
.gibberish-instructions,
|
148
|
+
.gibberish-password,
|
149
|
+
.gibberish-message
|
150
|
+
{
|
151
|
+
margin-bottom: 1em;
|
152
|
+
}
|
153
|
+
|
154
|
+
.gibberish-password {
|
155
|
+
border: 1px solid #ccc;
|
156
|
+
}
|
157
|
+
|
158
|
+
.gibberish-message {
|
159
|
+
margin: auto;
|
160
|
+
color: #633;
|
161
|
+
}
|
162
|
+
</style>
|
163
|
+
</head>
|
164
|
+
|
165
|
+
<body style='width:100%;'>
|
166
|
+
<br>
|
167
|
+
<br>
|
168
|
+
<br>
|
169
|
+
<div class='gibberish'>
|
170
|
+
|
171
|
+
<div class='gibberish-instructions'>
|
172
|
+
enter password and press <enter>
|
173
|
+
</div>
|
174
|
+
|
175
|
+
<input id='gibberish-password' name='gibberish-password' type='password' class='gibberish-password'/>
|
176
|
+
|
177
|
+
<div class='gibberish-message'>
|
178
|
+
</div>
|
141
179
|
|
180
|
+
</div>
|
181
|
+
</body>
|
182
|
+
</html>
|
183
|
+
|
184
|
+
|
185
|
+
<% srcs.each do |src| %>
|
186
|
+
<script src='<%= src %>'></script>
|
142
187
|
<% end %>
|
143
188
|
|
144
189
|
<script>
|
145
190
|
var encrypted = #{ encrypted.to_json };
|
146
191
|
var cookie = #{ glob.to_json };
|
192
|
+
var options = {path: "/", expires: 1};
|
147
193
|
|
148
|
-
while(true){
|
149
|
-
var password = (jQuery.cookie(cookie) || prompt('PLEASE ENTER THE PASSWORD'));
|
150
194
|
|
151
|
-
|
152
|
-
|
195
|
+
jQuery(function(){
|
196
|
+
var password = jQuery('.gibberish-password');
|
197
|
+
var message = jQuery('.gibberish-message');
|
153
198
|
|
154
|
-
|
199
|
+
password.focus();
|
200
|
+
message.html('');
|
155
201
|
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
202
|
+
password.keyup(function(e){
|
203
|
+
var code = e.which;
|
204
|
+
|
205
|
+
e.preventDefault();
|
160
206
|
|
161
|
-
|
162
|
-
|
163
|
-
if(
|
164
|
-
|
207
|
+
var _password = (jQuery.cookie(cookie) || password.val());
|
208
|
+
|
209
|
+
if(code==13 && !_password==""){
|
210
|
+
try{
|
211
|
+
var decrypted = GibberishAES.dec(encrypted, _password);
|
212
|
+
|
213
|
+
document.write(decrypted);
|
214
|
+
|
215
|
+
try{
|
216
|
+
jQuery.cookie(cookie, _password, options);
|
217
|
+
} catch(e) {
|
218
|
+
};
|
219
|
+
} catch(e) {
|
220
|
+
try{
|
221
|
+
jQuery.removeCookie(cookie, options);
|
222
|
+
} catch(e) {
|
223
|
+
};
|
224
|
+
message.html("sorry, wrong password - try again.");
|
225
|
+
};
|
165
226
|
} else {
|
166
|
-
|
167
|
-
}
|
168
|
-
|
169
|
-
|
227
|
+
message.html("");
|
228
|
+
};
|
229
|
+
|
230
|
+
return(false);
|
231
|
+
});
|
232
|
+
});
|
170
233
|
</script>
|
171
234
|
__
|
172
235
|
|
data/middleman-gibberish.gemspec
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
|
4
4
|
Gem::Specification::new do |spec|
|
5
5
|
spec.name = "middleman-gibberish"
|
6
|
-
spec.version = "0.
|
6
|
+
spec.version = "0.5.0"
|
7
7
|
spec.platform = Gem::Platform::RUBY
|
8
8
|
spec.summary = "middleman-gibberish"
|
9
9
|
spec.description = "password protect middleman pages - even on s3"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-gibberish
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ara T. Howard
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: middleman
|