lockr 0.4.5 → 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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/bin/httplockr.rb +64 -0
  3. data/lib/lockr.rb +0 -4
  4. data/lib/lockr/action/add.rb +7 -14
  5. data/lib/lockr/action/base.rb +3 -24
  6. data/lib/lockr/action/list.rb +7 -8
  7. data/lib/lockr/action/remove.rb +7 -16
  8. data/lib/lockr/action/show.rb +6 -6
  9. data/lib/lockr/fileutils.rb +31 -8
  10. data/lib/lockr/http/httplockrinit.rb +79 -0
  11. data/lib/lockr/pwdmgr.rb +126 -0
  12. data/lib/lockr/sftp.rb +1 -1
  13. data/lib/lockr/version.rb +2 -2
  14. data/resources/static/css/images/animated-overlay.gif +0 -0
  15. data/resources/static/css/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png +0 -0
  16. data/resources/static/css/images/ui-bg_flat_15_cd0a0a_40x100.png +0 -0
  17. data/resources/static/css/images/ui-bg_glass_100_e4f1fb_1x400.png +0 -0
  18. data/resources/static/css/images/ui-bg_glass_50_3baae3_1x400.png +0 -0
  19. data/resources/static/css/images/ui-bg_glass_80_d7ebf9_1x400.png +0 -0
  20. data/resources/static/css/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png +0 -0
  21. data/resources/static/css/images/ui-bg_highlight-hard_70_000000_1x100.png +0 -0
  22. data/resources/static/css/images/ui-bg_highlight-soft_100_deedf7_1x100.png +0 -0
  23. data/resources/static/css/images/ui-bg_highlight-soft_25_ffef8f_1x100.png +0 -0
  24. data/resources/static/css/images/ui-icons_2694e8_256x240.png +0 -0
  25. data/resources/static/css/images/ui-icons_2e83ff_256x240.png +0 -0
  26. data/resources/static/css/images/ui-icons_3d80b3_256x240.png +0 -0
  27. data/resources/static/css/images/ui-icons_72a7cf_256x240.png +0 -0
  28. data/resources/static/css/images/ui-icons_ffffff_256x240.png +0 -0
  29. data/resources/static/css/jquery-ui-1.10.3.custom.min.css +7 -0
  30. data/resources/static/css/jquery.dataTables.css +221 -0
  31. data/resources/static/css/lockr.css +66 -0
  32. data/resources/static/js/jquery-2.0.0.min.js +6 -0
  33. data/resources/static/js/jquery-ui-1.10.3.custom.min.js +7 -0
  34. data/resources/static/js/jquery.dataTables.min.js +155 -0
  35. data/resources/static/js/lockr.js +95 -0
  36. data/resources/views/addnewsite.erb +12 -0
  37. data/resources/views/changepwd.erb +15 -0
  38. data/resources/views/deletepwd.erb +13 -0
  39. data/resources/views/entryrow.erb +15 -0
  40. data/resources/views/index.erb +44 -0
  41. data/resources/views/layout.erb +19 -0
  42. metadata +113 -9
  43. data/lib/lockr/action/aes.rb +0 -5
@@ -0,0 +1,95 @@
1
+ $(document).ready(function() {
2
+ $('.entrytable').dataTable({
3
+ "bJQueryUI": true,
4
+ "bPaginate": false,
5
+ "aoColumns": [
6
+ { "sWidth": "25%" },
7
+ { "sWidth": "25%" },
8
+ { "sWidth": "50%" }
9
+ ]
10
+ });
11
+
12
+ $( "a.button" ).button();
13
+
14
+ $( "a#addnew").click( function() {
15
+ $( "#dialog-addnewsite" ).dialog( "open" );
16
+ });
17
+
18
+ $( "#dialog-addnewsite" ).dialog({
19
+ autoOpen: false,
20
+ height: 400,
21
+ width: 400,
22
+ modal: true,
23
+ buttons: {
24
+ "Save": function() {
25
+ $( "form#form-add").submit();
26
+ },
27
+ "Cancel": function() {
28
+ $( this ).dialog( "close" );
29
+ }
30
+ },
31
+ close: function() {
32
+ // clean all fields
33
+ $("dialog-addnewsite input").each().val( "" ).removeClass( "ui-state-error" );
34
+ }
35
+ });
36
+
37
+ $( "a#changepwd").click( function() {
38
+ var id = $( this).siblings( ".id").get(0).value;
39
+ var username = $( this).siblings( ".username").get(0).value;
40
+ $("#dialog-changepwd #id").attr('value', id);
41
+ $("#dialog-changepwd #id_label").html( id);
42
+ $("#dialog-changepwd #username").attr('value', username);
43
+ $("#dialog-changepwd #username_label").html( username);
44
+ $("#dialog-changepwd" ).dialog( "open" );
45
+ });
46
+
47
+ $( "#dialog-changepwd" ).dialog({
48
+ autoOpen: false,
49
+ height: 400,
50
+ width: 400,
51
+ modal: true,
52
+ buttons: {
53
+ "Change": function() {
54
+ $( "form#form-change").submit();
55
+ },
56
+ "Cancel": function() {
57
+ $( this ).dialog( "close" );
58
+ }
59
+ },
60
+ close: function() {
61
+ // clean all fields
62
+ $("dialog-changepwd input").each().val( "" ).removeClass( "ui-state-error" );
63
+ }
64
+ });
65
+
66
+ $( "a#deletepwd").click( function() {
67
+ var id = $( this).siblings( ".id").get(0).value;
68
+ var username = $( this).siblings( ".username").get(0).value;
69
+ $("#dialog-deletepwd #id").attr('value', id);
70
+ $("#dialog-deletepwd #id_label").html( id);
71
+ $("#dialog-deletepwd #username").attr('value', username);
72
+ $("#dialog-deletepwd #username_label").html( username);
73
+ $("#dialog-deletepwd" ).dialog( "open" );
74
+ });
75
+
76
+ $( "#dialog-deletepwd" ).dialog({
77
+ autoOpen: false,
78
+ height: 400,
79
+ width: 400,
80
+ modal: true,
81
+ buttons: {
82
+ "Delete": function() {
83
+ $( "form#form-delete").submit();
84
+ },
85
+ "Cancel": function() {
86
+ $( this ).dialog( "close" );
87
+ }
88
+ },
89
+ close: function() {
90
+ // clean all fields
91
+ $("dialog-deletepwd input").each().val( "" ).removeClass( "ui-state-error" );
92
+ }
93
+ });
94
+
95
+ });
@@ -0,0 +1,12 @@
1
+ <div id="dialog-addnewsite" title="Add new site" class="dialog">
2
+ <form id="form-add" action="/password" method="post">
3
+ <fieldset>
4
+ <label for="name">Site-ID</label>
5
+ <input type="text" name="id" id="id" class="text ui-widget-content ui-corner-all" />
6
+ <label for="username">Username</label>
7
+ <input type="text" name="username" id="username" class="text ui-widget-content ui-corner-all" />
8
+ <label for="password">Password</label>
9
+ <input type="password" name="password" id="password" class="text ui-widget-content ui-corner-all" />
10
+ </fieldset>
11
+ </form>
12
+ </div>
@@ -0,0 +1,15 @@
1
+ <div id="dialog-changepwd" title="Change password" class="dialog">
2
+ <form id="form-change" action="/password" method="post">
3
+ <input type="hidden" name="_method" value="PATCH"/>
4
+ <input type="hidden" name="id" id="id"/>
5
+ <input type="hidden" name="username" id="username"/>
6
+ <fieldset>
7
+ <label for="name">Site-ID</label>
8
+ <label class="labelfield ui-widget-content ui-corner-all"><span id="id_label"></span></label>
9
+ <label for="username">Username</label>
10
+ <label class="labelfield ui-widget-content ui-corner-all"><span id="username_label"></span></label>
11
+ <label for="password">Password</label>
12
+ <input type="password" name="password" id="password" class="text ui-widget-content ui-corner-all" />
13
+ </fieldset>
14
+ </form>
15
+ </div>
@@ -0,0 +1,13 @@
1
+ <div id="dialog-deletepwd" title="Delete password" class="dialog">
2
+ <form id="form-delete" action="/password" method="post">
3
+ <input type="hidden" name="_method" value="DELETE"/>
4
+ <input type="hidden" name="id" id="id"/>
5
+ <input type="hidden" name="username" id="username"/>
6
+ <fieldset>
7
+ <label for="name">Site-ID</label>
8
+ <label class="labelfield ui-widget-content ui-corner-all"><span id="id_label"></span></label>
9
+ <label for="username">Username</label>
10
+ <label class="labelfield ui-widget-content ui-corner-all"><span id="username_label"></span></label>
11
+ </fieldset>
12
+ </form>
13
+ </div>
@@ -0,0 +1,15 @@
1
+ <tr>
2
+ <td>
3
+ <%= store.id %>
4
+ </td>
5
+ <td>
6
+ <%= store.username %>
7
+ </td>
8
+ <td>
9
+ <input type="hidden" class="id" value="<%= store.id %>"/>
10
+ <input type="hidden" class="username" value="<%= store.username %>"/>
11
+ <a href="/password?id=<%= u(store.id) %>&amp;username=<%= u(store.username) %>" class="button">Copy</a>
12
+ <a id="changepwd" class="button">Change</a>
13
+ <a id="deletepwd" class="button">Delete</a>
14
+ </td>
15
+ </tr>
@@ -0,0 +1,44 @@
1
+ <h1>Lockr password manager</h1>
2
+
3
+ <div class="spacebelow">
4
+ <a id="addnew" class="button">Add new site</a>
5
+ </div>
6
+ <div class="entries">
7
+ <table class="entrytable">
8
+ <thead>
9
+ <th>
10
+ Site ID
11
+ </th>
12
+ <th>
13
+ Username
14
+ </th>
15
+ <th>
16
+ Password functions
17
+ </th>
18
+ </thead>
19
+ <tbody>
20
+ <% for entry in directory.keys() %>
21
+ <% if directory[entry] %>
22
+ <% for store in directory[entry].values() %>
23
+ <%= erb :entryrow, :locals => { :store => store } %>
24
+ <% end %>
25
+ <% else %>
26
+ <tr>
27
+ <td>
28
+ <%= entry %>
29
+ </td>
30
+ <td>
31
+ Unable to decrypt
32
+ </td>
33
+ <td>
34
+ &nbsp;
35
+ </td>
36
+ <% end%>
37
+ <% end %>
38
+ </tbody>
39
+ </table>
40
+
41
+ <%= erb(:addnewsite, :layout => false) %>
42
+ <%= erb(:changepwd, :layout => false) %>
43
+ <%= erb(:deletepwd, :layout => false) %>
44
+ </div>
@@ -0,0 +1,19 @@
1
+ <html>
2
+ <head>
3
+ <title> Lockr password management </title>
4
+ <link href="/css/jquery-ui-1.10.3.custom.min.css" media="all" rel="stylesheet" type="text/css">
5
+ <link href='http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
6
+ <link href='/css/lockr.css' rel='stylesheet' type='text/css'>
7
+ <script src="/js/jquery-2.0.0.min.js" type="text/javascript"></script>
8
+ <script src="/js/jquery-ui-1.10.3.custom.min.js" type="text/javascript"></script>
9
+ <script src="/js/lockr.js" type="text/javascript"></script>
10
+ <script src="/js/jquery.dataTables.min.js" type="text/javascript"></script>
11
+ </head>
12
+ <body>
13
+ <div class="center">
14
+ <div class="content">
15
+ <%= yield %>
16
+ </div>
17
+ </div>
18
+ </body>
19
+ </html>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lockr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marc Doerflinger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-02 00:00:00.000000000 Z
11
+ date: 2013-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
@@ -52,29 +52,133 @@ dependencies:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: 2.0.5
55
- description: Lockr is a command line based password manager. Passwords are stored
56
- AES-encrypted in a file on your own system.
55
+ - !ruby/object:Gem::Dependency
56
+ name: sinatra
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.4.4
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 1.4.4
69
+ - !ruby/object:Gem::Dependency
70
+ name: clipboard
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 1.0.5
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 1.0.5
83
+ - !ruby/object:Gem::Dependency
84
+ name: rufus-scheduler
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 3.0.2
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 3.0.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: padrino-helpers
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 0.11.4
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ~>
109
+ - !ruby/object:Gem::Version
110
+ version: 0.11.4
111
+ - !ruby/object:Gem::Dependency
112
+ name: browser_gui
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ~>
116
+ - !ruby/object:Gem::Version
117
+ version: 0.1.0
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ~>
123
+ - !ruby/object:Gem::Version
124
+ version: 0.1.0
125
+ description: "Lockr is a password manager that features a local web interface \n (no
126
+ cloud, all on your local machine) as well as command line function \n to
127
+ manage your passwords. Passwords are stored AES-encrypted in a file \n on
128
+ your own system and can (if you want) be uploaded to your own \n 'cloud'
129
+ via ssh."
57
130
  email: info@byteblues.com
58
131
  executables:
59
132
  - lockr
133
+ - httplockr.rb
60
134
  extensions: []
61
135
  extra_rdoc_files: []
62
136
  files:
63
- - lib/lockr.rb
137
+ - bin/httplockr.rb
138
+ - bin/lockr
64
139
  - lib/lockr/action/add.rb
65
- - lib/lockr/action/aes.rb
66
140
  - lib/lockr/action/base.rb
67
141
  - lib/lockr/action/list.rb
68
142
  - lib/lockr/action/remove.rb
69
143
  - lib/lockr/action/show.rb
70
- - lib/lockr/encryption/aes.rb
71
144
  - lib/lockr/config.rb
145
+ - lib/lockr/encryption/aes.rb
72
146
  - lib/lockr/fileutils.rb
147
+ - lib/lockr/http/httplockrinit.rb
73
148
  - lib/lockr/pwdgen.rb
149
+ - lib/lockr/pwdmgr.rb
74
150
  - lib/lockr/pwdstore.rb
75
151
  - lib/lockr/sftp.rb
76
152
  - lib/lockr/version.rb
77
- - bin/lockr
153
+ - lib/lockr.rb
154
+ - resources/static/css/images/animated-overlay.gif
155
+ - resources/static/css/images/ui-bg_diagonals-thick_90_eeeeee_40x40.png
156
+ - resources/static/css/images/ui-bg_flat_15_cd0a0a_40x100.png
157
+ - resources/static/css/images/ui-bg_glass_100_e4f1fb_1x400.png
158
+ - resources/static/css/images/ui-bg_glass_50_3baae3_1x400.png
159
+ - resources/static/css/images/ui-bg_glass_80_d7ebf9_1x400.png
160
+ - resources/static/css/images/ui-bg_highlight-hard_100_f2f5f7_1x100.png
161
+ - resources/static/css/images/ui-bg_highlight-hard_70_000000_1x100.png
162
+ - resources/static/css/images/ui-bg_highlight-soft_100_deedf7_1x100.png
163
+ - resources/static/css/images/ui-bg_highlight-soft_25_ffef8f_1x100.png
164
+ - resources/static/css/images/ui-icons_2694e8_256x240.png
165
+ - resources/static/css/images/ui-icons_2e83ff_256x240.png
166
+ - resources/static/css/images/ui-icons_3d80b3_256x240.png
167
+ - resources/static/css/images/ui-icons_72a7cf_256x240.png
168
+ - resources/static/css/images/ui-icons_ffffff_256x240.png
169
+ - resources/static/css/jquery-ui-1.10.3.custom.min.css
170
+ - resources/static/css/jquery.dataTables.css
171
+ - resources/static/css/lockr.css
172
+ - resources/static/js/jquery-2.0.0.min.js
173
+ - resources/static/js/jquery-ui-1.10.3.custom.min.js
174
+ - resources/static/js/jquery.dataTables.min.js
175
+ - resources/static/js/lockr.js
176
+ - resources/views/addnewsite.erb
177
+ - resources/views/changepwd.erb
178
+ - resources/views/deletepwd.erb
179
+ - resources/views/entryrow.erb
180
+ - resources/views/index.erb
181
+ - resources/views/layout.erb
78
182
  homepage: http://lockr.byteblues.com/
79
183
  licenses: []
80
184
  metadata: {}
@@ -97,5 +201,5 @@ rubyforge_project:
97
201
  rubygems_version: 2.0.3
98
202
  signing_key:
99
203
  specification_version: 4
100
- summary: Command line based password manager
204
+ summary: Password manager with local web interface and command line tools
101
205
  test_files: []
@@ -1,5 +0,0 @@
1
- require 'lockr/action/base'
2
-
3
- class AesAction < BaseAction
4
- include Aes
5
- end