cifrado 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CHANGELOG.md +18 -0
- data/README.md +31 -2
- data/TODO.md +4 -2
- data/lib/cifrado/cli.rb +12 -1
- data/lib/cifrado/cli/setup.rb +3 -1
- data/lib/cifrado/streaming_uploader.rb +0 -14
- data/lib/cifrado/version.rb +1 -1
- data/tests/cli/upload_multi_tests.rb +1 -1
- data/tests/cli/upload_tests.rb +1 -1
- metadata +47 -73
- metadata.gz.sig +0 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8a5a0c02f4d962d3ae89d56e154d44c16dab7348
|
4
|
+
data.tar.gz: 691d6fe9a5b52577dcb7050d90a82acea095423d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: dfe0187897d4e05c9af29dbffb9db76631e331872fdcf42a1f6df466ca63652e0406c3cadcad1f30e360be0ee620d8955cf55e953fc71d658e5cb674deb5e0d1
|
7
|
+
data.tar.gz: c8a0fbe0bc4c26734f99513c66256202235dd45a8bd3081e3ca7d1ac8100cc1071d81ce1ecf7c7f3455c219ab73f78c11087a777600206fc9d6f62daebc2ab4a
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,21 @@
|
|
1
|
+
# Cifrado 0.1.2 - Mon 04 Mar 2013
|
2
|
+
|
3
|
+
* Added Rackspace Cloud Files support
|
4
|
+
To use Rackspace Cloud Files, run 'setup' and provide the following
|
5
|
+
details when asked:
|
6
|
+
|
7
|
+
username: <your Rackspace username>
|
8
|
+
password: <your Rackspace password> # NOT THE API KEY!
|
9
|
+
|
10
|
+
For US accounts, the auth URL is:
|
11
|
+
|
12
|
+
https://identity.api.rackspacecloud.com/v2.0/tokens
|
13
|
+
|
14
|
+
For UK accounts:
|
15
|
+
|
16
|
+
https://lon.identity.api.rackspacecloud.com/v2.0/tokens
|
17
|
+
|
18
|
+
|
1
19
|
# Cifrado 0.1.1 - Sun 03 Mar 2013
|
2
20
|
|
3
21
|
* saio command improvements
|
data/README.md
CHANGED
@@ -6,7 +6,13 @@ The current Cifrado release is experimental. Use at your own risk.
|
|
6
6
|
|
7
7
|
OpenStack Swift CLI with built in (GPG) encryption.
|
8
8
|
|
9
|
-
|
9
|
+
There's an **ongoing** effort to document Cifrado in the Wiki. Additional details such as
|
10
|
+
documentation to bootstrap your own Swift All-In-One server with Cifrado and the demo
|
11
|
+
server available are documented there.
|
12
|
+
|
13
|
+
See [Cifrado Demo Server](https://github.com/rubiojr/cifrado/wiki/Cifrado-Demo-Server) and [Cifrado SAIO Bootstrap](https://github.com/rubiojr/cifrado/wiki/Cifrado-SAIO-bootstrap).
|
14
|
+
|
15
|
+
## Features available in Cifrado 0.1.2
|
10
16
|
|
11
17
|
* Uploading/downloading files and directories to/from OpenStack Swift.
|
12
18
|
* Regular list/delete/stat commands to manipulate objects and containers.
|
@@ -23,6 +29,7 @@ OpenStack Swift CLI with built in (GPG) encryption.
|
|
23
29
|
* Video streaming (streams video files available in a container).
|
24
30
|
* Bootstrap a Swift All-In-One server in a cloud provider
|
25
31
|
(DigitalOcean is the only one supported ATM).
|
32
|
+
* Rackspace Cloud Files support (documentation available in the wiki).
|
26
33
|
* Ruby 1.8.7, 1.9.X and 2.0 compatibility.
|
27
34
|
|
28
35
|
Cifrado has a built-in help command:
|
@@ -68,7 +75,7 @@ To add the PPA and install the packages, open a terminal and type:
|
|
68
75
|
```
|
69
76
|
sudo add-apt-repository ppa:rubiojr/cifrado
|
70
77
|
sudo apt-get update
|
71
|
-
sudo apt-get install cifrado
|
78
|
+
sudo apt-get install cifrado mplayer --no-install-recommends
|
72
79
|
```
|
73
80
|
|
74
81
|
You'll also need GnuPG and MPlayer installed if you want to have
|
@@ -178,6 +185,28 @@ test container, download it like any other regular object.
|
|
178
185
|
|
179
186
|
#### Downloading files
|
180
187
|
|
188
|
+
Downloading a file
|
189
|
+
|
190
|
+
```
|
191
|
+
$ cifrado download my-container my-object
|
192
|
+
```
|
193
|
+
|
194
|
+
Will download my-object from my-container to the current directory.
|
195
|
+
If you want to download the file to another directory:
|
196
|
+
|
197
|
+
```
|
198
|
+
$ cifrado download my-container my-object --output /tmp
|
199
|
+
```
|
200
|
+
|
201
|
+
You can also download all the files available in a container:
|
202
|
+
|
203
|
+
```
|
204
|
+
$cifrado download my-container --output /tmp/mycontainer
|
205
|
+
```
|
206
|
+
|
207
|
+
This will download all the files in 'my-container' container
|
208
|
+
to /tmp/mycontainer.
|
209
|
+
|
181
210
|
#### Encryption support
|
182
211
|
|
183
212
|
**Symmetric Encryption**
|
data/TODO.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
* Cifrado::CLI needs heavy refactoring
|
2
|
-
* Graceful exits (i.e. when hitting Ctrl-C)
|
3
2
|
* Uploads with progressbar are very inefficient under ruby 1.8
|
4
3
|
(1.9 is slightly better)
|
5
4
|
* High CPU utilisation when uplading at high speed
|
6
|
-
*
|
5
|
+
* Object/Container copy: https://answers.launchpad.net/swift/+question/154210
|
6
|
+
* Additional providers for cifrado saio (OpenStack, Rackspace)
|
7
|
+
* Rackspace, Dreamhost Objects, HP support
|
8
|
+
* Plugin API, pluggin support
|
data/lib/cifrado/cli.rb
CHANGED
@@ -80,13 +80,24 @@ module Cifrado
|
|
80
80
|
config[:tenant] = options[:tenant] || config[:tenant]
|
81
81
|
config[:region] = options[:region] || config[:region]
|
82
82
|
config[:secure_random] = config[:secure_random]
|
83
|
-
[:username, :password, :auth_url
|
83
|
+
[:username, :password, :auth_url].each do |opt|
|
84
84
|
if config[opt].nil?
|
85
85
|
Log.error "#{opt.to_s.capitalize} not provided."
|
86
86
|
Log.error "Use --#{opt.to_s.gsub('_', '-')} option or run 'cifrado setup' first."
|
87
87
|
raise "Missing setting"
|
88
88
|
end
|
89
89
|
end
|
90
|
+
|
91
|
+
if (config[:auth_url] !~ /rackspacecloud\.com/) and config[:tenant].nil?
|
92
|
+
Log.error "tenant not provided."
|
93
|
+
Log.error "Use --tenant option or run 'cifrado setup' first."
|
94
|
+
raise "Missing tenant"
|
95
|
+
else
|
96
|
+
# Make sure tenant is nil for Rackspace
|
97
|
+
# otherwise we get a service catalog without cloudFiles endpoints
|
98
|
+
config[:tenant] = nil
|
99
|
+
end
|
100
|
+
|
90
101
|
unless config[:secure_random]
|
91
102
|
raise Exception.new("secure_random key not found in #{config_file}")
|
92
103
|
end
|
data/lib/cifrado/cli/setup.rb
CHANGED
@@ -27,12 +27,14 @@ module Cifrado
|
|
27
27
|
puts "The settings (password included) are saved unencrypted."
|
28
28
|
puts
|
29
29
|
config[:username] = ask(set_color('Username:', :bold))
|
30
|
-
config[:tenant] = ask(set_color('Tenant:', :bold))
|
31
30
|
system 'stty -echo'
|
32
31
|
config[:password] = ask(set_color 'Password:', :bold)
|
33
32
|
system 'stty echo'
|
34
33
|
puts
|
35
34
|
config[:auth_url] = ask(set_color 'Auth URL:', :bold)
|
35
|
+
if config[:auth_url] !~ /rackspacecloud\.com/
|
36
|
+
config[:tenant] = ask(set_color('Tenant:', :bold))
|
37
|
+
end
|
36
38
|
|
37
39
|
if !config[:secure_random]
|
38
40
|
# shit happens
|
@@ -1,19 +1,5 @@
|
|
1
1
|
module Cifrado
|
2
2
|
|
3
|
-
# StreamingUploader Adapted by Sergio Rubio <rubiojr@frameos.org>
|
4
|
-
#
|
5
|
-
# inspired by Opscode Chef StreamingCookbookUploader chef/streaming_cookbook_uploader.rb
|
6
|
-
# http://opscode.com
|
7
|
-
#
|
8
|
-
# inspired by/cargo-culted from http://stanislavvitvitskiy.blogspot.com/2008/12/multipart-post-in-ruby.html
|
9
|
-
# On Apr 6, 2010, at 3:00 PM, Stanislav Vitvitskiy wrote:
|
10
|
-
#
|
11
|
-
# It's free to use / modify / distribute. No need to mention anything. Just copy/paste and use.
|
12
|
-
#
|
13
|
-
# Regards,
|
14
|
-
# Stan
|
15
|
-
|
16
|
-
|
17
3
|
require 'net/http'
|
18
4
|
require 'net/https'
|
19
5
|
require 'cifrado/rate_limit'
|
data/lib/cifrado/version.rb
CHANGED
data/tests/cli/upload_tests.rb
CHANGED
metadata
CHANGED
@@ -1,186 +1,160 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cifrado
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.2
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sergio Rubio
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain:
|
12
|
-
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
OHdqeG9WKzU5SnVJRlk4b3FGeTNCMG85YjdXVTU5Uk53cWRhdWFXeWUxSkVX
|
35
|
-
cjVjMThkTThWSktDCjlnTk5OaXdyaDFRNVEzSHdqamVObFVqR1ptUWNnY2VH
|
36
|
-
NFhkb294ODkvSE5tNWJ5ODNtSGtuRCsrdHF3YTJuOEYKL05uYXo5d09YdTYv
|
37
|
-
VmpCY252Rk9HWThmMzJoVnE2MTlRaUpWcFY5elJnWWE1TTA1bVdSbXdIQnly
|
38
|
-
YjR5SzBBYgozR3B5dU1NTkJNaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0t
|
39
|
-
LQo=
|
40
|
-
date: 2013-03-03 00:00:00.000000000 Z
|
11
|
+
- |
|
12
|
+
-----BEGIN CERTIFICATE-----
|
13
|
+
MIIDNDCCAhygAwIBAgIBADANBgkqhkiG9w0BAQUFADBAMRAwDgYDVQQDDAdydWJp
|
14
|
+
b2pyMRcwFQYKCZImiZPyLGQBGRYHZnJhbWVvczETMBEGCgmSJomT8ixkARkWA29y
|
15
|
+
ZzAeFw0xMzAyMTIyMDU0NTFaFw0xNDAyMTIyMDU0NTFaMEAxEDAOBgNVBAMMB3J1
|
16
|
+
YmlvanIxFzAVBgoJkiaJk/IsZAEZFgdmcmFtZW9zMRMwEQYKCZImiZPyLGQBGRYD
|
17
|
+
b3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6gSsIib3HHQ87Dsu
|
18
|
+
9EZzKMk2oswglzatmxIbCKXTCflTFd7U4I3sinGCOPdkRmqf9vjJSv2ppFnq8D/J
|
19
|
+
flUrqpvqnDSGWW4mHdCXGGkbgsmNGV2d3AYGC1fhstBTxJIvQaDibxrH5IIqBtNN
|
20
|
+
wBGrOVuSb1HjqPpp+5MKcQdqYT4GW1rZkeV4FYXg+SThwjx+AlmvUKmMT9cmB2Ml
|
21
|
+
JWpId4O027AjcdmOk1s1ZMIlr+ZzV0EDmqPyNFmxZm72QUsywijM9B76eVC5sdOH
|
22
|
+
JKZK75oXtz0Pr++MYTlNaXHu98RzgMyOzLHM5LRCZg1f/zB9NbI2Fqm7IIfKpz0e
|
23
|
+
9KGBFQIDAQABozkwNzAJBgNVHRMEAjAAMB0GA1UdDgQWBBSO48JZEE9yvI13QfH2
|
24
|
+
UVEWt45QaTALBgNVHQ8EBAMCBLAwDQYJKoZIhvcNAQEFBQADggEBABTq7sClnZ83
|
25
|
+
ZeGgOUKMYq7/I5gGgZHyjIcuceMuVlhVWcjrxC1Fn7eqCZupAfveoxiNrWROmZ3C
|
26
|
+
26+nSlwMVQub9ruoGwejS1PSEBrtR56sZ78WNwUMogjzPUzDDgHZgDMneKLytSco
|
27
|
+
ustJSPP8wjxoV+59JuIFY8oqFy3B0o9b7WU59RNwqdauaWye1JEWr5c18dM8VJKC
|
28
|
+
9gNNNiwrh1Q5Q3HwjjeNlUjGZmQcgceG4Xdoox89/HNm5by83mHknD++tqwa2n8F
|
29
|
+
/Nnaz9wOXu6/VjBcnvFOGY8f32hVq619QiJVpV9zRgYa5M05mWRmwHByrb4yK0Ab
|
30
|
+
3GpyuMMNBMk=
|
31
|
+
-----END CERTIFICATE-----
|
32
|
+
date: 2013-03-04 00:00:00.000000000 Z
|
41
33
|
dependencies:
|
42
34
|
- !ruby/object:Gem::Dependency
|
43
35
|
name: excon
|
44
36
|
requirement: !ruby/object:Gem::Requirement
|
45
|
-
none: false
|
46
37
|
requirements:
|
47
|
-
- -
|
38
|
+
- - '>='
|
48
39
|
- !ruby/object:Gem::Version
|
49
40
|
version: '0'
|
50
41
|
type: :runtime
|
51
42
|
prerelease: false
|
52
43
|
version_requirements: !ruby/object:Gem::Requirement
|
53
|
-
none: false
|
54
44
|
requirements:
|
55
|
-
- -
|
45
|
+
- - '>='
|
56
46
|
- !ruby/object:Gem::Version
|
57
47
|
version: '0'
|
58
48
|
- !ruby/object:Gem::Dependency
|
59
49
|
name: thor
|
60
50
|
requirement: !ruby/object:Gem::Requirement
|
61
|
-
none: false
|
62
51
|
requirements:
|
63
|
-
- -
|
52
|
+
- - '>='
|
64
53
|
- !ruby/object:Gem::Version
|
65
54
|
version: '0.17'
|
66
55
|
type: :runtime
|
67
56
|
prerelease: false
|
68
57
|
version_requirements: !ruby/object:Gem::Requirement
|
69
|
-
none: false
|
70
58
|
requirements:
|
71
|
-
- -
|
59
|
+
- - '>='
|
72
60
|
- !ruby/object:Gem::Version
|
73
61
|
version: '0.17'
|
74
62
|
- !ruby/object:Gem::Dependency
|
75
63
|
name: ruby-progressbar
|
76
64
|
requirement: !ruby/object:Gem::Requirement
|
77
|
-
none: false
|
78
65
|
requirements:
|
79
|
-
- -
|
66
|
+
- - '>='
|
80
67
|
- !ruby/object:Gem::Version
|
81
68
|
version: '0'
|
82
69
|
type: :runtime
|
83
70
|
prerelease: false
|
84
71
|
version_requirements: !ruby/object:Gem::Requirement
|
85
|
-
none: false
|
86
72
|
requirements:
|
87
|
-
- -
|
73
|
+
- - '>='
|
88
74
|
- !ruby/object:Gem::Version
|
89
75
|
version: '0'
|
90
76
|
- !ruby/object:Gem::Dependency
|
91
77
|
name: multi_json
|
92
78
|
requirement: !ruby/object:Gem::Requirement
|
93
|
-
none: false
|
94
79
|
requirements:
|
95
|
-
- -
|
80
|
+
- - '>='
|
96
81
|
- !ruby/object:Gem::Version
|
97
82
|
version: '0'
|
98
83
|
type: :runtime
|
99
84
|
prerelease: false
|
100
85
|
version_requirements: !ruby/object:Gem::Requirement
|
101
|
-
none: false
|
102
86
|
requirements:
|
103
|
-
- -
|
87
|
+
- - '>='
|
104
88
|
- !ruby/object:Gem::Version
|
105
89
|
version: '0'
|
106
90
|
- !ruby/object:Gem::Dependency
|
107
91
|
name: mime-types
|
108
92
|
requirement: !ruby/object:Gem::Requirement
|
109
|
-
none: false
|
110
93
|
requirements:
|
111
|
-
- -
|
94
|
+
- - '>='
|
112
95
|
- !ruby/object:Gem::Version
|
113
96
|
version: '0'
|
114
97
|
type: :runtime
|
115
98
|
prerelease: false
|
116
99
|
version_requirements: !ruby/object:Gem::Requirement
|
117
|
-
none: false
|
118
100
|
requirements:
|
119
|
-
- -
|
101
|
+
- - '>='
|
120
102
|
- !ruby/object:Gem::Version
|
121
103
|
version: '0'
|
122
104
|
- !ruby/object:Gem::Dependency
|
123
105
|
name: yajl-ruby
|
124
106
|
requirement: !ruby/object:Gem::Requirement
|
125
|
-
none: false
|
126
107
|
requirements:
|
127
|
-
- -
|
108
|
+
- - '>='
|
128
109
|
- !ruby/object:Gem::Version
|
129
110
|
version: '0'
|
130
111
|
type: :runtime
|
131
112
|
prerelease: false
|
132
113
|
version_requirements: !ruby/object:Gem::Requirement
|
133
|
-
none: false
|
134
114
|
requirements:
|
135
|
-
- -
|
115
|
+
- - '>='
|
136
116
|
- !ruby/object:Gem::Version
|
137
117
|
version: '0'
|
138
118
|
- !ruby/object:Gem::Dependency
|
139
119
|
name: formatador
|
140
120
|
requirement: !ruby/object:Gem::Requirement
|
141
|
-
none: false
|
142
121
|
requirements:
|
143
|
-
- -
|
122
|
+
- - '>='
|
144
123
|
- !ruby/object:Gem::Version
|
145
124
|
version: '0'
|
146
125
|
type: :runtime
|
147
126
|
prerelease: false
|
148
127
|
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
none: false
|
150
128
|
requirements:
|
151
|
-
- -
|
129
|
+
- - '>='
|
152
130
|
- !ruby/object:Gem::Version
|
153
131
|
version: '0'
|
154
132
|
- !ruby/object:Gem::Dependency
|
155
133
|
name: shexy
|
156
134
|
requirement: !ruby/object:Gem::Requirement
|
157
|
-
none: false
|
158
135
|
requirements:
|
159
|
-
- -
|
136
|
+
- - '>='
|
160
137
|
- !ruby/object:Gem::Version
|
161
138
|
version: '0'
|
162
139
|
type: :runtime
|
163
140
|
prerelease: false
|
164
141
|
version_requirements: !ruby/object:Gem::Requirement
|
165
|
-
none: false
|
166
142
|
requirements:
|
167
|
-
- -
|
143
|
+
- - '>='
|
168
144
|
- !ruby/object:Gem::Version
|
169
145
|
version: '0'
|
170
146
|
- !ruby/object:Gem::Dependency
|
171
147
|
name: shindo
|
172
148
|
requirement: !ruby/object:Gem::Requirement
|
173
|
-
none: false
|
174
149
|
requirements:
|
175
|
-
- -
|
150
|
+
- - '>='
|
176
151
|
- !ruby/object:Gem::Version
|
177
152
|
version: '0'
|
178
153
|
type: :development
|
179
154
|
prerelease: false
|
180
155
|
version_requirements: !ruby/object:Gem::Requirement
|
181
|
-
none: false
|
182
156
|
requirements:
|
183
|
-
- -
|
157
|
+
- - '>='
|
184
158
|
- !ruby/object:Gem::Version
|
185
159
|
version: '0'
|
186
160
|
description: OpenStack Swift CLI with encryption support
|
@@ -558,26 +532,26 @@ files:
|
|
558
532
|
- vendor/fog/lib/fog/volume.rb
|
559
533
|
homepage: http://rubiojr.github.com/cifrado
|
560
534
|
licenses: []
|
535
|
+
metadata: {}
|
561
536
|
post_install_message:
|
562
537
|
rdoc_options: []
|
563
538
|
require_paths:
|
564
539
|
- lib
|
565
540
|
required_ruby_version: !ruby/object:Gem::Requirement
|
566
|
-
none: false
|
567
541
|
requirements:
|
568
|
-
- -
|
542
|
+
- - '>='
|
569
543
|
- !ruby/object:Gem::Version
|
570
544
|
version: '0'
|
571
545
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
572
|
-
none: false
|
573
546
|
requirements:
|
574
|
-
- -
|
547
|
+
- - '>='
|
575
548
|
- !ruby/object:Gem::Version
|
576
549
|
version: '0'
|
577
550
|
requirements: []
|
578
551
|
rubyforge_project:
|
579
|
-
rubygems_version:
|
552
|
+
rubygems_version: 2.0.0
|
580
553
|
signing_key:
|
581
|
-
specification_version:
|
554
|
+
specification_version: 4
|
582
555
|
summary: OpenStack Swift CLI with encryption support
|
583
556
|
test_files: []
|
557
|
+
has_rdoc:
|
metadata.gz.sig
CHANGED
Binary file
|