@mtcute/node 0.19.3 → 0.21.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/README.md +0 -1
- package/client.cjs +1 -7
- package/client.js +1 -7
- package/package.json +5 -5
- package/utils/crypto.cjs +1 -4
- package/utils/crypto.d.cts +2 -4
- package/utils/crypto.d.ts +2 -4
- package/utils/crypto.js +1 -4
- package/utils.cjs +0 -1
- package/utils.js +1 -2
package/README.md
CHANGED
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
📖 [API Reference](https://ref.mtcute.dev/modules/_mtcute_node.html)
|
|
4
4
|
|
|
5
5
|
Node.js support package for mtcute. Includes:
|
|
6
|
-
- Support for native crypto addon (must be installed separately, `@mtcute/crypto-node`)
|
|
7
6
|
- Terminal I/O via `readline`
|
|
8
7
|
- SQLite storage (via `better-sqlite3`)
|
|
9
8
|
- TCP transport (via `node:net`)
|
package/client.cjs
CHANGED
|
@@ -14,16 +14,10 @@ const index = require("./sqlite/index.cjs");
|
|
|
14
14
|
const crypto = require("./utils/crypto.cjs");
|
|
15
15
|
const platform = require("./utils/platform.cjs");
|
|
16
16
|
const tcp = require("./utils/tcp.cjs");
|
|
17
|
-
let nativeCrypto;
|
|
18
|
-
try {
|
|
19
|
-
nativeCrypto = require("@mtcute/crypto-node").NodeNativeCryptoProvider;
|
|
20
|
-
} catch {
|
|
21
|
-
}
|
|
22
17
|
class BaseTelegramClient extends client_js.BaseTelegramClient {
|
|
23
18
|
constructor(opts) {
|
|
24
19
|
super({
|
|
25
|
-
|
|
26
|
-
crypto: nativeCrypto ? new nativeCrypto() : new crypto.NodeCryptoProvider(),
|
|
20
|
+
crypto: new crypto.NodeCryptoProvider(),
|
|
27
21
|
transport: new tcp.TcpTransport(),
|
|
28
22
|
platform: new platform.NodePlatform(),
|
|
29
23
|
...opts,
|
package/client.js
CHANGED
|
@@ -7,16 +7,10 @@ import { SqliteStorage } from "./sqlite/index.js";
|
|
|
7
7
|
import { NodeCryptoProvider } from "./utils/crypto.js";
|
|
8
8
|
import { NodePlatform } from "./utils/platform.js";
|
|
9
9
|
import { TcpTransport } from "./utils/tcp.js";
|
|
10
|
-
let nativeCrypto;
|
|
11
|
-
try {
|
|
12
|
-
nativeCrypto = (await import("@mtcute/crypto-node")).NodeNativeCryptoProvider;
|
|
13
|
-
} catch {
|
|
14
|
-
}
|
|
15
10
|
class BaseTelegramClient extends BaseTelegramClient$1 {
|
|
16
11
|
constructor(opts) {
|
|
17
12
|
super({
|
|
18
|
-
|
|
19
|
-
crypto: nativeCrypto ? new nativeCrypto() : new NodeCryptoProvider(),
|
|
13
|
+
crypto: new NodeCryptoProvider(),
|
|
20
14
|
transport: new TcpTransport(),
|
|
21
15
|
platform: new NodePlatform(),
|
|
22
16
|
...opts,
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mtcute/node",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.21.0",
|
|
5
5
|
"description": "Meta-package for Node.js",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@mtcute/core": "^0.
|
|
9
|
-
"@mtcute/html-parser": "^0.
|
|
10
|
-
"@mtcute/markdown-parser": "^0.
|
|
11
|
-
"@mtcute/wasm": "^0.19.
|
|
8
|
+
"@mtcute/core": "^0.21.0",
|
|
9
|
+
"@mtcute/html-parser": "^0.21.0",
|
|
10
|
+
"@mtcute/markdown-parser": "^0.21.0",
|
|
11
|
+
"@mtcute/wasm": "^0.19.9",
|
|
12
12
|
"@fuman/utils": "0.0.4",
|
|
13
13
|
"@fuman/net": "0.0.9",
|
|
14
14
|
"@fuman/node": "0.0.9",
|
package/utils/crypto.cjs
CHANGED
|
@@ -12,7 +12,7 @@ const node_zlib = require("node:zlib");
|
|
|
12
12
|
const utils_js = require("@mtcute/core/utils.js");
|
|
13
13
|
const wasm = require("@mtcute/wasm");
|
|
14
14
|
var _documentCurrentScript = typeof document !== "undefined" ? document.currentScript : null;
|
|
15
|
-
class
|
|
15
|
+
class NodeCryptoProvider extends utils_js.BaseCryptoProvider {
|
|
16
16
|
createAesCtr(key, iv) {
|
|
17
17
|
const cipher = node_crypto.createCipheriv(`aes-${key.length * 8}-ctr`, key, iv);
|
|
18
18
|
const update = (data) => cipher.update(data);
|
|
@@ -52,8 +52,6 @@ class BaseNodeCryptoProvider extends utils_js.BaseCryptoProvider {
|
|
|
52
52
|
randomFill(buf) {
|
|
53
53
|
node_crypto.randomFillSync(buf);
|
|
54
54
|
}
|
|
55
|
-
}
|
|
56
|
-
class NodeCryptoProvider extends BaseNodeCryptoProvider {
|
|
57
55
|
async initialize() {
|
|
58
56
|
const require$1 = node_module.createRequire(typeof document === "undefined" ? require("url").pathToFileURL(__filename).href : _documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === "SCRIPT" && _documentCurrentScript.src || new URL("utils/crypto.cjs", document.baseURI).href);
|
|
59
57
|
const wasmFile = require$1.resolve("@mtcute/wasm/mtcute.wasm");
|
|
@@ -71,5 +69,4 @@ class NodeCryptoProvider extends BaseNodeCryptoProvider {
|
|
|
71
69
|
};
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
|
-
exports.BaseNodeCryptoProvider = BaseNodeCryptoProvider;
|
|
75
72
|
exports.NodeCryptoProvider = NodeCryptoProvider;
|
package/utils/crypto.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IAesCtr,
|
|
2
|
-
export declare
|
|
1
|
+
import { IAesCtr, IEncryptionScheme, BaseCryptoProvider } from '@mtcute/core/utils.js';
|
|
2
|
+
export declare class NodeCryptoProvider extends BaseCryptoProvider {
|
|
3
3
|
createAesCtr(key: Uint8Array, iv: Uint8Array): IAesCtr;
|
|
4
4
|
pbkdf2(password: Uint8Array, salt: Uint8Array, iterations: number, keylen?: number, algo?: string): Promise<Uint8Array>;
|
|
5
5
|
sha1(data: Uint8Array): Uint8Array;
|
|
@@ -8,8 +8,6 @@ export declare abstract class BaseNodeCryptoProvider extends BaseCryptoProvider
|
|
|
8
8
|
gzip(data: Uint8Array, maxSize: number): Uint8Array | null;
|
|
9
9
|
gunzip(data: Uint8Array): Uint8Array;
|
|
10
10
|
randomFill(buf: Uint8Array): void;
|
|
11
|
-
}
|
|
12
|
-
export declare class NodeCryptoProvider extends BaseNodeCryptoProvider implements ICryptoProvider {
|
|
13
11
|
initialize(): Promise<void>;
|
|
14
12
|
createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme;
|
|
15
13
|
}
|
package/utils/crypto.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { IAesCtr,
|
|
2
|
-
export declare
|
|
1
|
+
import { IAesCtr, IEncryptionScheme, BaseCryptoProvider } from '@mtcute/core/utils.js';
|
|
2
|
+
export declare class NodeCryptoProvider extends BaseCryptoProvider {
|
|
3
3
|
createAesCtr(key: Uint8Array, iv: Uint8Array): IAesCtr;
|
|
4
4
|
pbkdf2(password: Uint8Array, salt: Uint8Array, iterations: number, keylen?: number, algo?: string): Promise<Uint8Array>;
|
|
5
5
|
sha1(data: Uint8Array): Uint8Array;
|
|
@@ -8,8 +8,6 @@ export declare abstract class BaseNodeCryptoProvider extends BaseCryptoProvider
|
|
|
8
8
|
gzip(data: Uint8Array, maxSize: number): Uint8Array | null;
|
|
9
9
|
gunzip(data: Uint8Array): Uint8Array;
|
|
10
10
|
randomFill(buf: Uint8Array): void;
|
|
11
|
-
}
|
|
12
|
-
export declare class NodeCryptoProvider extends BaseNodeCryptoProvider implements ICryptoProvider {
|
|
13
11
|
initialize(): Promise<void>;
|
|
14
12
|
createAesIge(key: Uint8Array, iv: Uint8Array): IEncryptionScheme;
|
|
15
13
|
}
|
package/utils/crypto.js
CHANGED
|
@@ -4,7 +4,7 @@ import { createRequire } from "node:module";
|
|
|
4
4
|
import { deflateSync, gunzipSync } from "node:zlib";
|
|
5
5
|
import { BaseCryptoProvider } from "@mtcute/core/utils.js";
|
|
6
6
|
import { initSync, ige256Decrypt, ige256Encrypt } from "@mtcute/wasm";
|
|
7
|
-
class
|
|
7
|
+
class NodeCryptoProvider extends BaseCryptoProvider {
|
|
8
8
|
createAesCtr(key, iv) {
|
|
9
9
|
const cipher = createCipheriv(`aes-${key.length * 8}-ctr`, key, iv);
|
|
10
10
|
const update = (data) => cipher.update(data);
|
|
@@ -44,8 +44,6 @@ class BaseNodeCryptoProvider extends BaseCryptoProvider {
|
|
|
44
44
|
randomFill(buf) {
|
|
45
45
|
randomFillSync(buf);
|
|
46
46
|
}
|
|
47
|
-
}
|
|
48
|
-
class NodeCryptoProvider extends BaseNodeCryptoProvider {
|
|
49
47
|
async initialize() {
|
|
50
48
|
const require2 = createRequire(import.meta.url);
|
|
51
49
|
const wasmFile = require2.resolve("@mtcute/wasm/mtcute.wasm");
|
|
@@ -64,6 +62,5 @@ class NodeCryptoProvider extends BaseNodeCryptoProvider {
|
|
|
64
62
|
}
|
|
65
63
|
}
|
|
66
64
|
export {
|
|
67
|
-
BaseNodeCryptoProvider,
|
|
68
65
|
NodeCryptoProvider
|
|
69
66
|
};
|
package/utils.cjs
CHANGED
|
@@ -7,7 +7,6 @@ if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WAR
|
|
|
7
7
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
8
|
const crypto = require("./utils/crypto.cjs");
|
|
9
9
|
const utils_js = require("@mtcute/core/utils.js");
|
|
10
|
-
exports.BaseNodeCryptoProvider = crypto.BaseNodeCryptoProvider;
|
|
11
10
|
exports.NodeCryptoProvider = crypto.NodeCryptoProvider;
|
|
12
11
|
Object.keys(utils_js).forEach((k) => {
|
|
13
12
|
if (k !== "default" && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|