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 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
- ## Features available in Cifrado 0.1
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
- * Implement 'swift style' segmented uploads
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, :tenant].each do |opt|
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
@@ -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'
@@ -1,3 +1,3 @@
1
1
  module Cifrado
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -9,7 +9,7 @@ Shindo.tests('Cifrado | CLI#upload') do
9
9
  :insecure => true,
10
10
  :no_progressbar => true
11
11
  }
12
- cli_options.merge!(cfg[:cli_options]) if cfg
12
+ cli_options.merge!(cfg[:cli_options]) if cfg[:cli_options]
13
13
  cli = Cifrado::CLI.new
14
14
  cli.options = cli_options
15
15
 
@@ -9,7 +9,7 @@ Shindo.tests('Cifrado | CLI#upload') do
9
9
  :insecure => true,
10
10
  :no_progressbar => true
11
11
  }
12
- cli_options.merge!(cfg[:cli_options]) if cfg
12
+ cli_options.merge!(cfg[:cli_options]) if cfg[:cli_options]
13
13
 
14
14
  tests '#upload' do
15
15
  tests 'segmented uploads' do
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.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
- - !binary |-
13
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURORENDQWh5Z0F3SUJB
14
- Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREJBTVJBd0RnWURWUVFEREFkeWRX
15
- SnAKYjJweU1SY3dGUVlLQ1pJbWlaUHlMR1FCR1JZSFpuSmhiV1Z2Y3pFVE1C
16
- RUdDZ21TSm9tVDhpeGtBUmtXQTI5eQpaekFlRncweE16QXlNVEl5TURVME5U
17
- RmFGdzB4TkRBeU1USXlNRFUwTlRGYU1FQXhFREFPQmdOVkJBTU1CM0oxCllt
18
- bHZhbkl4RnpBVkJnb0praWFKay9Jc1pBRVpGZ2RtY21GdFpXOXpNUk13RVFZ
19
- S0NaSW1pWlB5TEdRQkdSWUQKYjNKbk1JSUJJakFOQmdrcWhraUc5dzBCQVFF
20
- RkFBT0NBUThBTUlJQkNnS0NBUUVBNmdTc0lpYjNISFE4N0RzdQo5RVp6S01r
21
- Mm9zd2dsemF0bXhJYkNLWFRDZmxURmQ3VTRJM3NpbkdDT1Bka1JtcWY5dmpK
22
- U3YycHBGbnE4RC9KCmZsVXJxcHZxbkRTR1dXNG1IZENYR0drYmdzbU5HVjJk
23
- M0FZR0MxZmhzdEJUeEpJdlFhRGlieHJINUlJcUJ0Tk4Kd0JHck9WdVNiMUhq
24
- cVBwcCs1TUtjUWRxWVQ0R1cxclprZVY0RllYZytTVGh3angrQWxtdlVLbU1U
25
- OWNtQjJNbApKV3BJZDRPMDI3QWpjZG1PazFzMVpNSWxyK1p6VjBFRG1xUHlO
26
- Rm14Wm03MlFVc3l3aWpNOUI3NmVWQzVzZE9ICkpLWks3NW9YdHowUHIrK01Z
27
- VGxOYVhIdTk4UnpnTXlPekxITTVMUkNaZzFmL3pCOU5iSTJGcW03SUlmS3B6
28
- MGUKOUtHQkZRSURBUUFCb3prd056QUpCZ05WSFJNRUFqQUFNQjBHQTFVZERn
29
- UVdCQlNPNDhKWkVFOXl2STEzUWZIMgpVVkVXdDQ1UWFUQUxCZ05WSFE4RUJB
30
- TUNCTEF3RFFZSktvWklodmNOQVFFRkJRQURnZ0VCQUJUcTdzQ2xuWjgzClpl
31
- R2dPVUtNWXE3L0k1Z0dnWkh5akljdWNlTXVWbGhWV2NqcnhDMUZuN2VxQ1p1
32
- cEFmdmVveGlOcldST21aM0MKMjYrblNsd01WUXViOXJ1b0d3ZWpTMVBTRUJy
33
- dFI1NnNaNzhXTndVTW9nanpQVXpERGdIWmdETW5lS0x5dFNjbwp1c3RKU1BQ
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: 1.8.23
552
+ rubygems_version: 2.0.0
580
553
  signing_key:
581
- specification_version: 3
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