kbsecret 0.9.2 → 0.9.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +5 -2
- data/bin/kbsecret +14 -14
- data/lib/kbsecret/cli/kbsecret-dump-fields +2 -2
- data/lib/kbsecret/cli/kbsecret-env +2 -2
- data/lib/kbsecret/cli/kbsecret-generator +2 -2
- data/lib/kbsecret/cli/kbsecret-generators +4 -4
- data/lib/kbsecret/cli/kbsecret-list +4 -4
- data/lib/kbsecret/cli/kbsecret-login +4 -4
- data/lib/kbsecret/cli/kbsecret-new +4 -4
- data/lib/kbsecret/cli/kbsecret-new-session +5 -5
- data/lib/kbsecret/cli/kbsecret-pass +2 -2
- data/lib/kbsecret/cli/kbsecret-raw-edit +2 -2
- data/lib/kbsecret/cli/kbsecret-rm +2 -2
- data/lib/kbsecret/cli/kbsecret-rm-session +2 -2
- data/lib/kbsecret/cli/kbsecret-sessions +6 -6
- data/lib/kbsecret/cli/kbsecret-stash-file +2 -2
- data/lib/kbsecret/cli/kbsecret-todo +2 -2
- data/lib/kbsecret/cli.rb +2 -2
- data/lib/kbsecret/record.rb +1 -1
- data/lib/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85210b583f9f421d8e922ae4de0e1cf561f133ee
|
4
|
+
data.tar.gz: 07d1ce007b5b149f147e9079191875c39ca9e6f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ef1b720fa023840e640d1f608adf5e98c58c9af8822ef20fc2222fefd836c1aa5071851685f6594ca975711b2ac4c81c5f41dca2586149aa7d03d19cbfeece8
|
7
|
+
data.tar.gz: d5f854aaa737f0da2092e54452f54663cefbe0603b8be0806ac7bd98b99e5d85a660d150b2a5e6b39c8ebb0684493a2d7db17edfa0601793a8423359563228f9
|
data/README.md
CHANGED
@@ -50,9 +50,9 @@ $ cp man/*.1 ${YOUR_MAN_DIR}
|
|
50
50
|
|
51
51
|
### Shell Completion
|
52
52
|
|
53
|
-
KBSecret provides shell completion functions for bash.
|
53
|
+
KBSecret provides shell completion functions for bash and zsh.
|
54
54
|
|
55
|
-
To generate
|
55
|
+
To generate the completions for Bash:
|
56
56
|
|
57
57
|
```bash
|
58
58
|
$ bundle exec make bash
|
@@ -61,6 +61,9 @@ $ CMDS='foo bar baz' bundle exec make bash
|
|
61
61
|
$ cp completions/kbsecret.bash ${YOUR_COMPLETION_DIR}
|
62
62
|
```
|
63
63
|
|
64
|
+
To use the completions for zsh, add the completions directory to your `$fpath` or copy the
|
65
|
+
`completions/_kbsecret` file to any of the directories in it.
|
66
|
+
|
64
67
|
Please feel free to contribute completion scripts for other shells!
|
65
68
|
|
66
69
|
### Contributing
|
data/bin/kbsecret
CHANGED
@@ -28,7 +28,7 @@ ALIASES = Hash.new { |_, k| k }.update(
|
|
28
28
|
|
29
29
|
ALL_CMDS = (ALIASES.keys + BUILTIN_CMDS + INTERNAL_CMDS + EXT_CMDS).freeze
|
30
30
|
|
31
|
-
KBSECRET_HELP = <<~
|
31
|
+
KBSECRET_HELP = <<~KBSECRET_HELP
|
32
32
|
Usage:
|
33
33
|
kbsecret <command> <args ...>
|
34
34
|
|
@@ -37,7 +37,7 @@ KBSECRET_HELP = <<~EOS
|
|
37
37
|
|
38
38
|
For more information about a particular command, try:
|
39
39
|
kbsecret help <command>
|
40
|
-
|
40
|
+
KBSECRET_HELP
|
41
41
|
|
42
42
|
def internal?(cmd)
|
43
43
|
INTERNAL_CMDS.include?(cmd)
|
@@ -86,26 +86,26 @@ end
|
|
86
86
|
|
87
87
|
# lol
|
88
88
|
def help_help
|
89
|
-
puts <<~
|
89
|
+
puts <<~HELP_HELP
|
90
90
|
Usage:
|
91
91
|
kbsecret help <command>
|
92
92
|
|
93
93
|
For a list of all commands, see:
|
94
94
|
kbsecret help
|
95
|
-
|
95
|
+
HELP_HELP
|
96
96
|
end
|
97
97
|
|
98
98
|
def version(*_args)
|
99
|
-
puts <<~
|
99
|
+
puts <<~VERSION
|
100
100
|
kbsecret version #{KBSecret::VERSION}.
|
101
|
-
|
101
|
+
VERSION
|
102
102
|
end
|
103
103
|
|
104
104
|
def version_help
|
105
|
-
puts <<~
|
105
|
+
puts <<~VERSION_HELP
|
106
106
|
Usage:
|
107
107
|
kbsecret version
|
108
|
-
|
108
|
+
VERSION_HELP
|
109
109
|
end
|
110
110
|
|
111
111
|
def commands(*_args)
|
@@ -113,10 +113,10 @@ def commands(*_args)
|
|
113
113
|
end
|
114
114
|
|
115
115
|
def commands_help
|
116
|
-
puts <<~
|
116
|
+
puts <<~COMMANDS_HELP
|
117
117
|
Usage:
|
118
118
|
kbsecret commands
|
119
|
-
|
119
|
+
COMMANDS_HELP
|
120
120
|
end
|
121
121
|
|
122
122
|
def types(*_args)
|
@@ -124,10 +124,10 @@ def types(*_args)
|
|
124
124
|
end
|
125
125
|
|
126
126
|
def types_help
|
127
|
-
puts <<~
|
127
|
+
puts <<~TYPES_HELP
|
128
128
|
Usage:
|
129
129
|
kbsecret types
|
130
|
-
|
130
|
+
TYPES_HELP
|
131
131
|
end
|
132
132
|
|
133
133
|
def conf(*_args)
|
@@ -138,10 +138,10 @@ def conf(*_args)
|
|
138
138
|
end
|
139
139
|
|
140
140
|
def conf_help
|
141
|
-
puts <<~
|
141
|
+
puts <<~CONF_HELP
|
142
142
|
Usage:
|
143
143
|
kbsecret conf
|
144
|
-
|
144
|
+
CONF_HELP
|
145
145
|
end
|
146
146
|
|
147
147
|
command = normalize(ARGV.shift || "help")
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret dump-fields [options] <record>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
16
16
|
o.bool "-x", "--terse", "output in field<sep>value format"
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret env [options] <record [record ...]>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
16
16
|
o.bool "-a", "--all", "retrieve all environment records, not just listed ones"
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop cmds: %w[new rm] do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret new-generator [options] <new|rm> <generator>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-F", "--format", "the format of the secrets generated", default: "hex"
|
16
16
|
o.integer "-l", "--length", "the length, in bytes, of the secrets generated",
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret generators [options]
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.bool "-a", "--show-all", "show each generator in depth (i.e. metadata)"
|
16
16
|
end
|
@@ -21,8 +21,8 @@ Config[:generators].each do |label, config|
|
|
21
21
|
|
22
22
|
next unless cmd.opts.show_all?
|
23
23
|
|
24
|
-
puts <<~
|
24
|
+
puts <<~DETAIL
|
25
25
|
\tFormat: #{config[:format]}
|
26
26
|
\tLength: #{config[:length]}
|
27
|
-
|
27
|
+
DETAIL
|
28
28
|
end
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret list [options]
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-s", "--session", "the session to list from", default: :default
|
16
16
|
o.string "-t", "--type", "the type of secrets to list", default: nil
|
@@ -28,9 +28,9 @@ records.each do |record|
|
|
28
28
|
|
29
29
|
next unless cmd.opts.show_all?
|
30
30
|
|
31
|
-
puts <<~
|
31
|
+
puts <<~DETAIL
|
32
32
|
\tType: #{record.type}
|
33
33
|
\tLast changed: #{Time.at(record.timestamp)}
|
34
34
|
\tRaw data: #{record.data}
|
35
|
-
|
35
|
+
DETAIL
|
36
36
|
end
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret login [options] <record [record ...]>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
16
16
|
o.bool "-a", "--all", "retrieve all login records, not just listed ones"
|
@@ -42,10 +42,10 @@ selected_records.each do |record|
|
|
42
42
|
fields = %i[label username password].map { |m| record.send(m) }
|
43
43
|
puts fields.join(cmd.opts[:ifs])
|
44
44
|
else
|
45
|
-
puts <<~
|
45
|
+
puts <<~DETAIL
|
46
46
|
Label: #{record.label}
|
47
47
|
\tUsername: #{record.username}
|
48
48
|
\tPassword: #{record.password}
|
49
|
-
|
49
|
+
DETAIL
|
50
50
|
end
|
51
51
|
end
|
@@ -12,11 +12,11 @@ TYPE_ALIASES = Hash.new { |_, k| k }.update(Abbrev.abbrev(Record.record_types)).
|
|
12
12
|
|
13
13
|
cmd = CLI.create do |c|
|
14
14
|
c.slop do |o|
|
15
|
-
o.banner = <<~
|
15
|
+
o.banner = <<~HELP
|
16
16
|
Usage:
|
17
17
|
kbsecret new [options] <type> <label>
|
18
18
|
kbsecret new [options] --args <type> <label> <fields>
|
19
|
-
|
19
|
+
HELP
|
20
20
|
|
21
21
|
o.string "-s", "--session", "the session to contain the record", default: :default
|
22
22
|
o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
|
@@ -69,9 +69,9 @@ fields = if ($stdin.tty? && !cmd.opts.args?) || cmd.opts.terse?
|
|
69
69
|
end
|
70
70
|
end
|
71
71
|
else
|
72
|
-
cmd.warn <<~
|
72
|
+
cmd.warn <<~WARNING
|
73
73
|
Argument input is dangerous and deprecated, and will be removed by 1.0.
|
74
|
-
|
74
|
+
WARNING
|
75
75
|
|
76
76
|
cmd.args[:fields]
|
77
77
|
end
|
@@ -8,13 +8,13 @@ include KBSecret
|
|
8
8
|
|
9
9
|
cmd = CLI.create do |c|
|
10
10
|
c.slop do |o|
|
11
|
-
o.banner = <<~
|
11
|
+
o.banner = <<~HELP
|
12
12
|
Usage:
|
13
13
|
kbsecret new-session [options]
|
14
|
-
|
14
|
+
HELP
|
15
15
|
|
16
16
|
o.string "-t", "--team", "the team to create the session under"
|
17
|
-
o.string "-l", "--label", "the session label"
|
17
|
+
o.string "-l", "--label", "the session label", required: true
|
18
18
|
o.array "-u", "--users", "the keybase users", default: [Keybase::Local.current_user]
|
19
19
|
o.string "-r", "--root", "the secret root directory"
|
20
20
|
o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
|
@@ -51,7 +51,7 @@ else
|
|
51
51
|
unless cmd.opts.no_notify? && cmd.opts[:users] != [Keybase::Local.current_user]
|
52
52
|
users = cmd.opts[:users].join(",")
|
53
53
|
|
54
|
-
Keybase::Local::Chat.send_message cmd.opts[:users], <<~
|
54
|
+
Keybase::Local::Chat.send_message cmd.opts[:users], <<~MESSAGE
|
55
55
|
You've been added to a KBSecret session!
|
56
56
|
|
57
57
|
To access this session, please run the following:
|
@@ -65,6 +65,6 @@ else
|
|
65
65
|
```
|
66
66
|
$ gem install kbsecret
|
67
67
|
```
|
68
|
-
|
68
|
+
MESSAGE
|
69
69
|
end
|
70
70
|
end
|
@@ -8,10 +8,10 @@ include KBSecret
|
|
8
8
|
|
9
9
|
cmd = CLI.create do |c|
|
10
10
|
c.slop do |o|
|
11
|
-
o.banner = <<~
|
11
|
+
o.banner = <<~HELP
|
12
12
|
Usage:
|
13
13
|
kbsecret pass [options] <record>
|
14
|
-
|
14
|
+
HELP
|
15
15
|
|
16
16
|
o.string "-s", "--session", "the session to search in", default: :default
|
17
17
|
o.bool "-c", "--clipboard", "dump the password in the clipboard"
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret raw-edit [options] <record>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
16
16
|
end
|
@@ -10,10 +10,10 @@ $VERBOSE = nil # tty-prompt blasts us with irrelevant warnings on 2.4
|
|
10
10
|
|
11
11
|
cmd = CLI.create do |c|
|
12
12
|
c.slop do |o|
|
13
|
-
o.banner = <<~
|
13
|
+
o.banner = <<~HELP
|
14
14
|
Usage:
|
15
15
|
kbsecret rm [options] <record>
|
16
|
-
|
16
|
+
HELP
|
17
17
|
|
18
18
|
o.string "-s", "--session", "the session containing the record", default: :default
|
19
19
|
o.bool "-i", "--interactive", "ask for confirmation before deleting"
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret rm-session [options] <session>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.bool "-d", "--delete", "unlink the session in addition to deconfiguration"
|
16
16
|
end
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret sessions [options]
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.bool "-a", "--show-all", "show each session in depth (i.e. metadata)"
|
16
16
|
end
|
@@ -25,14 +25,14 @@ Config.session_labels.each do |sess_name|
|
|
25
25
|
next unless cmd.opts.show_all?
|
26
26
|
|
27
27
|
if session_hash[:team]
|
28
|
-
puts <<~
|
28
|
+
puts <<~DETAIL
|
29
29
|
\tTeam: #{session_hash[:team]}
|
30
30
|
\tSecrets root: #{session_hash[:root]} (#{session.path})
|
31
|
-
|
31
|
+
DETAIL
|
32
32
|
else
|
33
|
-
puts <<~
|
33
|
+
puts <<~DETAIL
|
34
34
|
\tUsers: #{session_hash[:users].join(", ")}
|
35
35
|
\tSecrets root: #{session_hash[:root]} (#{session.path})
|
36
|
-
|
36
|
+
DETAIL
|
37
37
|
end
|
38
38
|
end
|
@@ -8,10 +8,10 @@ include KBSecret
|
|
8
8
|
|
9
9
|
cmd = CLI.create do |c|
|
10
10
|
c.slop do |o|
|
11
|
-
o.banner = <<~
|
11
|
+
o.banner = <<~HELP
|
12
12
|
Usage:
|
13
13
|
kbsecret stash-file <record> [file]
|
14
|
-
|
14
|
+
HELP
|
15
15
|
|
16
16
|
o.string "-s", "--session", "the session to add to", default: :default
|
17
17
|
o.bool "-f", "--force", "force creation (ignore overwrites, etc.)"
|
@@ -7,10 +7,10 @@ include KBSecret
|
|
7
7
|
|
8
8
|
cmd = CLI.create do |c|
|
9
9
|
c.slop cmds: %w[start suspend complete] do |o|
|
10
|
-
o.banner = <<~
|
10
|
+
o.banner = <<~HELP
|
11
11
|
Usage:
|
12
12
|
kbsecret todo <start|suspend|complete> <record>
|
13
|
-
|
13
|
+
HELP
|
14
14
|
|
15
15
|
o.string "-s", "--session", "the session to search in", default: :default
|
16
16
|
end
|
data/lib/kbsecret/cli.rb
CHANGED
@@ -67,7 +67,7 @@ module KBSecret
|
|
67
67
|
o.bool "--debug", "produce full backtraces on errors"
|
68
68
|
|
69
69
|
o.on "-h", "--help", "show this help message" do
|
70
|
-
puts o
|
70
|
+
puts o.to_s prefix: " "
|
71
71
|
exit
|
72
72
|
end
|
73
73
|
|
@@ -141,7 +141,7 @@ module KBSecret
|
|
141
141
|
def guard
|
142
142
|
yield
|
143
143
|
rescue => e
|
144
|
-
STDERR.puts e.backtrace if @opts
|
144
|
+
STDERR.puts e.backtrace if @opts&.debug?
|
145
145
|
die "#{e.to_s.capitalize}."
|
146
146
|
end
|
147
147
|
|
data/lib/kbsecret/record.rb
CHANGED
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kbsecret
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- William Woodruff
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09
|
11
|
+
date: 2017-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fpm
|
@@ -156,28 +156,28 @@ dependencies:
|
|
156
156
|
requirements:
|
157
157
|
- - "~>"
|
158
158
|
- !ruby/object:Gem::Version
|
159
|
-
version: 0.
|
159
|
+
version: 0.7.0
|
160
160
|
type: :runtime
|
161
161
|
prerelease: false
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
163
163
|
requirements:
|
164
164
|
- - "~>"
|
165
165
|
- !ruby/object:Gem::Version
|
166
|
-
version: 0.
|
166
|
+
version: 0.7.0
|
167
167
|
- !ruby/object:Gem::Dependency
|
168
168
|
name: slop
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
171
|
- - "~>"
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '4.
|
173
|
+
version: '4.6'
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '4.
|
180
|
+
version: '4.6'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: tty-prompt
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|