@bbk47/toolbox 1.0.7 → 2.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.
- package/lib/deferred.d.ts +7 -0
- package/lib/deferred.d.ts.map +1 -0
- package/lib/deferred.js +8 -4
- package/lib/deferred.js.map +1 -0
- package/lib/encrypt.d.ts +19 -0
- package/lib/encrypt.d.ts.map +1 -0
- package/lib/encrypt.js +78 -79
- package/lib/encrypt.js.map +1 -0
- package/lib/index.d.ts +19 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +58 -8
- package/lib/index.js.map +1 -0
- package/lib/logger.d.ts +11 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +23 -14
- package/lib/logger.js.map +1 -0
- package/lib/md5.d.ts +2 -0
- package/lib/md5.d.ts.map +1 -0
- package/lib/md5.js +9 -6
- package/lib/md5.js.map +1 -0
- package/lib/merge.d.ts +2 -0
- package/lib/merge.d.ts.map +1 -0
- package/lib/merge.js +7 -8
- package/lib/merge.js.map +1 -0
- package/lib/proxy.d.ts +6 -0
- package/lib/proxy.d.ts.map +1 -0
- package/lib/proxy.js +65 -0
- package/lib/proxy.js.map +1 -0
- package/lib/retry.d.ts +6 -0
- package/lib/retry.d.ts.map +1 -0
- package/lib/retry.js +11 -13
- package/lib/retry.js.map +1 -0
- package/lib/server.d.ts +14 -0
- package/lib/server.d.ts.map +1 -0
- package/lib/server.js +71 -0
- package/lib/server.js.map +1 -0
- package/lib/socks5.d.ts +8 -0
- package/lib/socks5.d.ts.map +1 -0
- package/lib/socks5.js +24 -27
- package/lib/socks5.js.map +1 -0
- package/lib/timeout.d.ts +2 -0
- package/lib/timeout.d.ts.map +1 -0
- package/lib/timeout.js +7 -0
- package/lib/timeout.js.map +1 -0
- package/lib/transport/creater.d.ts +14 -0
- package/lib/transport/creater.d.ts.map +1 -0
- package/lib/transport/creater.js +72 -0
- package/lib/transport/creater.js.map +1 -0
- package/lib/transport/helper.d.ts +14 -0
- package/lib/transport/helper.d.ts.map +1 -0
- package/lib/transport/helper.js +63 -0
- package/lib/transport/helper.js.map +1 -0
- package/lib/transport/index.d.ts +6 -0
- package/lib/transport/index.d.ts.map +1 -0
- package/lib/transport/index.js +43 -0
- package/lib/transport/index.js.map +1 -0
- package/lib/transport/transport.d.ts +23 -0
- package/lib/transport/transport.d.ts.map +1 -0
- package/lib/transport/transport.js +41 -0
- package/lib/transport/transport.js.map +1 -0
- package/lib/uuid.d.ts +2 -0
- package/lib/uuid.d.ts.map +1 -0
- package/lib/uuid.js +14 -20
- package/lib/uuid.js.map +1 -0
- package/package.json +18 -4
- package/src/deferred.ts +14 -0
- package/src/encrypt.ts +119 -0
- package/src/index.ts +29 -0
- package/src/logger.ts +59 -0
- package/src/md5.ts +5 -0
- package/src/merge.ts +16 -0
- package/src/proxy.ts +65 -0
- package/src/retry.ts +32 -0
- package/src/server.ts +77 -0
- package/src/socks5.ts +46 -0
- package/src/timeout.ts +3 -0
- package/src/transport/creater.ts +88 -0
- package/src/transport/helper.ts +73 -0
- package/src/transport/index.ts +6 -0
- package/src/transport/transport.ts +54 -0
- package/src/uuid.ts +37 -0
- package/.github/workflows/test.yml +0 -30
- package/.prettierrc +0 -11
- package/test/deferred.js +0 -24
- package/test/encrypt.js +0 -25
- package/test/md5.js +0 -9
- package/test/merge.js +0 -11
- package/test/retry.js +0 -61
- package/test/socks5.js +0 -42
- package/test/uuid.js +0 -11
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred.d.ts","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC7B,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,CAAC,GAAG,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,CAOvD"}
|
package/lib/deferred.js
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = deferred;
|
|
4
|
+
function deferred() {
|
|
2
5
|
const defer = {};
|
|
3
|
-
defer.promise = new Promise((resolve,reject)=>{
|
|
4
|
-
defer.resolve=resolve;
|
|
5
|
-
defer.reject=reject;
|
|
6
|
+
defer.promise = new Promise((resolve, reject) => {
|
|
7
|
+
defer.resolve = resolve;
|
|
8
|
+
defer.reject = reject;
|
|
6
9
|
});
|
|
7
10
|
return defer;
|
|
8
11
|
}
|
|
12
|
+
//# sourceMappingURL=deferred.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deferred.js","sourceRoot":"","sources":["../src/deferred.ts"],"names":[],"mappings":";;AAMA,2BAOC;AAPD,SAAwB,QAAQ;IAC5B,MAAM,KAAK,GAAG,EAAiB,CAAC;IAChC,KAAK,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC/C,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
package/lib/encrypt.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type CipherKey = string;
|
|
2
|
+
interface KeyIV {
|
|
3
|
+
key: Buffer;
|
|
4
|
+
iv: Buffer;
|
|
5
|
+
}
|
|
6
|
+
export type CipherMethod = 'aes-128-cfb' | 'aes-192-cfb' | 'aes-256-cfb' | 'bf-cfb' | 'camellia-128-cfb' | 'camellia-192-cfb' | 'camellia-256-cfb' | 'cast5-cfb' | 'des-cfb' | 'idea-cfb' | 'rc2-cfb' | 'rc4' | 'seed-cfb';
|
|
7
|
+
export declare class Encryptor {
|
|
8
|
+
key: CipherKey;
|
|
9
|
+
method: CipherMethod;
|
|
10
|
+
_EVP_KEY: Buffer;
|
|
11
|
+
_IV: Buffer;
|
|
12
|
+
constructor(key?: string, method?: CipherMethod);
|
|
13
|
+
get_cipher_len(method: string): [number, number];
|
|
14
|
+
getKeyIV(password: string, method: string): KeyIV;
|
|
15
|
+
encrypt(buf: Buffer): Buffer;
|
|
16
|
+
decrypt(buf: Buffer): Buffer;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=encrypt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.d.ts","sourceRoot":"","sources":["../src/encrypt.ts"],"names":[],"mappings":"AAEA,KAAK,SAAS,GAAG,MAAM,CAAC;AAIxB,UAAU,KAAK;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;CACd;AAmCD,MAAM,MAAM,YAAY,GAClB,aAAa,GACb,aAAa,GACb,aAAa,GACb,QAAQ,GACR,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,WAAW,GACX,SAAS,GACT,UAAU,GACV,SAAS,GACT,KAAK,GACL,UAAU,CAAC;AAkBjB,qBAAa,SAAS;IAClB,GAAG,EAAE,SAAS,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,GAAE,MAAiB,EAAE,MAAM,GAAE,YAA4B;IAWxE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAKhD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK;IAQjD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAO5B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAM/B"}
|
package/lib/encrypt.js
CHANGED
|
@@ -1,87 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Encryptor = void 0;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
3
8
|
const bytes_to_key_results = {};
|
|
4
|
-
|
|
5
9
|
const EVP_BytesToKey = function (password, key_len, iv_len) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
10
|
+
const cacheKey = `${password}:${key_len}:${iv_len}`;
|
|
11
|
+
if (bytes_to_key_results[cacheKey]) {
|
|
12
|
+
return bytes_to_key_results[cacheKey];
|
|
13
|
+
}
|
|
14
|
+
const m = [];
|
|
15
|
+
let i = 0;
|
|
16
|
+
let count = 0;
|
|
17
|
+
while (count < key_len + iv_len) {
|
|
18
|
+
const md5hash = crypto_1.default.createHash('md5');
|
|
19
|
+
let data = password;
|
|
20
|
+
if (i > 0) {
|
|
21
|
+
data = Buffer.concat([m[i - 1], password]);
|
|
22
|
+
}
|
|
23
|
+
md5hash.update(data);
|
|
24
|
+
const d = md5hash.digest();
|
|
25
|
+
m.push(d);
|
|
26
|
+
count += d.length;
|
|
27
|
+
i += 1;
|
|
18
28
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
}
|
|
25
|
-
ms = Buffer.concat(m);
|
|
26
|
-
key = ms.slice(0, key_len);
|
|
27
|
-
iv = ms.slice(key_len, key_len + iv_len);
|
|
28
|
-
bytes_to_key_results[password] = [key, iv];
|
|
29
|
-
return [key, iv];
|
|
29
|
+
const ms = Buffer.concat(m);
|
|
30
|
+
const key = ms.slice(0, key_len);
|
|
31
|
+
const iv = ms.slice(key_len, key_len + iv_len);
|
|
32
|
+
bytes_to_key_results[cacheKey] = [key, iv];
|
|
33
|
+
return [key, iv];
|
|
30
34
|
};
|
|
31
|
-
|
|
32
35
|
const method_supported = {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
'aes-128-cfb': [16, 16],
|
|
37
|
+
'aes-192-cfb': [24, 16],
|
|
38
|
+
'aes-256-cfb': [32, 16],
|
|
39
|
+
'bf-cfb': [16, 8],
|
|
40
|
+
'camellia-128-cfb': [16, 16],
|
|
41
|
+
'camellia-192-cfb': [24, 16],
|
|
42
|
+
'camellia-256-cfb': [32, 16],
|
|
43
|
+
'cast5-cfb': [16, 8],
|
|
44
|
+
'des-cfb': [8, 8],
|
|
45
|
+
'idea-cfb': [16, 8],
|
|
46
|
+
'rc2-cfb': [16, 8],
|
|
47
|
+
rc4: [16, 0],
|
|
48
|
+
'seed-cfb': [16, 16],
|
|
46
49
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
50
|
+
class Encryptor {
|
|
51
|
+
constructor(key = 'MVP123', method = 'aes-256-cfb') {
|
|
52
|
+
this.key = key;
|
|
53
|
+
this.method = method;
|
|
54
|
+
if (!method_supported[this.method]) {
|
|
55
|
+
throw new Error('Not support method!');
|
|
56
|
+
}
|
|
57
|
+
const keyIV = this.getKeyIV(key, method);
|
|
58
|
+
this._EVP_KEY = keyIV.key;
|
|
59
|
+
this._IV = keyIV.iv;
|
|
60
|
+
}
|
|
61
|
+
get_cipher_len(method) {
|
|
62
|
+
const m = method.toLowerCase();
|
|
63
|
+
return method_supported[m];
|
|
64
|
+
}
|
|
65
|
+
getKeyIV(password, method) {
|
|
66
|
+
const m = method.toLowerCase();
|
|
67
|
+
const passwordBuf = Buffer.from(password, 'ascii');
|
|
68
|
+
const [keyLen, ivLen] = this.get_cipher_len(m);
|
|
69
|
+
const ref = EVP_BytesToKey(passwordBuf, keyLen, ivLen);
|
|
70
|
+
return { key: ref[0], iv: ref[1] };
|
|
71
|
+
}
|
|
72
|
+
encrypt(buf) {
|
|
73
|
+
const cipher = crypto_1.default.createCipheriv(this.method, this._EVP_KEY, this._IV);
|
|
74
|
+
const encrypted = cipher.update(buf);
|
|
75
|
+
const result = cipher.final();
|
|
76
|
+
return Buffer.concat([encrypted, result]);
|
|
77
|
+
}
|
|
78
|
+
decrypt(buf) {
|
|
79
|
+
const decipher = crypto_1.default.createDecipheriv(this.method, this._EVP_KEY, this._IV);
|
|
80
|
+
const decrypted = decipher.update(buf);
|
|
81
|
+
const result = decipher.final();
|
|
82
|
+
return Buffer.concat([decrypted, result]);
|
|
83
|
+
}
|
|
57
84
|
}
|
|
58
|
-
|
|
59
|
-
Encryptor.prototype.get_cipher_len = function (method) {
|
|
60
|
-
method = method.toLowerCase();
|
|
61
|
-
return method_supported[method];
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
Encryptor.prototype.getKeyIV = function (password, method) {
|
|
65
|
-
method = method.toLowerCase();
|
|
66
|
-
password = Buffer.from(password, "ascii");
|
|
67
|
-
var m = this.get_cipher_len(method);
|
|
68
|
-
var _ref = EVP_BytesToKey(password, m[0], m[1]);
|
|
69
|
-
return { key: _ref[0], iv: _ref[1] };
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
Encryptor.prototype.encrypt = function (buf) {
|
|
73
|
-
const cipher = crypto.createCipheriv(this.method, this._EVP_KEY, this._IV);
|
|
74
|
-
let encrypted = cipher.update(buf);
|
|
75
|
-
let result = cipher.final();
|
|
76
|
-
|
|
77
|
-
let resultBuf = Buffer.concat([encrypted, result]);
|
|
78
|
-
return resultBuf;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
Encryptor.prototype.decrypt = function (buf) {
|
|
82
|
-
let decipher = crypto.createDecipheriv(this.method, this._EVP_KEY, this._IV);
|
|
83
|
-
let decrypted = decipher.update(buf);
|
|
84
|
-
let result = decipher.final();
|
|
85
|
-
return Buffer.concat([decrypted, result]);
|
|
86
|
-
};
|
|
87
85
|
exports.Encryptor = Encryptor;
|
|
86
|
+
//# sourceMappingURL=encrypt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"encrypt.js","sourceRoot":"","sources":["../src/encrypt.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export { default as deferred } from './deferred';
|
|
2
|
+
export type { Deferred } from './deferred';
|
|
3
|
+
export * as encrypt from './encrypt';
|
|
4
|
+
export type { CipherMethod } from './encrypt';
|
|
5
|
+
export { default as logger } from './logger';
|
|
6
|
+
export type { LogLevel, Logger } from './logger';
|
|
7
|
+
export { default as md5 } from './md5';
|
|
8
|
+
export { default as merge } from './merge';
|
|
9
|
+
export * as proxy from './proxy';
|
|
10
|
+
export type { OnConnect, ConnectCallback } from './proxy';
|
|
11
|
+
export { default as retry } from './retry';
|
|
12
|
+
export type { RetryOptions } from './retry';
|
|
13
|
+
export * as server from './server';
|
|
14
|
+
export * as socks5 from './socks5';
|
|
15
|
+
export type { Socks5AddrInfo } from './socks5';
|
|
16
|
+
export * as timeout from './timeout';
|
|
17
|
+
export * as transport from './transport';
|
|
18
|
+
export { default as uuid } from './uuid';
|
|
19
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,YAAY,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEjD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AAEnC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,YAAY,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AAErC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,8 +1,58 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.uuid = exports.transport = exports.timeout = exports.socks5 = exports.server = exports.retry = exports.proxy = exports.merge = exports.md5 = exports.logger = exports.encrypt = exports.deferred = void 0;
|
|
40
|
+
var deferred_1 = require("./deferred");
|
|
41
|
+
Object.defineProperty(exports, "deferred", { enumerable: true, get: function () { return __importDefault(deferred_1).default; } });
|
|
42
|
+
exports.encrypt = __importStar(require("./encrypt"));
|
|
43
|
+
var logger_1 = require("./logger");
|
|
44
|
+
Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return __importDefault(logger_1).default; } });
|
|
45
|
+
var md5_1 = require("./md5");
|
|
46
|
+
Object.defineProperty(exports, "md5", { enumerable: true, get: function () { return __importDefault(md5_1).default; } });
|
|
47
|
+
var merge_1 = require("./merge");
|
|
48
|
+
Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return __importDefault(merge_1).default; } });
|
|
49
|
+
exports.proxy = __importStar(require("./proxy"));
|
|
50
|
+
var retry_1 = require("./retry");
|
|
51
|
+
Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return __importDefault(retry_1).default; } });
|
|
52
|
+
exports.server = __importStar(require("./server"));
|
|
53
|
+
exports.socks5 = __importStar(require("./socks5"));
|
|
54
|
+
exports.timeout = __importStar(require("./timeout"));
|
|
55
|
+
exports.transport = __importStar(require("./transport"));
|
|
56
|
+
var uuid_1 = require("./uuid");
|
|
57
|
+
Object.defineProperty(exports, "uuid", { enumerable: true, get: function () { return __importDefault(uuid_1).default; } });
|
|
58
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAiD;AAAxC,qHAAA,OAAO,OAAY;AAG5B,qDAAqC;AAGrC,mCAA6C;AAApC,iHAAA,OAAO,OAAU;AAG1B,6BAAuC;AAA9B,2GAAA,OAAO,OAAO;AAEvB,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AAEzB,iDAAiC;AAGjC,iCAA2C;AAAlC,+GAAA,OAAO,OAAS;AAGzB,mDAAmC;AAEnC,mDAAmC;AAGnC,qDAAqC;AAErC,yDAAyC;AAEzC,+BAAyC;AAAhC,6GAAA,OAAO,OAAQ"}
|
package/lib/logger.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export type LogLevel = 'fatal' | 'error' | 'warn' | 'info' | 'log' | 'debug';
|
|
2
|
+
export interface Logger {
|
|
3
|
+
fatal: (msg: string) => void;
|
|
4
|
+
error: (msg: string) => void;
|
|
5
|
+
warn: (msg: string) => void;
|
|
6
|
+
info: (msg: string) => void;
|
|
7
|
+
log: (msg: string) => void;
|
|
8
|
+
debug: (msg: string) => void;
|
|
9
|
+
}
|
|
10
|
+
export default function getCustomLogger(label: string, level: LogLevel, _logFile?: string): Logger;
|
|
11
|
+
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAE7E,MAAM,WAAW,MAAM;IACnB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAqBD,MAAM,CAAC,OAAO,UAAU,eAAe,CACnC,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM,CAwBR"}
|
package/lib/logger.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = getCustomLogger;
|
|
3
4
|
const levelVal = {
|
|
4
5
|
fatal: { piv: 1, colour: '\x1b[31m%s\x1b[0m' },
|
|
5
6
|
error: { piv: 2, colour: '\x1b[31m%s\x1b[0m' },
|
|
@@ -8,23 +9,31 @@ const levelVal = {
|
|
|
8
9
|
log: { piv: 5, colour: '\x1b[37m%s\x1b[0m' },
|
|
9
10
|
debug: { piv: 6, colour: '\x1b[35m%s\x1b[0m' },
|
|
10
11
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
function formatDate(date) {
|
|
13
|
+
const pad = (n) => String(n).padStart(2, '0');
|
|
14
|
+
return `${date.getFullYear()}/${pad(date.getMonth() + 1)}/${pad(date.getDate())} ${pad(date.getHours())}:${pad(date.getMinutes())}:${pad(date.getSeconds())}`;
|
|
15
|
+
}
|
|
16
|
+
function getCustomLogger(label, level, _logFile) {
|
|
17
|
+
const noop = () => undefined;
|
|
14
18
|
const setPiv = levelVal[level].piv;
|
|
15
|
-
function
|
|
19
|
+
function makeLogFn(key) {
|
|
16
20
|
if (levelVal[key].piv <= setPiv) {
|
|
17
21
|
const colour = levelVal[key].colour;
|
|
18
|
-
return
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
return (msg) => {
|
|
23
|
+
const date = formatDate(new Date());
|
|
24
|
+
const prefix = `${date} [${key[0].toUpperCase()}] ${label} `;
|
|
21
25
|
console.log(colour, prefix, msg);
|
|
22
26
|
};
|
|
23
|
-
} else {
|
|
24
|
-
return noop;
|
|
25
27
|
}
|
|
28
|
+
return noop;
|
|
26
29
|
}
|
|
27
|
-
return
|
|
30
|
+
return {
|
|
31
|
+
fatal: makeLogFn('fatal'),
|
|
32
|
+
error: makeLogFn('error'),
|
|
33
|
+
warn: makeLogFn('warn'),
|
|
34
|
+
info: makeLogFn('info'),
|
|
35
|
+
log: makeLogFn('log'),
|
|
36
|
+
debug: makeLogFn('debug'),
|
|
37
|
+
};
|
|
28
38
|
}
|
|
29
|
-
|
|
30
|
-
module.exports = getCustomLogger;
|
|
39
|
+
//# sourceMappingURL=logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;AA8BA,kCA4BC;AA1CD,MAAM,QAAQ,GAAkC;IAC5C,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC9C,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC9C,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC7C,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC7C,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE;IAC5C,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE;CACjD,CAAC;AAEF,SAAS,UAAU,CAAC,IAAU;IAC1B,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC;AAClK,CAAC;AAED,SAAwB,eAAe,CACnC,KAAa,EACb,KAAe,EACf,QAAiB;IAEjB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC;IAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;IAEnC,SAAS,SAAS,CAAC,GAAa;QAC5B,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,MAAM,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YACpC,OAAO,CAAC,GAAW,EAAE,EAAE;gBACnB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBACpC,MAAM,MAAM,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK,GAAG,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO;QACH,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;QACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;QACvB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC;QACvB,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC;QACrB,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC;KAC5B,CAAC;AACN,CAAC"}
|
package/lib/md5.d.ts
ADDED
package/lib/md5.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5.d.ts","sourceRoot":"","sources":["../src/md5.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEtD"}
|
package/lib/md5.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.default = md5;
|
|
7
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
3
8
|
function md5(s) {
|
|
4
|
-
|
|
5
|
-
return crypto.createHash('md5').update(String(s)).digest('hex');
|
|
9
|
+
return crypto_1.default.createHash('md5').update(String(s)).digest('hex');
|
|
6
10
|
}
|
|
7
|
-
|
|
8
|
-
module.exports = md5;
|
|
11
|
+
//# sourceMappingURL=md5.js.map
|
package/lib/md5.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"md5.js","sourceRoot":"","sources":["../src/md5.ts"],"names":[],"mappings":";;;;;AAEA,sBAEC;AAJD,oDAA4B;AAE5B,SAAwB,GAAG,CAAC,CAAkB;IAC1C,OAAO,gBAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACpE,CAAC"}
|
package/lib/merge.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACvD,MAAM,EAAE,CAAC,EACT,GAAG,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,GACvD,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAYzB"}
|
package/lib/merge.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = merge;
|
|
4
|
+
function merge(target, ...sources) {
|
|
2
5
|
target = target || {};
|
|
3
|
-
|
|
4
|
-
args.forEach((temp) => {
|
|
6
|
+
sources.forEach((temp) => {
|
|
5
7
|
if (temp) {
|
|
6
8
|
Object.keys(temp).forEach((key) => {
|
|
7
|
-
if (temp[key]) {
|
|
9
|
+
if (temp[key] !== null && temp[key] !== undefined) {
|
|
8
10
|
target[key] = temp[key];
|
|
9
11
|
}
|
|
10
12
|
});
|
|
@@ -12,7 +14,4 @@ function merge(target) {
|
|
|
12
14
|
});
|
|
13
15
|
return target;
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
module.exports = merge;
|
|
17
|
-
|
|
18
|
-
// console.log(merge({}, { sss: 123 }, { bb: 456 },{sss:null}));
|
|
17
|
+
//# sourceMappingURL=merge.js.map
|
package/lib/merge.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.js","sourceRoot":"","sources":["../src/merge.ts"],"names":[],"mappings":";;AAAA,wBAeC;AAfD,SAAwB,KAAK,CACzB,MAAS,EACT,GAAG,OAAmD;IAEtD,MAAM,GAAG,MAAM,IAAK,EAAQ,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,IAAI,IAAI,EAAE,CAAC;YACP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBAC/C,MAA8B,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAClB,CAAC"}
|
package/lib/proxy.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import net from 'net';
|
|
2
|
+
export type ConnectCallback = (err?: Error | null) => void;
|
|
3
|
+
export type OnConnect = (addr: Buffer, callback: ConnectCallback) => void;
|
|
4
|
+
export declare function createSocks5Proxy(cSock: net.Socket, onConnect: OnConnect): void;
|
|
5
|
+
export declare function createConnectProxy(cSock: net.Socket, onConnect: OnConnect): void;
|
|
6
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAGtB,MAAM,MAAM,eAAe,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,IAAI,KAAK,IAAI,CAAC;AAC3D,MAAM,MAAM,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;AAE1E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CAyB/E;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,IAAI,CA+BhF"}
|
package/lib/proxy.js
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSocks5Proxy = createSocks5Proxy;
|
|
4
|
+
exports.createConnectProxy = createConnectProxy;
|
|
5
|
+
const socks5_1 = require("./socks5");
|
|
6
|
+
function createSocks5Proxy(cSock, onConnect) {
|
|
7
|
+
let stage = 'INIT';
|
|
8
|
+
cSock.on('data', function dataListener(data) {
|
|
9
|
+
if (stage === 'INIT') {
|
|
10
|
+
cSock.write('\x05\x00');
|
|
11
|
+
stage = 'ADDR';
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
else if (stage === 'ADDR') {
|
|
15
|
+
onConnect(data.slice(3), (err) => {
|
|
16
|
+
if (!err) {
|
|
17
|
+
stage = 'STREAM';
|
|
18
|
+
cSock.write('\x05\x00\x00\x01\x00\x00\x00\x00\x00\x00');
|
|
19
|
+
cSock.removeAllListeners('data');
|
|
20
|
+
cSock.pause();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
cSock.destroy();
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
cSock.on('error', () => {
|
|
30
|
+
cSock.destroy();
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
function createConnectProxy(cSock, onConnect) {
|
|
34
|
+
let stage = 'INIT';
|
|
35
|
+
cSock.on('data', (data) => {
|
|
36
|
+
if (stage === 'INIT') {
|
|
37
|
+
const str = data.toString('ascii');
|
|
38
|
+
const lines = str.split(/\s/g);
|
|
39
|
+
if (lines[0] !== 'CONNECT') {
|
|
40
|
+
cSock.destroy();
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const hoststr = lines[1];
|
|
44
|
+
const reqhost = hoststr.split(':');
|
|
45
|
+
const hostname = reqhost[0];
|
|
46
|
+
const port = Number(reqhost[1]);
|
|
47
|
+
const socksAddrInfo = (0, socks5_1.buildSocks5Addr)(hostname, port);
|
|
48
|
+
onConnect(socksAddrInfo, (err) => {
|
|
49
|
+
if (!err) {
|
|
50
|
+
cSock.write(Buffer.from('HTTP/1.1 200 Connection Established\r\n\r\n'));
|
|
51
|
+
stage = 'STREAM';
|
|
52
|
+
cSock.removeAllListeners('data');
|
|
53
|
+
cSock.pause();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
cSock.destroy();
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
cSock.on('error', () => {
|
|
62
|
+
cSock.destroy();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=proxy.js.map
|
package/lib/proxy.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";;AAMA,8CAyBC;AAED,gDA+BC;AA/DD,qCAA2C;AAK3C,SAAgB,iBAAiB,CAAC,KAAiB,EAAE,SAAoB;IACrE,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,YAAY,CAAC,IAAY;QAC/C,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACnB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxB,KAAK,GAAG,MAAM,CAAC;YACf,OAAO;QACX,CAAC;aAAM,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,KAAK,GAAG,QAAQ,CAAC;oBACjB,KAAK,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBACxD,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACjC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO;QACX,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAAiB,EAAE,SAAoB;IACtE,IAAI,KAAK,GAAG,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;QAC9B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBACzB,KAAK,CAAC,OAAO,EAAE,CAAC;gBAChB,OAAO;YACX,CAAC;YACD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACzB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,aAAa,GAAG,IAAA,wBAAe,EAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtD,SAAS,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE;gBAC7B,IAAI,CAAC,GAAG,EAAE,CAAC;oBACP,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;oBACxE,KAAK,GAAG,QAAQ,CAAC;oBACjB,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;oBACjC,KAAK,CAAC,KAAK,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACJ,KAAK,CAAC,OAAO,EAAE,CAAC;gBACpB,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;QACnB,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC"}
|
package/lib/retry.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,CAAC,EAClC,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,IAAI,GAAE,YAAiB,EACvB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,IAAI,GAC/B,OAAO,CAAC,CAAC,CAAC,CAmBZ"}
|
package/lib/retry.js
CHANGED
|
@@ -1,25 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = retryPromise;
|
|
4
|
+
const delay = (time) => new Promise((resolve) => setTimeout(resolve, time));
|
|
4
5
|
function retryPromise(fn, opts = {}, errcall) {
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
const retryCount = opts.times !== undefined ? opts.times : 5;
|
|
7
7
|
function invoker(idx) {
|
|
8
8
|
if (idx >= retryCount) {
|
|
9
|
-
return Promise.reject(
|
|
10
|
-
Error(`expect retryCount ${retryCount} is attached!`)
|
|
11
|
-
);
|
|
9
|
+
return Promise.reject(new Error(`expect retryCount ${retryCount} is attached!`));
|
|
12
10
|
}
|
|
13
|
-
return fn
|
|
11
|
+
return fn().catch((err) => {
|
|
14
12
|
errcall && errcall(err);
|
|
15
13
|
if (opts.interval) {
|
|
16
|
-
return
|
|
17
|
-
}
|
|
14
|
+
return delay(opts.interval).then(() => invoker(idx + 1));
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
18
17
|
return invoker(idx + 1);
|
|
19
18
|
}
|
|
20
19
|
});
|
|
21
20
|
}
|
|
22
21
|
return invoker(0);
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
module.exports = retryPromise;
|
|
23
|
+
//# sourceMappingURL=retry.js.map
|
package/lib/retry.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../src/retry.ts"],"names":[],"mappings":";;AAQA,+BAuBC;AA/BD,MAAM,KAAK,GAAG,CAAC,IAAY,EAAiB,EAAE,CAC1C,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAOxD,SAAwB,YAAY,CAChC,EAAoB,EACpB,OAAqB,EAAE,EACvB,OAA8B;IAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,SAAS,OAAO,CAAC,GAAW;QACxB,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;YACpB,OAAO,OAAO,CAAC,MAAM,CACjB,IAAI,KAAK,CAAC,qBAAqB,UAAU,eAAe,CAAC,CAC5D,CAAC;QACN,CAAC;QACD,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAU,EAAE,EAAE;YAC7B,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;YACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAChB,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC;iBAAM,CAAC;gBACJ,OAAO,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
package/lib/server.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import net from 'net';
|
|
2
|
+
import http from 'http';
|
|
3
|
+
import tls from 'tls';
|
|
4
|
+
import http2 from 'http2';
|
|
5
|
+
import WebSocket from 'ws';
|
|
6
|
+
export type HttpHandler = (req: http.IncomingMessage, res: http.ServerResponse) => void;
|
|
7
|
+
export type WsHandler = (ws: WebSocket) => void;
|
|
8
|
+
export type StreamHandler = (stream: net.Socket | http2.ServerHttp2Stream) => void;
|
|
9
|
+
export type ConnHandler = (conn: net.Socket | tls.TLSSocket) => void;
|
|
10
|
+
export declare function createWsServer(workPath: string, handler: WsHandler, httpHandler?: HttpHandler): http.Server;
|
|
11
|
+
export declare function createHttp2Server(tlsOpts: tls.TlsOptions, workPath: string, handler: (stream: http2.ServerHttp2Stream) => void, httpHandler?: (req: http2.Http2ServerRequest, res: http2.Http2ServerResponse) => void): http2.Http2SecureServer;
|
|
12
|
+
export declare function createTcpServer(handler: ConnHandler): net.Server;
|
|
13
|
+
export declare function createTlsServer(tlsOpts: tls.TlsOptions, handler: ConnHandler): tls.Server;
|
|
14
|
+
//# sourceMappingURL=server.d.ts.map
|