lockr 0.4.5 → 0.5.0

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