aspera-cli 4.10.0 → 4.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/BUGS.md +19 -0
- data/CHANGELOG.md +528 -0
- data/CONTRIBUTING.md +143 -0
- data/README.md +977 -589
- data/bin/ascli +4 -4
- data/bin/asession +12 -12
- data/docs/test_env.conf +29 -19
- data/examples/aoc.rb +6 -6
- data/examples/dascli +18 -16
- data/examples/faspex4.rb +15 -15
- data/examples/node.rb +12 -12
- data/examples/proxy.pac +2 -2
- data/examples/server.rb +12 -12
- data/lib/aspera/aoc.rb +344 -272
- data/lib/aspera/ascmd.rb +56 -54
- data/lib/aspera/ats_api.rb +4 -4
- data/lib/aspera/cli/basic_auth_plugin.rb +15 -12
- data/lib/aspera/cli/extended_value.rb +9 -9
- data/lib/aspera/cli/{formater.rb → formatter.rb} +69 -69
- data/lib/aspera/cli/listener/line_dump.rb +1 -1
- data/lib/aspera/cli/listener/logger.rb +1 -1
- data/lib/aspera/cli/listener/progress.rb +5 -6
- data/lib/aspera/cli/listener/progress_multi.rb +16 -21
- data/lib/aspera/cli/main.rb +72 -73
- data/lib/aspera/cli/manager.rb +112 -112
- data/lib/aspera/cli/plugin.rb +68 -48
- data/lib/aspera/cli/plugins/alee.rb +4 -4
- data/lib/aspera/cli/plugins/aoc.rb +322 -720
- data/lib/aspera/cli/plugins/ats.rb +50 -52
- data/lib/aspera/cli/plugins/bss.rb +10 -10
- data/lib/aspera/cli/plugins/config.rb +514 -410
- data/lib/aspera/cli/plugins/console.rb +12 -12
- data/lib/aspera/cli/plugins/cos.rb +18 -20
- data/lib/aspera/cli/plugins/faspex.rb +134 -136
- data/lib/aspera/cli/plugins/faspex5.rb +235 -70
- data/lib/aspera/cli/plugins/node.rb +378 -309
- data/lib/aspera/cli/plugins/orchestrator.rb +52 -49
- data/lib/aspera/cli/plugins/preview.rb +129 -120
- data/lib/aspera/cli/plugins/server.rb +137 -83
- data/lib/aspera/cli/plugins/shares.rb +77 -52
- data/lib/aspera/cli/plugins/sync.rb +13 -33
- data/lib/aspera/cli/transfer_agent.rb +61 -61
- data/lib/aspera/cli/version.rb +2 -1
- data/lib/aspera/colors.rb +3 -3
- data/lib/aspera/command_line_builder.rb +78 -74
- data/lib/aspera/cos_node.rb +31 -29
- data/lib/aspera/data_repository.rb +1 -1
- data/lib/aspera/environment.rb +30 -28
- data/lib/aspera/fasp/agent_base.rb +17 -15
- data/lib/aspera/fasp/agent_connect.rb +34 -32
- data/lib/aspera/fasp/agent_direct.rb +70 -73
- data/lib/aspera/fasp/agent_httpgw.rb +79 -74
- data/lib/aspera/fasp/agent_node.rb +26 -26
- data/lib/aspera/fasp/agent_trsdk.rb +20 -20
- data/lib/aspera/fasp/error.rb +3 -2
- data/lib/aspera/fasp/error_info.rb +11 -8
- data/lib/aspera/fasp/installation.rb +80 -80
- data/lib/aspera/fasp/listener.rb +2 -2
- data/lib/aspera/fasp/parameters.rb +103 -92
- data/lib/aspera/fasp/parameters.yaml +313 -214
- data/lib/aspera/fasp/resume_policy.rb +10 -10
- data/lib/aspera/fasp/transfer_spec.rb +22 -2
- data/lib/aspera/fasp/uri.rb +7 -7
- data/lib/aspera/faspex_gw.rb +80 -159
- data/lib/aspera/faspex_postproc.rb +77 -0
- data/lib/aspera/hash_ext.rb +3 -3
- data/lib/aspera/id_generator.rb +5 -5
- data/lib/aspera/keychain/encrypted_hash.rb +23 -28
- data/lib/aspera/keychain/macos_security.rb +21 -20
- data/lib/aspera/log.rb +13 -13
- data/lib/aspera/nagios.rb +24 -23
- data/lib/aspera/node.rb +217 -38
- data/lib/aspera/oauth.rb +78 -74
- data/lib/aspera/open_application.rb +19 -11
- data/lib/aspera/persistency_action_once.rb +4 -4
- data/lib/aspera/persistency_folder.rb +13 -13
- data/lib/aspera/preview/file_types.rb +8 -8
- data/lib/aspera/preview/generator.rb +67 -67
- data/lib/aspera/preview/utils.rb +27 -27
- data/lib/aspera/proxy_auto_config.js +63 -63
- data/lib/aspera/proxy_auto_config.rb +19 -19
- data/lib/aspera/rest.rb +65 -67
- data/lib/aspera/rest_call_error.rb +2 -1
- data/lib/aspera/rest_error_analyzer.rb +22 -21
- data/lib/aspera/rest_errors_aspera.rb +16 -16
- data/lib/aspera/secret_hider.rb +17 -14
- data/lib/aspera/ssh.rb +15 -14
- data/lib/aspera/sync.rb +177 -62
- data/lib/aspera/temp_file_manager.rb +2 -2
- data/lib/aspera/uri_reader.rb +4 -4
- data/lib/aspera/web_auth.rb +13 -64
- data/lib/aspera/web_server_simple.rb +76 -0
- data.tar.gz.sig +0 -0
- metadata +11 -6
- metadata.gz.sig +0 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'webrick'
|
4
|
+
require 'webrick/https'
|
5
|
+
require 'aspera/log'
|
6
|
+
require 'openssl'
|
7
|
+
|
8
|
+
module Aspera
|
9
|
+
class WebServerSimple < WEBrick::HTTPServer
|
10
|
+
CERT_PARAMETERS = %i[key cert chain].freeze
|
11
|
+
# generates and adds self signed cert to provided webrick options
|
12
|
+
def self.fill_self_signed_cert(cert, key)
|
13
|
+
cert.subject = cert.issuer = OpenSSL::X509::Name.parse('/C=FR/O=Test/OU=Test/CN=Test')
|
14
|
+
cert.not_before = Time.now
|
15
|
+
cert.not_after = Time.now + 365 * 24 * 60 * 60
|
16
|
+
cert.public_key = key.public_key
|
17
|
+
cert.serial = 0x0
|
18
|
+
cert.version = 2
|
19
|
+
ef = OpenSSL::X509::ExtensionFactory.new
|
20
|
+
ef.issuer_certificate = cert
|
21
|
+
ef.subject_certificate = cert
|
22
|
+
cert.extensions = [
|
23
|
+
ef.create_extension('basicConstraints', 'CA:TRUE', true),
|
24
|
+
ef.create_extension('subjectKeyIdentifier', 'hash')
|
25
|
+
# ef.create_extension('keyUsage', 'cRLSign,keyCertSign', true),
|
26
|
+
]
|
27
|
+
cert.add_extension(ef.create_extension('authorityKeyIdentifier', 'keyid:always,issuer:always'))
|
28
|
+
cert.sign(key, OpenSSL::Digest.new('SHA256'))
|
29
|
+
end
|
30
|
+
|
31
|
+
# @param uri [URI]
|
32
|
+
def initialize(uri, certificate: nil)
|
33
|
+
# see https://www.rubydoc.info/stdlib/webrick/WEBrick/Config
|
34
|
+
webrick_options = {
|
35
|
+
BindAddress: uri.host,
|
36
|
+
Port: uri.port,
|
37
|
+
Logger: Log.log,
|
38
|
+
AccessLog: [[self, WEBrick::AccessLog::COMMON_LOG_FORMAT]] # replace default access log to call local method "<<" below
|
39
|
+
}
|
40
|
+
case uri.scheme
|
41
|
+
when 'http'
|
42
|
+
Log.log.debug('HTTP mode')
|
43
|
+
when 'https'
|
44
|
+
webrick_options[:SSLEnable] = true
|
45
|
+
if certificate.nil?
|
46
|
+
webrick_options[:SSLCertName] = [['CN', WEBrick::Utils.getservername]]
|
47
|
+
else
|
48
|
+
raise 'certificate must be Hash' unless certificate.is_a?(Hash)
|
49
|
+
certificate = certificate.symbolize_keys
|
50
|
+
raise "unexpected key in certificate config: only: #{CERT_PARAMETERS.join(', ')}" if certificate.keys.any?{|k|!CERT_PARAMETERS.include?(k)}
|
51
|
+
webrick_options[:SSLPrivateKey] = if certificate.key?(:key)
|
52
|
+
OpenSSL::PKey::RSA.new(File.read(certificate[:key]))
|
53
|
+
else
|
54
|
+
OpenSSL::PKey::RSA.new(4096)
|
55
|
+
end
|
56
|
+
if certificate.key?(:cert)
|
57
|
+
webrick_options[:SSLCertificate] = OpenSSL::X509::Certificate.new(File.read(certificate[:cert]))
|
58
|
+
else
|
59
|
+
webrick_options[:SSLCertificate] = OpenSSL::X509::Certificate.new
|
60
|
+
self.class.fill_self_signed_cert(webrick_options[:SSLCertificate], webrick_options[:SSLPrivateKey])
|
61
|
+
end
|
62
|
+
if certificate.key?(:chain)
|
63
|
+
webrick_options[:SSLExtraChainCert] = [OpenSSL::X509::Certificate.new(File.read(certificate[:chain]))]
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
# self signed certificate generates characters on STDERR, see create_self_signed_cert in webrick/ssl.rb
|
68
|
+
Log.capture_stderr { super(webrick_options) }
|
69
|
+
end
|
70
|
+
|
71
|
+
# log web server access ( option AccessLog )
|
72
|
+
def <<(access_log)
|
73
|
+
Log.log.debug{"webrick log #{access_log.chomp}"}
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aspera-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.12.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent Martin
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ZjkOWbUc1aLIsfaQFHWyNfisY9X2RgkFHjX0p5493wnoA7aWh52MUhc145npFh8z
|
36
36
|
v4P9xwkT02Shkert4B4iwNvVjoAUGk+J4090svZCroAyXBjon5LV7MJ4fyw=
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2023-03-20 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: execjs
|
@@ -89,14 +89,14 @@ dependencies:
|
|
89
89
|
name: net-ssh
|
90
90
|
requirement: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
|
-
- - "
|
92
|
+
- - ">="
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '6.0'
|
95
95
|
type: :runtime
|
96
96
|
prerelease: false
|
97
97
|
version_requirements: !ruby/object:Gem::Requirement
|
98
98
|
requirements:
|
99
|
-
- - "
|
99
|
+
- - ">="
|
100
100
|
- !ruby/object:Gem::Version
|
101
101
|
version: '6.0'
|
102
102
|
- !ruby/object:Gem::Dependency
|
@@ -360,6 +360,9 @@ executables:
|
|
360
360
|
extensions: []
|
361
361
|
extra_rdoc_files: []
|
362
362
|
files:
|
363
|
+
- BUGS.md
|
364
|
+
- CHANGELOG.md
|
365
|
+
- CONTRIBUTING.md
|
363
366
|
- README.md
|
364
367
|
- bin/ascli
|
365
368
|
- bin/asession
|
@@ -375,7 +378,7 @@ files:
|
|
375
378
|
- lib/aspera/ats_api.rb
|
376
379
|
- lib/aspera/cli/basic_auth_plugin.rb
|
377
380
|
- lib/aspera/cli/extended_value.rb
|
378
|
-
- lib/aspera/cli/
|
381
|
+
- lib/aspera/cli/formatter.rb
|
379
382
|
- lib/aspera/cli/info.rb
|
380
383
|
- lib/aspera/cli/listener/line_dump.rb
|
381
384
|
- lib/aspera/cli/listener/logger.rb
|
@@ -429,6 +432,7 @@ files:
|
|
429
432
|
- lib/aspera/fasp/transfer_spec.rb
|
430
433
|
- lib/aspera/fasp/uri.rb
|
431
434
|
- lib/aspera/faspex_gw.rb
|
435
|
+
- lib/aspera/faspex_postproc.rb
|
432
436
|
- lib/aspera/hash_ext.rb
|
433
437
|
- lib/aspera/id_generator.rb
|
434
438
|
- lib/aspera/keychain/encrypted_hash.rb
|
@@ -459,6 +463,7 @@ files:
|
|
459
463
|
- lib/aspera/timer_limiter.rb
|
460
464
|
- lib/aspera/uri_reader.rb
|
461
465
|
- lib/aspera/web_auth.rb
|
466
|
+
- lib/aspera/web_server_simple.rb
|
462
467
|
homepage: https://github.com/IBM/aspera-cli
|
463
468
|
licenses:
|
464
469
|
- Apache-2.0
|
@@ -485,7 +490,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
485
490
|
version: '0'
|
486
491
|
requirements:
|
487
492
|
- Read the manual for any requirement
|
488
|
-
rubygems_version: 3.
|
493
|
+
rubygems_version: 3.4.6
|
489
494
|
signing_key:
|
490
495
|
specification_version: 4
|
491
496
|
summary: 'Execute actions using command line on IBM Aspera Server products: Aspera
|
metadata.gz.sig
CHANGED
Binary file
|