yopass 3.0.5 → 3.0.6
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 +13 -5
- data/.travis.yml +1 -1
- data/README.md +5 -5
- data/lib/public/create-secret.html +28 -19
- data/lib/public/css/style.css +81 -0
- data/lib/public/display-secret.html +6 -4
- data/lib/public/index.html +47 -37
- data/lib/public/js/app.js +6 -2
- data/{.gemspec → yopass.gemspec} +1 -1
- metadata +26 -28
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NmY3MjcyZjAzODUyZmE4YmU3ZTU4YmMyOGQ5ZGUxMjUzZjBiMjI4Mg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
YjA4NTY0MzZjY2Q0ZWNmNDgzZmNjMTg4OTI5YmEzNTJmN2FjNjI3NQ==
|
5
7
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
Y2JiZjNjMGExMTUyNDI3OTQ0MGIxNmQ5MTUxM2NmN2JkNTY4OTExZmZmYTdm
|
10
|
+
ZWFhMzcwOWZhOTZjZjI3NDUxODI5ZWE1MWZmZWQwMDU1NzAwYjFkOGRlNjZk
|
11
|
+
MjU3Nzk2ZmYzODhkYzRlNmYzNTVhOTU2YWZmM2VhYTdjYmZiYTA=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
NDM0ODdhZWZiYjkxM2QxZmE3NDZmOGQ1ZTkwMjU3YzQzZGQ3NDg2MDY4MTUx
|
14
|
+
YmUzNmExOTc1MTMwODhiYTQxMjg0ZGQyOWY3NmRlZmQ4NjY1ODdjZGY3ZjUx
|
15
|
+
Mjg1M2E2YjNjYWFlNDY2MzY2OWI0Y2ZiNzQyYWVjYmRmYzlhNDg=
|
data/.travis.yml
CHANGED
@@ -4,7 +4,7 @@ rvm:
|
|
4
4
|
- 2.0.0
|
5
5
|
deploy:
|
6
6
|
provider: rubygems
|
7
|
-
gemspec: .gemspec
|
7
|
+
gemspec: yopass.gemspec
|
8
8
|
api_key:
|
9
9
|
secure: ko/Qz+/kwTBggJxw24IwYzpHoFUTT3LqyxOGkpuMj2BaQ994LNiZP7vaKx1THXc3b7FhRGKmi6KJaiO31wKQqXH13+azkZ777RuEC0Mz9rYLBcOcCFeniOcbLqCgLmFhroG0GhWz/tdP5xSw5bw+6kRO8SjBjyyrDSdrzbz0phw=
|
10
10
|
gem: yopass
|
data/README.md
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
#
|
1
|
+
# Yopass - Share Secrets Securely
|
2
2
|
[](https://travis-ci.org/jhaals/yopass)
|
3
3
|
|
4
|
-
|
5
|
-
The sole purpose of
|
4
|
+
Yopass is a project for sharing secrets in a quick and secure manner.
|
5
|
+
The sole purpose of Yopass is to minimize the amount of passwords floating around in ticket management systems, IRC logs and emails. YoPass generates a one-time URL with an expiration date so you don't have to worry about passwords being visible forever. The decryption key can also be transferred over SMS.
|
6
6
|
|
7
|
-
You can easily integrate
|
7
|
+
You can easily integrate Yopass into other systems using it's API and host it yourself. [yopass-cli](https://github.com/jhaals/yopass-cli) is a CLI tool for yopass.
|
8
8
|
|
9
9
|
__[Demo site available here](https://yopass.se)__
|
10
10
|
|
11
11
|
* AES-256 encryption
|
12
12
|
* Secrets can only be viewed once
|
13
13
|
* No secrets are written to disk
|
14
|
-
* No
|
14
|
+
* No accounts or user management required
|
15
15
|
* Secrets self destruct after X hours
|
16
16
|
* Rate limiting
|
17
17
|
* Decryption key can be sent over SMS
|
@@ -5,28 +5,37 @@
|
|
5
5
|
URL: <a href="{{short_url}}">{{short_url}}</a><br/>
|
6
6
|
Decryption Key: <b>{{decryption_key}}</b>
|
7
7
|
</div>
|
8
|
+
<div class="jumbotron">
|
8
9
|
<form>
|
9
10
|
<div class="alert alert-danger" role="alert" ng-show="error">{{error}}</div>
|
10
11
|
<div class="form-group">
|
11
|
-
<
|
12
|
-
|
12
|
+
<textarea class="form-control" rows="3" ng-model="secret.secret" placeholder="Secret message">
|
13
|
+
</textarea>
|
13
14
|
</div>
|
14
|
-
<
|
15
|
-
|
16
|
-
<div class="radio">
|
17
|
-
<label>
|
18
|
-
<input ng-checked="true" type="radio" ng-model="secret.lifetime" value="1h">1 hour
|
19
|
-
</label>
|
15
|
+
<div class="form-group" ng-click="toggleoptions()" ng-hide="options">
|
16
|
+
<span class="glyphicon glyphicon-triangle-bottom" aria-hidden="true"></span> Options
|
20
17
|
</div>
|
21
|
-
<div
|
22
|
-
<label>
|
23
|
-
|
24
|
-
|
18
|
+
<div ng-show="options">
|
19
|
+
<label>Lifetime</label>
|
20
|
+
<span class="help-block">Your secret will self destruct in...</span>
|
21
|
+
<div class="radio">
|
22
|
+
<label>
|
23
|
+
<input ng-checked="true" type="radio" ng-model="secret.lifetime" value="1h">1 hour
|
24
|
+
</label>
|
25
|
+
</div>
|
26
|
+
<div class="radio">
|
27
|
+
<label>
|
28
|
+
<input type="radio" ng-model="secret.lifetime" value="1d" checked>1 day
|
29
|
+
</label>
|
30
|
+
</div>
|
31
|
+
<div class="radio">
|
32
|
+
<label>
|
33
|
+
<input type="radio" ng-model="secret.lifetime" value="1w">1 week
|
34
|
+
</label>
|
35
|
+
</div>
|
25
36
|
</div>
|
26
|
-
<
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
<button type="submit" class="btn btn-primary" ng-click="save(secret)">Store Secret</button>
|
32
|
-
</form>
|
37
|
+
<button type="button" class="btn btn-primary btn-lg btn-block" ng-click="save(secret)">
|
38
|
+
Encrypt Message
|
39
|
+
</button>
|
40
|
+
</form>
|
41
|
+
</div>
|
@@ -0,0 +1,81 @@
|
|
1
|
+
/* Space out content a bit */
|
2
|
+
body {
|
3
|
+
padding-top: 20px;
|
4
|
+
padding-bottom: 20px;
|
5
|
+
}
|
6
|
+
|
7
|
+
/* Everything but the jumbotron gets side spacing for mobile first views */
|
8
|
+
.header,
|
9
|
+
.marketing,
|
10
|
+
.footer {
|
11
|
+
padding-right: 15px;
|
12
|
+
padding-left: 15px;
|
13
|
+
}
|
14
|
+
|
15
|
+
/* Custom page header */
|
16
|
+
.header {
|
17
|
+
border-bottom: 1px solid #e5e5e5;
|
18
|
+
}
|
19
|
+
/* Make the masthead heading the same height as the navigation */
|
20
|
+
.header h3 {
|
21
|
+
padding-bottom: 19px;
|
22
|
+
margin-top: 0;
|
23
|
+
margin-bottom: 0;
|
24
|
+
line-height: 40px;
|
25
|
+
}
|
26
|
+
|
27
|
+
/* Custom page footer */
|
28
|
+
.footer {
|
29
|
+
padding-top: 19px;
|
30
|
+
color: #777;
|
31
|
+
border-top: 1px solid #e5e5e5;
|
32
|
+
}
|
33
|
+
|
34
|
+
/* Customize container */
|
35
|
+
@media (min-width: 768px) {
|
36
|
+
.container {
|
37
|
+
max-width: 730px;
|
38
|
+
}
|
39
|
+
}
|
40
|
+
.container-narrow > hr {
|
41
|
+
margin: 30px 0;
|
42
|
+
}
|
43
|
+
|
44
|
+
/* Main marketing message and sign up button */
|
45
|
+
.jumbotron {
|
46
|
+
text-align: center;
|
47
|
+
border-bottom: 1px solid #e5e5e5;
|
48
|
+
}
|
49
|
+
.jumbotron .btn {
|
50
|
+
padding: 14px 24px;
|
51
|
+
font-size: 21px;
|
52
|
+
}
|
53
|
+
|
54
|
+
/* Supporting marketing content */
|
55
|
+
.marketing {
|
56
|
+
margin: 40px 0;
|
57
|
+
}
|
58
|
+
.marketing p + h4 {
|
59
|
+
margin-top: 28px;
|
60
|
+
}
|
61
|
+
|
62
|
+
/* Responsive: Portrait tablets and up */
|
63
|
+
@media screen and (min-width: 768px) {
|
64
|
+
/* Remove the padding we set earlier */
|
65
|
+
.header,
|
66
|
+
.marketing,
|
67
|
+
.footer {
|
68
|
+
padding-right: 0;
|
69
|
+
padding-left: 0;
|
70
|
+
}
|
71
|
+
/* Space out the masthead */
|
72
|
+
.header {
|
73
|
+
margin-bottom: 30px;
|
74
|
+
}
|
75
|
+
/* Remove the bottom border on the jumbotron for visual effect */
|
76
|
+
.jumbotron {
|
77
|
+
border-bottom: 0;
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
#carbonads-container {display:none} h1[id] {padding-top:0px; margin-top:20px} .zero-clipboard {display:none !important} .bs-old-docs {display:none} .bs-social {display:none} .bs-sidebar {display:none !important} .col-md-9[role=main] {width:100% !important} .navbar-fixed-top {position:absolute !important}
|
@@ -1,7 +1,7 @@
|
|
1
|
-
<div ng-show="invalidPassword">
|
2
|
-
|
1
|
+
<div class="alert alert-danger" ng-show="invalidPassword">
|
2
|
+
Invalid Decryption Key
|
3
3
|
</div>
|
4
|
-
<div ng-show="
|
4
|
+
<div ng-show="errorMessage">
|
5
5
|
<h3>Secret does not exist</h3>
|
6
6
|
<p>It might be caused by <b>any</b> of these reasons</p>
|
7
7
|
<h5><span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span> Opened Before</h5>
|
@@ -23,12 +23,14 @@ This secret will not be viewable again, save it!
|
|
23
23
|
</div>
|
24
24
|
|
25
25
|
<div ng-show="display_form">
|
26
|
+
<div class="jumbotron">
|
26
27
|
<form novalidate ng-hide="secret">
|
27
28
|
A decryption key is required to view this secret, please enter it below
|
28
29
|
<div class="form-group">
|
29
30
|
<label>Decryption Key</label>
|
30
31
|
<input class="form-control" ng-model="form.decryption_key"></input>
|
31
32
|
</div>
|
32
|
-
<button type="submit" class="btn btn-primary" ng-click="view(form)">Decrypt</button>
|
33
|
+
<button type="submit" class="btn btn-primary" ng-click="view(form)">Decrypt Message</button>
|
33
34
|
</form>
|
35
|
+
</div>
|
34
36
|
</div>
|
data/lib/public/index.html
CHANGED
@@ -3,49 +3,59 @@
|
|
3
3
|
<head>
|
4
4
|
<title>Yopass - Share Secrets Securely</title>
|
5
5
|
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css" />
|
6
|
+
<link rel="stylesheet" type="text/css" href="css/style.css" />
|
6
7
|
<link rel="icon" type="image/png" href="img/favicon.png" />
|
7
8
|
<script type="text/javascript" src="js/angular.js"></script>
|
8
9
|
<script type="text/javascript" src="js/angular-route.min.js"></script>
|
9
10
|
<script type="text/javascript" src="js/app.js"></script>
|
10
11
|
</head>
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
<
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
<p>Your secret will be deleted automatically after three failed decryption attempts</p>
|
38
|
-
<h5><span class="glyphicon glyphicon-cutlery" aria-hidden="true"></span> Open Source</h5>
|
39
|
-
<p>Yopass is an Open Source project meaning full transparency and the possibility to submit features, fix bugs or run the software yourself</p>
|
40
|
-
</div>
|
12
|
+
<body ng-controller="createController">
|
13
|
+
<div class="container">
|
14
|
+
<div class="header">
|
15
|
+
<nav>
|
16
|
+
<ul class="nav nav-pills pull-right">
|
17
|
+
</ul>
|
18
|
+
</nav>
|
19
|
+
<h3 class="text-muted"><a href="#/create">Yopass</a> <small>Share Secrets Securely</small></h3>
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div ng-view>
|
23
|
+
</div>
|
24
|
+
|
25
|
+
<div class="row marketing">
|
26
|
+
<div class="col-lg-6">
|
27
|
+
<h4><span class="glyphicon glyphicon-floppy-remove" aria-hidden="true"></span> In memory storage</h4>
|
28
|
+
<p>The encrypted message is never stored on disk leaving no traces of your data</p>
|
29
|
+
|
30
|
+
<h4><span class="glyphicon glyphicon-time" aria-hidden="true"></span> Self destruction</h4>
|
31
|
+
<p>All messages have a fixed time to live and will be deleted automatically after expiration</p>
|
32
|
+
|
33
|
+
<h4><span class="glyphicon glyphicon-eye-open" aria-hidden="true"></span> Visible Once</h4>
|
34
|
+
<p>The decrypted message can only be viewed once before automatic deletion</p>
|
35
|
+
|
36
|
+
<h4><span class="glyphicon glyphicon-cog" aria-hidden="true"></span> API</h4>
|
37
|
+
<p>This site is just a frontend to the Yopass <a href="https://github.com/jhaals/yopass">API</a>, use it to extend other applications. A CLI tool is also available <a href="https://github.com/jhaals/yopass-cli">here</a></p>
|
41
38
|
</div>
|
42
|
-
|
43
|
-
|
44
|
-
<
|
45
|
-
|
46
|
-
|
47
|
-
<
|
39
|
+
|
40
|
+
<div class="col-lg-6">
|
41
|
+
<h4><span class="glyphicon glyphicon-lock" aria-hidden="true"></span> AES-256 Encryption</h4>
|
42
|
+
<p>Strong encryption method with no copies of the decryption key</p>
|
43
|
+
|
44
|
+
<h4><span class="glyphicon glyphicon-repeat" aria-hidden="true"></span> No caching</h4>
|
45
|
+
<p>Caching headers are disabled</p>
|
46
|
+
|
47
|
+
<h4><span class="glyphicon glyphicon-fire" aria-hidden="true"></span> Rate limiting</h4>
|
48
|
+
<p>Built in rate limiting preventing brute force attacks</p>
|
49
|
+
|
50
|
+
<h4><span class="glyphicon glyphicon-cutlery" aria-hidden="true"></span> Open Source</h4>
|
51
|
+
<p>Yopass is an Open Source project meaning full transparency and the possibility to submit features, fix bugs or run the software yourself</p>
|
48
52
|
</div>
|
49
53
|
</div>
|
50
|
-
|
54
|
+
|
55
|
+
<footer class="footer">
|
56
|
+
<p>Yopass is created by <a href="https://github.com/jhaals">Johan Haals</a></p>
|
57
|
+
</footer>
|
58
|
+
|
59
|
+
</div> <!-- /container -->
|
60
|
+
</body>
|
51
61
|
</html>
|
data/lib/public/js/app.js
CHANGED
@@ -2,6 +2,9 @@ var app;
|
|
2
2
|
var app = angular.module('yopass', ['ngRoute']);
|
3
3
|
|
4
4
|
app.controller('createController', function($scope, $http, $location) {
|
5
|
+
$scope.toggleoptions = function() {
|
6
|
+
$scope.options = true;
|
7
|
+
}
|
5
8
|
$scope.save = function(s) {
|
6
9
|
$http.post('/v1/secret', {secret: s.secret, lifetime: s.lifetime})
|
7
10
|
.success(function(data, status, headers, config) {
|
@@ -22,7 +25,7 @@ app.controller('ViewController', function($scope, $routeParams, $http) {
|
|
22
25
|
function getSecret($key, $decryption_key) {
|
23
26
|
$http.get('/v1/secret/'+$routeParams.key+'/'+$decryption_key)
|
24
27
|
.success(function(data, status, headers, config) {
|
25
|
-
$scope.
|
28
|
+
$scope.errorMessage = false;
|
26
29
|
$scope.invalidPassword = false;
|
27
30
|
$scope.secret = data.secret;
|
28
31
|
})
|
@@ -32,7 +35,8 @@ app.controller('ViewController', function($scope, $routeParams, $http) {
|
|
32
35
|
return;
|
33
36
|
}
|
34
37
|
$scope.invalidPassword = false;
|
35
|
-
$scope.
|
38
|
+
$scope.errorMessage = true;
|
39
|
+
$scope.display_form = false;
|
36
40
|
});
|
37
41
|
};
|
38
42
|
if ($routeParams.decryption_key) {
|
data/{.gemspec → yopass.gemspec}
RENAMED
metadata
CHANGED
@@ -1,117 +1,117 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yopass
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Johan Haals
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: encryptor
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '1.3'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.3'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: memcached
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '1.8'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.8'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rack
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ! '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.5.0
|
48
|
-
- -
|
48
|
+
- - <
|
49
49
|
- !ruby/object:Gem::Version
|
50
50
|
version: '1.6'
|
51
51
|
type: :runtime
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
|
-
- -
|
55
|
+
- - ! '>='
|
56
56
|
- !ruby/object:Gem::Version
|
57
57
|
version: 1.5.0
|
58
|
-
- -
|
58
|
+
- - <
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '1.6'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: sinatra
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- -
|
65
|
+
- - ~>
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '1.4'
|
68
68
|
type: :runtime
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ~>
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '1.4'
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: sinatra-contrib
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
78
78
|
requirements:
|
79
|
-
- -
|
79
|
+
- - ~>
|
80
80
|
- !ruby/object:Gem::Version
|
81
81
|
version: '1.4'
|
82
82
|
type: :runtime
|
83
83
|
prerelease: false
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
85
85
|
requirements:
|
86
|
-
- -
|
86
|
+
- - ~>
|
87
87
|
- !ruby/object:Gem::Version
|
88
88
|
version: '1.4'
|
89
89
|
- !ruby/object:Gem::Dependency
|
90
90
|
name: rake
|
91
91
|
requirement: !ruby/object:Gem::Requirement
|
92
92
|
requirements:
|
93
|
-
- -
|
93
|
+
- - ~>
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '10.4'
|
96
96
|
type: :development
|
97
97
|
prerelease: false
|
98
98
|
version_requirements: !ruby/object:Gem::Requirement
|
99
99
|
requirements:
|
100
|
-
- -
|
100
|
+
- - ~>
|
101
101
|
- !ruby/object:Gem::Version
|
102
102
|
version: '10.4'
|
103
103
|
- !ruby/object:Gem::Dependency
|
104
104
|
name: rspec
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - ~>
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '3.0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
|
-
- -
|
114
|
+
- - ~>
|
115
115
|
- !ruby/object:Gem::Version
|
116
116
|
version: '3.0'
|
117
117
|
description: Web service for sharing secrets more securely
|
@@ -120,9 +120,8 @@ executables: []
|
|
120
120
|
extensions: []
|
121
121
|
extra_rdoc_files: []
|
122
122
|
files:
|
123
|
-
-
|
124
|
-
-
|
125
|
-
- ".travis.yml"
|
123
|
+
- .gitignore
|
124
|
+
- .travis.yml
|
126
125
|
- Dockerfile
|
127
126
|
- Gemfile
|
128
127
|
- LICENSE
|
@@ -131,6 +130,7 @@ files:
|
|
131
130
|
- config.ru
|
132
131
|
- lib/public/create-secret.html
|
133
132
|
- lib/public/css/bootstrap.min.css
|
133
|
+
- lib/public/css/style.css
|
134
134
|
- lib/public/display-secret.html
|
135
135
|
- lib/public/fonts/glyphicons-halflings-regular.eot
|
136
136
|
- lib/public/fonts/glyphicons-halflings-regular.svg
|
@@ -149,6 +149,7 @@ files:
|
|
149
149
|
- spec/sms_provder_spec.rb
|
150
150
|
- spec/spec_helper.rb
|
151
151
|
- spec/yopass_spec.rb
|
152
|
+
- yopass.gemspec
|
152
153
|
homepage: https://github.com/jhaals/yopass
|
153
154
|
licenses:
|
154
155
|
- Apache 2.0
|
@@ -159,21 +160,18 @@ require_paths:
|
|
159
160
|
- lib
|
160
161
|
required_ruby_version: !ruby/object:Gem::Requirement
|
161
162
|
requirements:
|
162
|
-
- -
|
163
|
+
- - ! '>='
|
163
164
|
- !ruby/object:Gem::Version
|
164
165
|
version: 1.9.3
|
165
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
166
167
|
requirements:
|
167
|
-
- -
|
168
|
+
- - ! '>='
|
168
169
|
- !ruby/object:Gem::Version
|
169
170
|
version: '0'
|
170
171
|
requirements: []
|
171
172
|
rubyforge_project:
|
172
|
-
rubygems_version: 2.
|
173
|
+
rubygems_version: 2.4.5
|
173
174
|
signing_key:
|
174
175
|
specification_version: 4
|
175
176
|
summary: Secure sharing for secrets and passwords
|
176
|
-
test_files:
|
177
|
-
- spec/bulksms_spec.rb
|
178
|
-
- spec/sms_provder_spec.rb
|
179
|
-
- spec/yopass_spec.rb
|
177
|
+
test_files: []
|