securequ 1.1.12 → 1.1.13
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/client/{Base.mjs → Base.cjs} +152 -150
- package/client/Base.cjs.map +1 -0
- package/client/Base.d.ts +18 -18
- package/client/Base.js +149 -151
- package/client/Base.js.map +1 -1
- package/client/{index.mjs → index.cjs} +146 -144
- package/client/index.cjs.map +1 -0
- package/client/index.d.ts +8 -8
- package/client/index.js +143 -145
- package/client/index.js.map +1 -1
- package/client/types.d.ts +34 -34
- package/include/{File.mjs → File.cjs} +68 -63
- package/include/File.cjs.map +1 -0
- package/include/File.js +62 -67
- package/include/File.js.map +1 -1
- package/include/{FileScaner.mjs → FileScaner.cjs} +98 -96
- package/include/FileScaner.cjs.map +1 -0
- package/include/FileScaner.js +95 -100
- package/include/FileScaner.js.map +1 -1
- package/include/{compress.mjs → compress.cjs} +42 -40
- package/include/compress.cjs.map +1 -0
- package/include/compress.d.ts +9 -9
- package/include/compress.js +39 -41
- package/include/compress.js.map +1 -1
- package/include/{crypto.mjs → crypto.cjs} +141 -137
- package/include/crypto.cjs.map +1 -0
- package/include/crypto.d.ts +22 -22
- package/include/crypto.js +138 -148
- package/include/crypto.js.map +1 -1
- package/index.cjs +14 -0
- package/index.cjs.map +1 -0
- package/index.js +4 -13
- package/index.js.map +1 -1
- package/package.json +8 -8
- package/readme.md +312 -312
- package/server/{Base.mjs → Base.cjs} +111 -109
- package/server/Base.cjs.map +1 -0
- package/server/Base.d.ts +20 -20
- package/server/Base.js +108 -110
- package/server/Base.js.map +1 -1
- package/server/{Router.mjs → Router.cjs} +34 -32
- package/server/Router.cjs.map +1 -0
- package/server/Router.d.ts +7 -7
- package/server/Router.js +31 -33
- package/server/Router.js.map +1 -1
- package/server/{index.mjs → index.cjs} +196 -194
- package/server/index.cjs.map +1 -0
- package/server/index.d.ts +5 -5
- package/server/index.js +193 -195
- package/server/index.js.map +1 -1
- package/server/types.d.ts +72 -72
- package/client/Base.mjs.map +0 -1
- package/client/index.mjs.map +0 -1
- package/include/File.mjs.map +0 -1
- package/include/FileScaner.mjs.map +0 -1
- package/include/compress.mjs.map +0 -1
- package/include/crypto.mjs.map +0 -1
- package/index.mjs +0 -5
- package/index.mjs.map +0 -1
- package/server/Base.mjs.map +0 -1
- package/server/Router.mjs.map +0 -1
- package/server/index.mjs.map +0 -1
|
@@ -1,140 +1,144 @@
|
|
|
1
|
-
|
|
2
|
-
import compresor from './compress.mjs';
|
|
1
|
+
'use strict';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
const
|
|
114
|
-
if (
|
|
115
|
-
return { valid: false };
|
|
116
|
-
const
|
|
117
|
-
const
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
3
|
+
var sodium = require('libsodium-wrappers');
|
|
4
|
+
var compress = require('./compress.cjs');
|
|
5
|
+
|
|
6
|
+
/* ================================
|
|
7
|
+
Sodium Init (SAFE & IDP)
|
|
8
|
+
================================ */
|
|
9
|
+
let initPromise = null;
|
|
10
|
+
function init() {
|
|
11
|
+
if (!initPromise) {
|
|
12
|
+
initPromise = sodium.ready.then(() => void 0);
|
|
13
|
+
}
|
|
14
|
+
return initPromise;
|
|
15
|
+
}
|
|
16
|
+
/* ================================
|
|
17
|
+
Key Derivation
|
|
18
|
+
(Stable & deterministic)
|
|
19
|
+
================================ */
|
|
20
|
+
function deriveKey(secret) {
|
|
21
|
+
return sodium.crypto_generichash(sodium.crypto_secretbox_KEYBYTES, sodium.from_string(secret), null);
|
|
22
|
+
}
|
|
23
|
+
/* ================================
|
|
24
|
+
Encrypt (string)
|
|
25
|
+
================================ */
|
|
26
|
+
async function encrypt(input, secret) {
|
|
27
|
+
const buf = await encryptBuffer(input, secret);
|
|
28
|
+
return sodium.to_base64(buf, sodium.base64_variants.URLSAFE_NO_PADDING);
|
|
29
|
+
}
|
|
30
|
+
/* ================================
|
|
31
|
+
Decrypt (string)
|
|
32
|
+
================================ */
|
|
33
|
+
async function decrypt(base64, secret) {
|
|
34
|
+
await init();
|
|
35
|
+
const box = sodium.from_base64(base64, sodium.base64_variants.URLSAFE_NO_PADDING);
|
|
36
|
+
return decryptBuffer(box, secret);
|
|
37
|
+
}
|
|
38
|
+
/* ================================
|
|
39
|
+
Encrypt (buffer)
|
|
40
|
+
================================ */
|
|
41
|
+
async function encryptBuffer(input, secret) {
|
|
42
|
+
await init();
|
|
43
|
+
const key = deriveKey(secret);
|
|
44
|
+
const nonce = sodium.randombytes_buf(sodium.crypto_secretbox_NONCEBYTES);
|
|
45
|
+
const compressed = await compress.compressBuffer(input);
|
|
46
|
+
const cipher = sodium.crypto_secretbox_easy(compressed, nonce, key);
|
|
47
|
+
const out = new Uint8Array(nonce.length + cipher.length);
|
|
48
|
+
out.set(nonce);
|
|
49
|
+
out.set(cipher, nonce.length);
|
|
50
|
+
return out;
|
|
51
|
+
}
|
|
52
|
+
/* ================================
|
|
53
|
+
Decrypt (buffer)
|
|
54
|
+
================================ */
|
|
55
|
+
async function decryptBuffer(box, secret) {
|
|
56
|
+
await init();
|
|
57
|
+
const key = deriveKey(secret);
|
|
58
|
+
const nonceSize = sodium.crypto_secretbox_NONCEBYTES;
|
|
59
|
+
if (box.length <= nonceSize)
|
|
60
|
+
return null;
|
|
61
|
+
const nonce = box.subarray(0, nonceSize);
|
|
62
|
+
const cipher = box.subarray(nonceSize);
|
|
63
|
+
const opened = sodium.crypto_secretbox_open_easy(cipher, nonce, key);
|
|
64
|
+
if (!opened)
|
|
65
|
+
return null;
|
|
66
|
+
return compress.decompressBuffer(opened);
|
|
67
|
+
}
|
|
68
|
+
/* ================================
|
|
69
|
+
Hash (URL-safe, short)
|
|
70
|
+
================================ */
|
|
71
|
+
async function hash(str) {
|
|
72
|
+
await init();
|
|
73
|
+
const digest = sodium.crypto_generichash(32, sodium.from_string(str), null);
|
|
74
|
+
return sodium
|
|
75
|
+
.to_base64(digest, sodium.base64_variants.URLSAFE_NO_PADDING)
|
|
76
|
+
.replace(/[^a-zA-Z0-9]/g, "");
|
|
77
|
+
}
|
|
78
|
+
/* ================================
|
|
79
|
+
Canonical JSON
|
|
80
|
+
================================ */
|
|
81
|
+
function canonicalJSON(value) {
|
|
82
|
+
if (value === null || typeof value !== "object") {
|
|
83
|
+
return JSON.stringify(value);
|
|
84
|
+
}
|
|
85
|
+
if (Array.isArray(value)) {
|
|
86
|
+
return JSON.stringify(value.map(canonicalJSON));
|
|
87
|
+
}
|
|
88
|
+
const keys = Object.keys(value).sort();
|
|
89
|
+
const obj = {};
|
|
90
|
+
for (const k of keys) {
|
|
91
|
+
obj[k] = value[k];
|
|
92
|
+
}
|
|
93
|
+
return JSON.stringify(obj);
|
|
94
|
+
}
|
|
95
|
+
/* ================================
|
|
96
|
+
Create Token
|
|
97
|
+
================================ */
|
|
98
|
+
async function createToken(payload, secret) {
|
|
99
|
+
await init();
|
|
100
|
+
const key = deriveKey(secret);
|
|
101
|
+
const json = canonicalJSON(payload);
|
|
102
|
+
const encryptedPayload = await encrypt(payload, secret);
|
|
103
|
+
const mac = sodium.crypto_generichash(32, sodium.from_string(json), key);
|
|
104
|
+
const macBase64 = sodium.to_base64(mac, sodium.base64_variants.URLSAFE_NO_PADDING);
|
|
105
|
+
return `${encryptedPayload}.${macBase64}`;
|
|
106
|
+
}
|
|
107
|
+
/* ================================
|
|
108
|
+
Verify Token
|
|
109
|
+
================================ */
|
|
110
|
+
async function verifyToken(token, secret) {
|
|
111
|
+
await init();
|
|
112
|
+
const parts = token.split(".");
|
|
113
|
+
if (parts.length !== 2)
|
|
114
|
+
return { valid: false };
|
|
115
|
+
const [payloadBase64, macBase64] = parts;
|
|
116
|
+
const payload = await decrypt(payloadBase64, secret);
|
|
117
|
+
if (payload === null)
|
|
118
|
+
return { valid: false };
|
|
119
|
+
const json = canonicalJSON(payload);
|
|
120
|
+
const key = deriveKey(secret);
|
|
121
|
+
const expectedMac = sodium.crypto_generichash(32, sodium.from_string(json), key);
|
|
122
|
+
const mac = sodium.from_base64(macBase64, sodium.base64_variants.URLSAFE_NO_PADDING);
|
|
123
|
+
if (mac.length !== expectedMac.length ||
|
|
124
|
+
!sodium.memcmp(expectedMac, mac)) {
|
|
125
|
+
return { valid: false };
|
|
126
|
+
}
|
|
127
|
+
return { valid: true, payload };
|
|
128
|
+
}
|
|
129
|
+
/* ================================
|
|
130
|
+
Default Export
|
|
131
|
+
================================ */
|
|
132
|
+
var crypto = {
|
|
133
|
+
init,
|
|
134
|
+
encrypt,
|
|
135
|
+
decrypt,
|
|
136
|
+
encryptBuffer,
|
|
137
|
+
decryptBuffer,
|
|
138
|
+
hash,
|
|
139
|
+
createToken,
|
|
140
|
+
verifyToken
|
|
137
141
|
};
|
|
138
142
|
|
|
139
|
-
|
|
140
|
-
//# sourceMappingURL=crypto.
|
|
143
|
+
module.exports = crypto;
|
|
144
|
+
//# sourceMappingURL=crypto.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto.cjs","sources":["../../src/include/crypto.ts"],"sourcesContent":["import sodium from \"libsodium-wrappers\";\r\nimport compressor from \"./compress\";\r\n\r\n/* ================================\r\n Types\r\n================================ */\r\nexport type EncryptInput = string | object | any[];\r\n\r\n/* ================================\r\n Sodium Init (SAFE & IDP)\r\n================================ */\r\nlet initPromise: Promise<void> | null = null;\r\n\r\nfunction init(): Promise<void> {\r\n if (!initPromise) {\r\n initPromise = sodium.ready.then(() => void 0);\r\n }\r\n return initPromise;\r\n}\r\n\r\n/* ================================\r\n Key Derivation\r\n (Stable & deterministic)\r\n================================ */\r\nfunction deriveKey(secret: string): Uint8Array {\r\n return sodium.crypto_generichash(\r\n sodium.crypto_secretbox_KEYBYTES,\r\n sodium.from_string(secret),\r\n null\r\n ) as Uint8Array\r\n}\r\n\r\n/* ================================\r\n Encrypt (string)\r\n================================ */\r\nasync function encrypt(\r\n input: EncryptInput,\r\n secret: string\r\n): Promise<string> {\r\n const buf = await encryptBuffer(input, secret);\r\n return sodium.to_base64(\r\n buf,\r\n sodium.base64_variants.URLSAFE_NO_PADDING\r\n );\r\n}\r\n\r\n/* ================================\r\n Decrypt (string)\r\n================================ */\r\nasync function decrypt(\r\n base64: string,\r\n secret: string\r\n): Promise<any | null> {\r\n await init();\r\n\r\n const box = sodium.from_base64(\r\n base64,\r\n sodium.base64_variants.URLSAFE_NO_PADDING\r\n );\r\n\r\n return decryptBuffer(box, secret);\r\n}\r\n\r\n/* ================================\r\n Encrypt (buffer)\r\n================================ */\r\nasync function encryptBuffer(\r\n input: EncryptInput,\r\n secret: string\r\n): Promise<Uint8Array> {\r\n await init();\r\n\r\n const key = deriveKey(secret);\r\n const nonce = sodium.randombytes_buf(\r\n sodium.crypto_secretbox_NONCEBYTES\r\n ) as Uint8Array\r\n\r\n\r\n const compressed = await compressor.compressBuffer(input);\r\n\r\n const cipher = sodium.crypto_secretbox_easy(\r\n compressed,\r\n nonce,\r\n key\r\n ) as Uint8Array\r\n\r\n const out = new Uint8Array(nonce.length + cipher.length);\r\n out.set(nonce);\r\n out.set(cipher, nonce.length);\r\n\r\n return out;\r\n}\r\n\r\n/* ================================\r\n Decrypt (buffer)\r\n================================ */\r\nasync function decryptBuffer(\r\n box: Uint8Array,\r\n secret: string\r\n): Promise<any | null> {\r\n await init();\r\n\r\n const key = deriveKey(secret);\r\n const nonceSize = sodium.crypto_secretbox_NONCEBYTES;\r\n\r\n if (box.length <= nonceSize) return null;\r\n\r\n const nonce = box.subarray(0, nonceSize);\r\n const cipher = box.subarray(nonceSize);\r\n\r\n const opened = sodium.crypto_secretbox_open_easy(\r\n cipher,\r\n nonce,\r\n key\r\n ) as Uint8Array\r\n\r\n if (!opened) return null;\r\n\r\n return compressor.decompressBuffer(opened);\r\n}\r\n\r\n/* ================================\r\n Hash (URL-safe, short)\r\n================================ */\r\nasync function hash(str: string): Promise<string> {\r\n await init();\r\n\r\n const digest = sodium.crypto_generichash(\r\n 32,\r\n sodium.from_string(str),\r\n null\r\n );\r\n\r\n return sodium\r\n .to_base64(digest, sodium.base64_variants.URLSAFE_NO_PADDING)\r\n .replace(/[^a-zA-Z0-9]/g, \"\");\r\n}\r\n\r\n/* ================================\r\n Canonical JSON\r\n================================ */\r\nfunction canonicalJSON(value: any): string {\r\n if (value === null || typeof value !== \"object\") {\r\n return JSON.stringify(value);\r\n }\r\n\r\n if (Array.isArray(value)) {\r\n return JSON.stringify(value.map(canonicalJSON));\r\n }\r\n\r\n const keys = Object.keys(value).sort();\r\n const obj: any = {};\r\n\r\n for (const k of keys) {\r\n obj[k] = value[k];\r\n }\r\n\r\n return JSON.stringify(obj);\r\n}\r\n\r\n/* ================================\r\n Create Token\r\n================================ */\r\nasync function createToken(\r\n payload: Record<string, any>,\r\n secret: string\r\n): Promise<string> {\r\n await init();\r\n\r\n const key = deriveKey(secret);\r\n const json = canonicalJSON(payload);\r\n\r\n const encryptedPayload = await encrypt(payload, secret);\r\n\r\n const mac = sodium.crypto_generichash(\r\n 32,\r\n sodium.from_string(json),\r\n key\r\n );\r\n\r\n const macBase64 = sodium.to_base64(\r\n mac,\r\n sodium.base64_variants.URLSAFE_NO_PADDING\r\n );\r\n\r\n return `${encryptedPayload}.${macBase64}`;\r\n}\r\n\r\n/* ================================\r\n Verify Token\r\n================================ */\r\nasync function verifyToken(\r\n token: string,\r\n secret: string\r\n): Promise<{ valid: boolean; payload?: any }> {\r\n await init();\r\n\r\n const parts = token.split(\".\");\r\n if (parts.length !== 2) return { valid: false };\r\n\r\n const [payloadBase64, macBase64] = parts;\r\n\r\n const payload = await decrypt(payloadBase64, secret);\r\n if (payload === null) return { valid: false };\r\n\r\n const json = canonicalJSON(payload);\r\n const key = deriveKey(secret);\r\n\r\n const expectedMac = sodium.crypto_generichash(\r\n 32,\r\n sodium.from_string(json),\r\n key\r\n ) as Uint8Array\r\n\r\n const mac = sodium.from_base64(\r\n macBase64,\r\n sodium.base64_variants.URLSAFE_NO_PADDING\r\n );\r\n\r\n if (\r\n mac.length !== expectedMac.length ||\r\n !sodium.memcmp(expectedMac, mac)\r\n ) {\r\n return { valid: false };\r\n }\r\n\r\n return { valid: true, payload };\r\n}\r\n\r\n/* ================================\r\n Default Export\r\n================================ */\r\nexport default {\r\n init,\r\n encrypt,\r\n decrypt,\r\n encryptBuffer,\r\n decryptBuffer,\r\n hash,\r\n createToken,\r\n verifyToken\r\n};\r\n"],"names":["compressor"],"mappings":"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"}
|
package/include/crypto.d.ts
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
type EncryptInput = string | object | any[];
|
|
2
|
-
declare function
|
|
3
|
-
declare function encrypt(input: EncryptInput, secret: string): Promise<string>;
|
|
4
|
-
declare function decrypt(base64: string, secret: string): Promise<any | null>;
|
|
5
|
-
declare function encryptBuffer(input:
|
|
6
|
-
declare function decryptBuffer(box: Uint8Array, secret: string): Promise<any | null>;
|
|
7
|
-
declare function hash(str: string): Promise<string>;
|
|
8
|
-
declare function createToken(payload: Record<string, any>, secret: string): Promise<string>;
|
|
9
|
-
declare function verifyToken(token: string, secret: string): Promise<{
|
|
10
|
-
valid: boolean;
|
|
11
|
-
payload?: any;
|
|
12
|
-
}>;
|
|
13
|
-
declare const _default: {
|
|
14
|
-
|
|
15
|
-
encrypt: typeof encrypt;
|
|
16
|
-
decrypt: typeof decrypt;
|
|
17
|
-
encryptBuffer: typeof encryptBuffer;
|
|
18
|
-
decryptBuffer: typeof decryptBuffer;
|
|
19
|
-
hash: typeof hash;
|
|
20
|
-
createToken: typeof createToken;
|
|
21
|
-
verifyToken: typeof verifyToken;
|
|
1
|
+
type EncryptInput = string | object | any[];
|
|
2
|
+
declare function init(): Promise<void>;
|
|
3
|
+
declare function encrypt(input: EncryptInput, secret: string): Promise<string>;
|
|
4
|
+
declare function decrypt(base64: string, secret: string): Promise<any | null>;
|
|
5
|
+
declare function encryptBuffer(input: EncryptInput, secret: string): Promise<Uint8Array>;
|
|
6
|
+
declare function decryptBuffer(box: Uint8Array, secret: string): Promise<any | null>;
|
|
7
|
+
declare function hash(str: string): Promise<string>;
|
|
8
|
+
declare function createToken(payload: Record<string, any>, secret: string): Promise<string>;
|
|
9
|
+
declare function verifyToken(token: string, secret: string): Promise<{
|
|
10
|
+
valid: boolean;
|
|
11
|
+
payload?: any;
|
|
12
|
+
}>;
|
|
13
|
+
declare const _default: {
|
|
14
|
+
init: typeof init;
|
|
15
|
+
encrypt: typeof encrypt;
|
|
16
|
+
decrypt: typeof decrypt;
|
|
17
|
+
encryptBuffer: typeof encryptBuffer;
|
|
18
|
+
decryptBuffer: typeof decryptBuffer;
|
|
19
|
+
hash: typeof hash;
|
|
20
|
+
createToken: typeof createToken;
|
|
21
|
+
verifyToken: typeof verifyToken;
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
export {
|
|
24
|
+
export { _default as default };
|
|
25
25
|
export type { EncryptInput };
|