uhide 0.0.6 → 0.0.7

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/bin/uhide +2 -2
  3. data/lib/uhide.rb +2 -153
  4. data/lib/uhide/main.rb +162 -0
  5. metadata +2 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e52f66ba4e2ac72f5018fea0fdb8076939883fc78bdb8ec34300e197a7d9f938
4
- data.tar.gz: 20fcf1d71dcf9538114a2f8adc533cf61607fc7b0c199b28e424228cf95822ab
3
+ metadata.gz: 8a8fd79cc30cb4eff3b0da4798c5d9c72557148d5bd004b74b359acd39ee08ac
4
+ data.tar.gz: f4f931d8f2c0ff7ac55fe3d90ec53a0e6840d6e08dcf1678758a0bdaa00e353e
5
5
  SHA512:
6
- metadata.gz: 33197f6c42b16bd08e9906a6e874040a3ba5aebc1b10584c933c3094f47e7bf06bcc952578719ef95b9c71ca61b90b3c0b641cc21d209b87450cef9e1927b663
7
- data.tar.gz: 3a63ce2db46a959e4d0d9aa08521ea744686ab9238786f9c49e2750edf5ad01d0cec6887695d0fdd811508ced96d6c575d33ef34d4fa300f6b07bf9337fbb734
6
+ metadata.gz: 2d70fd766f4d9ec4a4d3509f41f2e1928be482bfad85295fa02441c015dcdb4c4a00aaae0fba30541c233c4c5582059c74472d6c196f16c14316159e6f8acd6b
7
+ data.tar.gz: 6a687531e01bc123603183ade8e25c183702057bd6fd0c2a3fc891179fe8045477de3a389a0b7a23cdbf2ca40358a5ae5fc06c19adb0b28d9cf3ffe63fa32c58
data/bin/uhide CHANGED
@@ -1,3 +1,3 @@
1
- #!/usr/bin/env ruby
1
+ require 'uhide'
2
2
 
3
- uhide()
3
+ Uhide::Main.start()
data/lib/uhide.rb CHANGED
@@ -1,156 +1,5 @@
1
- require 'rubygems'
2
- require 'bundler/setup'
3
- require 'yaml'
4
- require 'io/console'
5
- require 'securerandom'
6
-
7
- Bundler.require(:default)
8
-
9
-
10
- ☔ = " ☔ > "
11
- $🔑 = " 🔑 > "
12
- $🧂 = (lambda { 🗃️ '🧂', SecureRandom.random_bytes })
13
- $📏 = lambda { 🗃️ '📏', ActiveSupport::MessageEncryptor.key_len }
14
- INVALID_KEY = 'invalid key'.colorize(:red)
15
- $cache = {}
16
-
17
- def password?
18
- 🧼 STDIN.noecho(&:gets)
19
- end
20
-
21
- def 🚽
22
- print "\r"
23
- $stdout.flush
24
- end
25
-
26
- def ❓ 🔑, simple: true
27
- print 🔑
28
- password = password?
29
- $password = password if simple
30
- 🚽
31
- return password
32
- end
33
-
34
- def 🧼 🗑️
35
- 🗑️.chomp
36
- end
37
-
38
- def 🔓 🏷️: nil
39
- if 🏷️.nil?
40
- puts $cache['ddllv']
41
- else
42
- puts $cache['ddllv'][🏷️]
43
- end
44
-
45
- 📕 = File.read './🧂'
46
- if 📕.empty?
47
- 🔀 = SecureRandom.random_bytes $📏.call
48
- File.write './🧂', Marshal.dump(🔀)
49
- return $cache['🧂'] = 🔀
50
- else
51
- return $cache['🧂'] = Marshal.load(File.read './🧂')
52
- end
53
-
54
- end
55
-
56
- def 🔒 🏷️, 💎
57
- $cache['ddllv'][🏷️] = 💎
58
- 💾
59
- end
60
-
61
- def 🤖 🗣️
62
- 👾, 🏷️, 💎 = 🗣️.split
63
-
64
- case 👾.to_sym
65
- when :get
66
- if 🏷️
67
- 🔓 🏷️: 🏷️
68
- else
69
- 🔓
70
- end
71
-
72
- when :set
73
- 🔒 🏷️, 💎
74
-
75
- when :reset
76
- if ❓($🔑, simple: false) == $password
77
- ['ddllv', '🧂', '📏'].each_entry{ |item| File.delete "./#{item}" }
78
- exit!
79
- else
80
- puts INVALID_KEY
81
- end
82
-
83
- end
84
-
85
- end
86
-
87
- def 💾
88
- ⚛️ = ActiveSupport::MessageEncryptor.new(
89
- ActiveSupport::KeyGenerator.new($password).generate_key($🧂.call, $📏.call)
90
- )
91
-
92
- was_bootstrapped = !(not $cache['ddllv'])
93
- 📖 = 🗃️ 'ddllv', {}, ⚛️: ⚛️
94
- 📀 'ddllv', 📖, ⚛️: ⚛️ if was_bootstrapped
95
- end
96
-
97
- def 📀 🗂️, 📖, ⚛️: false
98
- if ⚛️
99
- 📕 = ⚛️.encrypt_and_sign 📖
100
- else
101
- 📕 = 📖
102
- end
103
-
104
- 📕 = Marshal.dump(📕)
105
- File.write "./#{🗂️}", 📕
106
- return 📕
107
- end
108
-
109
- def 🗃️ 🗂️, 🔀, ⚛️: false
110
- if $cache[🗂️]
111
- return $cache[🗂️]
112
- end
1
+ module Uhide
113
2
 
114
- begin
115
- 📕 = File.read "./#{🗂️}"
116
- rescue Errno::ENOENT
117
- 📕 = 📀 🗂️, 🔀, ⚛️: ⚛️
118
- end
119
-
120
- if not 📕.empty?
121
- 📕 = Marshal.load 📕
122
-
123
- if ⚛️
124
- begin
125
- 📖 = ⚛️.decrypt_and_verify 📕
126
- rescue ActiveSupport::MessageVerifier::InvalidSignature
127
- puts INVALID_KEY
128
- exit!
129
- end
130
-
131
- else
132
- 📖 = 📕
133
- end
134
-
135
- end
136
-
137
- return $cache[🗂️] = 📖
138
3
  end
139
4
 
140
- def uhide()
141
- begin
142
- ❓ $🔑
143
-
144
- 💾
145
-
146
- loop do
147
- print ☔
148
- 🤖(🧼 gets)
149
- end
150
-
151
- rescue SystemExit, Interrupt
152
- 🚽
153
- exit!
154
- end
155
-
156
- end
5
+ require_relative "uhide/main"
data/lib/uhide/main.rb ADDED
@@ -0,0 +1,162 @@
1
+ require 'rubygems'
2
+ require 'bundler/setup'
3
+ require 'yaml'
4
+ require 'io/console'
5
+ require 'securerandom'
6
+
7
+ Bundler.require(:default)
8
+
9
+ ☔ = " ☔ > "
10
+ $🔑 = " 🔑 > "
11
+ $🧂 = (lambda { 🗃️ '🧂', SecureRandom.random_bytes })
12
+ $📏 = lambda { 🗃️ '📏', ActiveSupport::MessageEncryptor.key_len }
13
+ INVALID_KEY = 'invalid key'.colorize(:red)
14
+ $cache = {}
15
+
16
+ def password?
17
+ 🧼 STDIN.noecho(&:gets)
18
+ end
19
+
20
+ def 🚽
21
+ print "\r"
22
+ $stdout.flush
23
+ end
24
+
25
+ def ❓ 🔑, simple: true
26
+ print 🔑
27
+ password = password?
28
+ $password = password if simple
29
+ 🚽
30
+ return password
31
+ end
32
+
33
+ def 🧼 🗑️
34
+ 🗑️.chomp
35
+ end
36
+
37
+ def 🔓 🏷️: nil
38
+ if 🏷️.nil?
39
+ puts $cache['ddllv']
40
+ else
41
+ puts $cache['ddllv'][🏷️]
42
+ end
43
+
44
+ 📕 = File.read './🧂'
45
+ if 📕.empty?
46
+ 🔀 = SecureRandom.random_bytes $📏.call
47
+ File.write './🧂', Marshal.dump(🔀)
48
+ return $cache['🧂'] = 🔀
49
+ else
50
+ return $cache['🧂'] = Marshal.load(File.read './🧂')
51
+ end
52
+
53
+ end
54
+
55
+ def 🔒 🏷️, 💎
56
+ $cache['ddllv'][🏷️] = 💎
57
+ 💾
58
+ end
59
+
60
+ def 🤖 🗣️
61
+ 👾, 🏷️, 💎 = 🗣️.split
62
+
63
+ case 👾.to_sym
64
+ when :get
65
+ if 🏷️
66
+ 🔓 🏷️: 🏷️
67
+ else
68
+ 🔓
69
+ end
70
+
71
+ when :set
72
+ 🔒 🏷️, 💎
73
+
74
+ when :reset
75
+ if ❓($🔑, simple: false) == $password
76
+ ['ddllv', '🧂', '📏'].each_entry{ |item| File.delete "./#{item}" }
77
+ exit!
78
+ else
79
+ puts INVALID_KEY
80
+ end
81
+
82
+ end
83
+
84
+ end
85
+
86
+ def 💾
87
+ ⚛️ = ActiveSupport::MessageEncryptor.new(
88
+ ActiveSupport::KeyGenerator.new($password).generate_key($🧂.call, $📏.call)
89
+ )
90
+
91
+ was_bootstrapped = !(not $cache['ddllv'])
92
+ 📖 = 🗃️ 'ddllv', {}, ⚛️: ⚛️
93
+ 📀 'ddllv', 📖, ⚛️: ⚛️ if was_bootstrapped
94
+ end
95
+
96
+ def 📀 🗂️, 📖, ⚛️: false
97
+ if ⚛️
98
+ 📕 = ⚛️.encrypt_and_sign 📖
99
+ else
100
+ 📕 = 📖
101
+ end
102
+
103
+ 📕 = Marshal.dump(📕)
104
+ File.write "./#{🗂️}", 📕
105
+ return 📕
106
+ end
107
+
108
+ def 🗃️ 🗂️, 🔀, ⚛️: false
109
+ if $cache[🗂️]
110
+ return $cache[🗂️]
111
+ end
112
+
113
+ begin
114
+ 📕 = File.read "./#{🗂️}"
115
+ rescue Errno::ENOENT
116
+ 📕 = 📀 🗂️, 🔀, ⚛️: ⚛️
117
+ end
118
+
119
+ if not 📕.empty?
120
+ 📕 = Marshal.load 📕
121
+
122
+ if ⚛️
123
+ begin
124
+ 📖 = ⚛️.decrypt_and_verify 📕
125
+ rescue ActiveSupport::MessageVerifier::InvalidSignature
126
+ puts INVALID_KEY
127
+ exit!
128
+ end
129
+
130
+ else
131
+ 📖 = 📕
132
+ end
133
+
134
+ end
135
+
136
+ return $cache[🗂️] = 📖
137
+ end
138
+
139
+ class Uhide::Main
140
+ class << self
141
+ def start()
142
+ begin
143
+ ❓ $🔑
144
+
145
+ 💾
146
+
147
+ loop do
148
+ print ☔
149
+ 🤖(🧼 gets)
150
+ end
151
+
152
+ rescue SystemExit, Interrupt
153
+ 🚽
154
+ exit!
155
+ end
156
+
157
+ end
158
+
159
+ end
160
+
161
+ end
162
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uhide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Keen
@@ -22,6 +22,7 @@ files:
22
22
  - README.md
23
23
  - bin/uhide
24
24
  - lib/uhide.rb
25
+ - lib/uhide/main.rb
25
26
  homepage: https://github.com/mkeen/uhide
26
27
  licenses:
27
28
  - ISC (BSD2/MIT)