tfa 0.0.15 → 0.0.16
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.
- checksums.yaml +4 -4
- data/.travis.yml +3 -4
- data/Rakefile +1 -1
- data/lib/tfa/cli.rb +22 -3
- data/lib/tfa/version.rb +1 -1
- data/tfa.gemspec +1 -0
- metadata +17 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 52029ca9bbebb7b6ab081fd31be7b65b3cc3d5e0f4057ec62f5414d5b0fa95e7
|
|
4
|
+
data.tar.gz: d9306a0af514d29298e5174b23a9fd59e661c9db189a552cc815c612fb976c5d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bd97e3856571be9be51a8af4a5a1dbc361faa18ad93480161c6209f7048d0a10ef99a02ba1d16b113d7ef7dacac130ad0e43761266516580771c08652d1fda21
|
|
7
|
+
data.tar.gz: b57086be2337c4e19a8c28047598ac5798573686f48fb9454d36143ac742d14a400643c2aaefd3f5ab372e7f41ae75c415634d0b1d30767c7252a58ef0b01c13
|
data/.travis.yml
CHANGED
data/Rakefile
CHANGED
data/lib/tfa/cli.rb
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
require
|
|
1
|
+
require 'rqrcode'
|
|
2
|
+
require 'socket'
|
|
3
|
+
require 'thor'
|
|
4
|
+
require 'uri'
|
|
2
5
|
|
|
3
6
|
module TFA
|
|
4
7
|
class CLI < Thor
|
|
@@ -19,12 +22,24 @@ module TFA
|
|
|
19
22
|
end
|
|
20
23
|
|
|
21
24
|
desc "show NAME", "shows the secret for the given key"
|
|
25
|
+
method_option :format, default: "raw", enum: ["raw", "qrcode", "uri"], desc: "The format to export"
|
|
22
26
|
def show(name = nil)
|
|
23
|
-
|
|
27
|
+
return storage.all.map { |x| x.keys }.flatten.sort unless name
|
|
28
|
+
|
|
29
|
+
case options[:format]
|
|
30
|
+
when "qrcode"
|
|
31
|
+
RQRCode::QRCode.new(uri_for(name, storage.secret_for(name))).as_ansi(
|
|
32
|
+
light: "\033[47m", dark: "\033[40m", fill_character: ' ', quiet_zone_size: 1
|
|
33
|
+
)
|
|
34
|
+
when "uri"
|
|
35
|
+
uri_for(name, storage.secret_for(name))
|
|
36
|
+
else
|
|
37
|
+
storage.secret_for(name)
|
|
38
|
+
end
|
|
24
39
|
end
|
|
25
40
|
|
|
26
41
|
desc "totp NAME", "generate a Time based One Time Password using the secret associated with the given NAME."
|
|
27
|
-
def totp(name
|
|
42
|
+
def totp(name)
|
|
28
43
|
TotpCommand.new(storage).run(name)
|
|
29
44
|
end
|
|
30
45
|
|
|
@@ -127,5 +142,9 @@ module TFA
|
|
|
127
142
|
def upgraded?
|
|
128
143
|
!File.exist?(pstore_path) && File.exist?(secure_path)
|
|
129
144
|
end
|
|
145
|
+
|
|
146
|
+
def uri_for(issuer, secret)
|
|
147
|
+
URI.encode("otpauth://totp/#{issuer}/#{ENV['LOGNAME']}@#{Socket.gethostname}?secret=#{secret}&issuer=#{issuer}")
|
|
148
|
+
end
|
|
130
149
|
end
|
|
131
150
|
end
|
data/lib/tfa/version.rb
CHANGED
data/tfa.gemspec
CHANGED
|
@@ -23,6 +23,7 @@ Gem::Specification.new do |spec|
|
|
|
23
23
|
spec.required_ruby_version = "~> 2.0"
|
|
24
24
|
|
|
25
25
|
spec.add_dependency "rotp", "~> 3.3"
|
|
26
|
+
spec.add_dependency "rqrcode", "~> 0.10"
|
|
26
27
|
spec.add_dependency "thor", "~> 0.20"
|
|
27
28
|
spec.add_development_dependency "bundler", "~> 1.6"
|
|
28
29
|
spec.add_development_dependency "rake", "~> 12.3"
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tfa
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- mo khan
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2018-
|
|
11
|
+
date: 2018-12-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rotp
|
|
@@ -24,6 +24,20 @@ dependencies:
|
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '3.3'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: rqrcode
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0.10'
|
|
34
|
+
type: :runtime
|
|
35
|
+
prerelease: false
|
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
+
requirements:
|
|
38
|
+
- - "~>"
|
|
39
|
+
- !ruby/object:Gem::Version
|
|
40
|
+
version: '0.10'
|
|
27
41
|
- !ruby/object:Gem::Dependency
|
|
28
42
|
name: thor
|
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -125,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
125
139
|
version: '0'
|
|
126
140
|
requirements: []
|
|
127
141
|
rubyforge_project:
|
|
128
|
-
rubygems_version: 2.7.
|
|
142
|
+
rubygems_version: 2.7.6
|
|
129
143
|
signing_key:
|
|
130
144
|
specification_version: 4
|
|
131
145
|
summary: A CLI to manage your time based one time passwords.
|