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