uhide 0.0.26 โ†’ 0.0.31

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/bin/uhide +4 -7
  4. data/lib/uhide/main.rb +128 -128
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a4a06d744fe8a6c1f74e8fd848e74af96ba37d5c377ee3d6b33599f0d38d30c1
4
- data.tar.gz: 94cf1b71fbe3255fa896e25a53fd474e0bdb0e69677a6ef644944972cc452f0a
3
+ metadata.gz: d467f5eb0557fdc3146bb3f7ef8052f00c4e8acfa70beae87ce51591d7aeba71
4
+ data.tar.gz: 328969e21fd19977fb3ea070d013c4da3635a6f69bb1c9f6ec451393e6daf473
5
5
  SHA512:
6
- metadata.gz: 8d6f4416ab7af95df3e132b6651408be6d684847fc2b3740d44e89f28ca717959af688c8043c33782e4fe2dc2142d41121da0bd7f05bb93da47d8bf396fad2da
7
- data.tar.gz: fb0c709b806ce2cef94508141e21dd062c845db86886657ea63e7a4572431bc962126c7d4f3873ec76cf677d594c28930b49dcaa41697e1362ed4ba99bac8d19
6
+ metadata.gz: 8b9a57a5f18e3fe0e0931a99cb04a35ca6869ce2ee1b74a67e8c730804ea42007dac2d35c0b2f26672e4def521f1c825414a306a2830d87ce4bb5b308b0fd9da
7
+ data.tar.gz: 4e64e833a13a5f0289bf8dc81bd6cd1a990b5afc75b1ff65564146ad1b195f4df46b6cd172e832035df9badde52a1c551223b97729382786ff9f272411f806de
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ๐Ÿ…ฟ๏ธ๐Ÿ˜๐Ÿ‡ผeยฎ๏ธed    ๐Ÿ…ฑ๏ธ๐Ÿ‡พ    eโ“‚๏ธ๐Ÿค“๐Ÿ‡ฏโ„น๏ธ    tec๐Ÿจn๐Ÿ˜Ž๐Ÿ‡ฑ๐Ÿ…พ๏ธg๐Ÿ‡พ
4
4
 
5
- Store passwords, phone numbers, email addresses, credit card numbers -- any sensitive text.
5
+ Securely store passwords, phone numbers, email addresses, credit card numbers -- any sensitive text.
6
6
 
7
7
  **Install:** `gem install uhide`
8
8
 
data/bin/uhide CHANGED
@@ -1,11 +1,8 @@
1
1
  require 'optparse'
2
2
  require 'uhide'
3
3
 
4
- options = {}
5
- OptionParser.new do |opts|
6
- opts.banner = "Usage: uhide command [key-name] [key-value]"
7
-
8
- opts.on("-h", "--help", "Help") do |v|
4
+ OptionParser.new do |๐Ÿ“‹|
5
+ ๐Ÿ“‹.on('-h', '--help', 'Help') do |๐Ÿ“š|
9
6
  puts <<-HELP
10
7
  Usage: uhide command [key-name] [key-value]
11
8
  Example: uhide set gmail mysecurepassword123
@@ -14,7 +11,7 @@ Example: uhide get gmail
14
11
  Get Started:
15
12
 
16
13
  1. run `uhide`
17
- 2. You will be see: ๐Ÿ”‘ > . Choose a password you can remember and enter it.
14
+ 2. You will see: ๐Ÿ”‘ > . Choose a password you can remember and enter it.
18
15
  3. You can now run commands. Next time you run `uhide` from this directory, enter the same password to manage your sensitive information.
19
16
 
20
17
  Commands and Optional Arguments:
@@ -26,4 +23,4 @@ Commands and Optional Arguments:
26
23
 
27
24
  end.parse!
28
25
 
29
- Uhide::Main.start()
26
+ Uhide::Main.โœˆ๏ธ
data/lib/uhide/main.rb CHANGED
@@ -1,150 +1,151 @@
1
- $โ˜” = " โ˜” > "
2
- $๐Ÿ”‘ = " ๐Ÿ”‘ > "
3
- $๐Ÿง‚ = -> { ๐Ÿ—ƒ๏ธ '๐Ÿง‚', SecureRandom.random_bytes }
4
- $๐Ÿ“ = -> { ๐Ÿ—ƒ๏ธ '๐Ÿ“', ActiveSupport::MessageEncryptor.key_len }
5
- INVALID_KEY = 'invalid key'.colorize(:magenta)
6
- UNSUPPORTED_๐Ÿ‘พ = 'unsupported'.colorize(:magenta) + ' ๐Ÿ‘พ'
7
- $๐Ÿ—„๏ธ = {}
1
+ $โ€ผ๏ธ๐Ÿ”‘ = 'invalid key'.colorize(:magenta)
2
+ $โ€ผ๏ธ๐Ÿ‘พ = 'unsupported'.colorize(:magenta) + ' ๐Ÿ‘พ'
8
3
 
9
- def ๐Ÿšฝ
10
- print "\r"
11
- $stdout.flush
12
- end
13
-
14
- def ๐Ÿงผ ๐Ÿ—‘๏ธ
15
- ๐Ÿ—‘๏ธ.chomp
16
- end
17
-
18
- def โ“ ๐Ÿ”‘, simple: true
19
- print ๐Ÿ”‘
20
- โœ๏ธ = ๐Ÿงผ STDIN.noecho(&:gets)
21
- $โœ๏ธ = โœ๏ธ if simple
22
- ๐Ÿšฝ
23
- return โœ๏ธ
24
- end
25
-
26
- def ๐Ÿ”“ ๐Ÿท๏ธ: nil
27
- if ๐Ÿท๏ธ.nil?
28
- puts $๐Ÿ—„๏ธ['ddllv']
29
- else
30
- puts $๐Ÿ—„๏ธ['ddllv'][๐Ÿท๏ธ]
31
- end
32
-
33
- ๐Ÿ“• = File.read './๐Ÿง‚'
34
- if ๐Ÿ“•.empty?
35
- ๐Ÿ”€ = SecureRandom.random_bytes $๐Ÿ“.call
36
- File.write './๐Ÿง‚', Marshal.dump(๐Ÿ”€)
37
- return $๐Ÿ—„๏ธ['๐Ÿง‚'] = ๐Ÿ”€
38
- else
39
- return $๐Ÿ—„๏ธ['๐Ÿง‚'] = Marshal.load(File.read './๐Ÿง‚')
40
- end
41
-
42
- end
43
-
44
- def ๐Ÿ”’ ๐Ÿท๏ธ, ๐Ÿ’Ž
45
- $๐Ÿ—„๏ธ['ddllv'][๐Ÿท๏ธ] = ๐Ÿ’Ž
46
- ๐Ÿ’พ
47
- end
48
-
49
- def ๐Ÿค– ๐Ÿ—ฃ๏ธ
50
- ๐Ÿ‘พ, ๐Ÿท๏ธ, ๐Ÿ’Ž = ๐Ÿ—ฃ๏ธ.split
51
-
52
- if ๐Ÿ‘พ.nil?
53
- return
54
- end
4
+ class Uhide::Main
5
+ @@โ˜” = " โ˜” > "
6
+ @@๐Ÿ”‘ = " ๐Ÿ”‘ > "
7
+ @@๐Ÿ—„๏ธ = {}
55
8
 
56
- case ๐Ÿ‘พ.to_sym
57
- when :get
58
- if ๐Ÿท๏ธ
59
- ๐Ÿ”“ ๐Ÿท๏ธ: ๐Ÿท๏ธ
60
- else
61
- ๐Ÿ”“
9
+ class << self
10
+ def ๐Ÿง‚
11
+ ๐Ÿ—ƒ๏ธ '๐Ÿง‚', SecureRandom.random_bytes
62
12
  end
63
13
 
64
- when :set
65
- ๐Ÿ”’ ๐Ÿท๏ธ, ๐Ÿ’Ž
14
+ def ๐Ÿ“
15
+ ๐Ÿ—ƒ๏ธ '๐Ÿ“', ActiveSupport::MessageEncryptor.key_len
16
+ end
66
17
 
67
- when :exit
68
- exit!
18
+ def ๐Ÿšฝ
19
+ print "\r"
20
+ $stdout.flush
21
+ end
69
22
 
70
- when :reset
71
- if โ“($๐Ÿ”‘, simple: false) == $โœ๏ธ
72
- ['ddllv', '๐Ÿง‚', '๐Ÿ“'].each_entry{ |item| File.delete "./#{item}" }
73
- exit!
74
- else
75
- puts INVALID_KEY
23
+ def ๐Ÿงผ ๐Ÿ—‘๏ธ
24
+ ๐Ÿ—‘๏ธ.chomp
76
25
  end
77
26
 
78
- else
79
- puts UNSUPPORTED_๐Ÿ‘พ
80
- end
81
-
82
- end
83
-
84
- def ๐Ÿ’พ
85
- โš›๏ธ = ActiveSupport::MessageEncryptor.new(
86
- ActiveSupport::KeyGenerator.new($โœ๏ธ).generate_key($๐Ÿง‚.call, $๐Ÿ“.call)
87
- )
88
-
89
- was_bootstrapped = !(not $๐Ÿ—„๏ธ['ddllv'])
90
- ๐Ÿ“– = ๐Ÿ—ƒ๏ธ 'ddllv', {}, โš›๏ธ: โš›๏ธ
91
- ๐Ÿ“€ 'ddllv', ๐Ÿ“–, โš›๏ธ: โš›๏ธ if was_bootstrapped
92
- end
93
-
94
- def ๐Ÿ“€ ๐Ÿ—‚๏ธ, ๐Ÿ“–, โš›๏ธ: false
95
- if โš›๏ธ
96
- ๐Ÿ“• = โš›๏ธ.encrypt_and_sign ๐Ÿ“–
97
- else
98
- ๐Ÿ“• = ๐Ÿ“–
99
- end
100
-
101
- ๐Ÿ“• = Marshal.dump ๐Ÿ“•
102
- File.write "./#{๐Ÿ—‚๏ธ}", ๐Ÿ“•
103
- return ๐Ÿ“•
104
- end
105
-
106
- def ๐Ÿ—ƒ๏ธ ๐Ÿ—‚๏ธ, ๐Ÿ’Ž, โš›๏ธ: false
107
- if $๐Ÿ—„๏ธ[๐Ÿ—‚๏ธ]
108
- return $๐Ÿ—„๏ธ[๐Ÿ—‚๏ธ]
109
- end
110
-
111
- begin
112
- ๐Ÿ“• = File.read "./#{๐Ÿ—‚๏ธ}"
113
- rescue Errno::ENOENT
114
- ๐Ÿ“• = ๐Ÿ“€ ๐Ÿ—‚๏ธ, ๐Ÿ’Ž, โš›๏ธ: โš›๏ธ
115
- end
116
-
117
- if not ๐Ÿ“•.empty?
118
- ๐Ÿ“• = Marshal.load ๐Ÿ“•
27
+ def โ“ ๐Ÿ”‘, simple: true
28
+ print ๐Ÿ”‘
29
+ โœ๏ธ = ๐Ÿงผ STDIN.noecho(&:gets)
30
+ @@โœ๏ธ = โœ๏ธ if simple
31
+ ๐Ÿšฝ
32
+ return โœ๏ธ
33
+ end
119
34
 
120
- if โš›๏ธ
35
+ def ๐Ÿ”“ ๐Ÿท๏ธ: nil
36
+ if ๐Ÿท๏ธ.nil?
37
+ puts @@๐Ÿ—„๏ธ['ใ€ฝ๏ธ']
38
+ else
39
+ puts @@๐Ÿ—„๏ธ['ใ€ฝ๏ธ'][๐Ÿท๏ธ]
40
+ end
41
+
42
+ end
43
+
44
+ def ๐Ÿ”’ ๐Ÿท๏ธ, ๐Ÿ’Ž
45
+ @@๐Ÿ—„๏ธ['ใ€ฝ๏ธ'][๐Ÿท๏ธ] = ๐Ÿ’Ž
46
+ ๐Ÿ’พ
47
+ end
48
+
49
+ def ๐Ÿ’พ
50
+ โš›๏ธ = ActiveSupport::MessageEncryptor.new(
51
+ ActiveSupport::KeyGenerator.new(@@โœ๏ธ).generate_key(๐Ÿง‚, ๐Ÿ“)
52
+ )
53
+
54
+ ๐Ÿฅพ = !(not @@๐Ÿ—„๏ธ['ใ€ฝ๏ธ'])
55
+ ๐Ÿ“– = ๐Ÿ—ƒ๏ธ 'ใ€ฝ๏ธ', {}, โš›๏ธ: โš›๏ธ
56
+ ๐Ÿ“€ 'ใ€ฝ๏ธ', ๐Ÿ“–, โš›๏ธ: โš›๏ธ if ๐Ÿฅพ
57
+ end
58
+
59
+ def ๐Ÿ“€ ๐Ÿ—‚๏ธ, ๐Ÿ“–, โš›๏ธ: false
60
+ if โš›๏ธ
61
+ ๐Ÿ“• = โš›๏ธ.encrypt_and_sign ๐Ÿ“–
62
+ else
63
+ ๐Ÿ“• = ๐Ÿ“–
64
+ end
65
+
66
+ ๐Ÿ“• = Marshal.dump ๐Ÿ“•
67
+ File.write "./#{๐Ÿ—‚๏ธ}", ๐Ÿ“•
68
+ return ๐Ÿ“•
69
+ end
70
+
71
+ def ๐Ÿ—ƒ๏ธ ๐Ÿ—‚๏ธ, ๐Ÿ’Ž, โš›๏ธ: false
72
+ if @@๐Ÿ—„๏ธ[๐Ÿ—‚๏ธ]
73
+ return @@๐Ÿ—„๏ธ[๐Ÿ—‚๏ธ]
74
+ end
75
+
121
76
  begin
122
- ๐Ÿ“– = โš›๏ธ.decrypt_and_verify ๐Ÿ“•
123
- rescue ActiveSupport::MessageVerifier::InvalidSignature
124
- puts INVALID_KEY
77
+ ๐Ÿ“• = File.read "./#{๐Ÿ—‚๏ธ}"
78
+ rescue Errno::ENOENT
79
+ ๐Ÿ“• = ๐Ÿ“€ ๐Ÿ—‚๏ธ, ๐Ÿ’Ž, โš›๏ธ: โš›๏ธ
80
+ end
81
+
82
+ if not ๐Ÿ“•.empty?
83
+ ๐Ÿ“• = Marshal.load ๐Ÿ“•
84
+
85
+ if โš›๏ธ
86
+ begin
87
+ ๐Ÿ“– = โš›๏ธ.decrypt_and_verify ๐Ÿ“•
88
+ rescue ActiveSupport::MessageVerifier::InvalidSignature
89
+ puts $โ€ผ๏ธ๐Ÿ”‘
90
+ exit!
91
+ end
92
+
93
+ else
94
+ ๐Ÿ“– = ๐Ÿ“•
95
+ end
96
+
97
+ end
98
+
99
+ return @@๐Ÿ—„๏ธ[๐Ÿ—‚๏ธ] = ๐Ÿ“–
100
+ end
101
+
102
+ def ๐Ÿค– ๐Ÿ—ฃ๏ธ
103
+ ๐Ÿ‘พ, ๐Ÿท๏ธ, ๐Ÿ’Ž = ๐Ÿ—ฃ๏ธ.split
104
+
105
+ if ๐Ÿ‘พ.nil?
106
+ return
107
+ end
108
+
109
+ case ๐Ÿ‘พ.to_sym
110
+ when :get
111
+ if ๐Ÿท๏ธ
112
+ ๐Ÿ”“ ๐Ÿท๏ธ: ๐Ÿท๏ธ
113
+ else
114
+ ๐Ÿ”“
115
+ end
116
+
117
+ when :set
118
+ ๐Ÿ”’ ๐Ÿท๏ธ, ๐Ÿ’Ž
119
+
120
+ when :exit, :quit
125
121
  exit!
122
+
123
+ when :help
124
+ puts "For help, quit and run `uhide -h` from your shell"
125
+
126
+ when :reset
127
+ if โ“(@@๐Ÿ”‘, simple: false) == @@โœ๏ธ
128
+ ['ใ€ฝ๏ธ', '๐Ÿง‚', '๐Ÿ“'].each_entry { | ๐Ÿ“‚ | File.delete "./#{๐Ÿ“‚}" }
129
+ exit!
130
+ else
131
+ puts $โ€ผ๏ธ๐Ÿ”‘
132
+ end
133
+
134
+ else
135
+ puts $โ€ผ๏ธ๐Ÿ‘พ
126
136
  end
127
137
 
128
- else
129
- ๐Ÿ“– = ๐Ÿ“•
130
138
  end
131
139
 
132
- end
133
-
134
- return $๐Ÿ—„๏ธ[๐Ÿ—‚๏ธ] = ๐Ÿ“–
135
- end
136
-
137
- class Uhide::Main
138
- class << self
139
- def start()
140
+ def โœˆ๏ธ
140
141
  begin
141
- โ“ $๐Ÿ”‘
142
+ โ“ @@๐Ÿ”‘
142
143
 
143
144
  ๐Ÿ’พ
144
145
 
145
146
  loop do
146
- print $โ˜”
147
- ๐Ÿค–(๐Ÿงผ gets)
147
+ print @@โ˜”
148
+ ๐Ÿค– ๐Ÿงผ gets
148
149
  end
149
150
 
150
151
  rescue SystemExit, Interrupt
@@ -157,4 +158,3 @@ class Uhide::Main
157
158
  end
158
159
 
159
160
  end
160
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uhide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.26
4
+ version: 0.0.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Keen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-15 00:00:00.000000000 Z
11
+ date: 2021-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport