uhide 0.0.26 โ†’ 0.0.31

Sign up to get free protection for your applications and to get access to all the features.
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