@mtcute/convert 0.17.0 → 0.18.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/convert/src/dcs.cjs +119 -0
- package/convert/src/dcs.js +114 -0
- package/convert/src/gramjs/convert.cjs +30 -0
- package/convert/src/gramjs/convert.js +25 -0
- package/convert/src/gramjs/parse.cjs +33 -0
- package/convert/src/gramjs/parse.js +28 -0
- package/convert/src/gramjs/serialize.cjs +26 -0
- package/convert/src/gramjs/serialize.js +21 -0
- package/convert/src/mtkruto/convert.cjs +33 -0
- package/convert/src/mtkruto/convert.js +28 -0
- package/convert/src/mtkruto/parse.cjs +31 -0
- package/convert/src/mtkruto/parse.js +26 -0
- package/convert/src/mtkruto/serialize.cjs +18 -0
- package/convert/src/mtkruto/serialize.js +13 -0
- package/convert/src/pyrogram/convert.cjs +42 -0
- package/convert/src/pyrogram/convert.js +37 -0
- package/convert/src/pyrogram/parse.cjs +52 -0
- package/convert/src/pyrogram/parse.js +47 -0
- package/convert/src/pyrogram/serialize.cjs +40 -0
- package/convert/src/pyrogram/serialize.js +35 -0
- package/convert/src/tdesktop/convert.cjs +66 -0
- package/convert/src/tdesktop/convert.js +61 -0
- package/convert/src/tdesktop/qt-bundle.cjs +11 -0
- package/convert/src/tdesktop/qt-bundle.js +6 -0
- package/convert/src/tdesktop/qt-reader.cjs +38 -0
- package/convert/src/tdesktop/qt-reader.js +33 -0
- package/convert/src/tdesktop/qt-writer.cjs +34 -0
- package/convert/src/tdesktop/qt-writer.js +29 -0
- package/convert/src/tdesktop/tdata.cjs +359 -0
- package/convert/src/tdesktop/tdata.js +332 -0
- package/convert/src/telethon/convert.cjs +47 -0
- package/convert/src/telethon/convert.js +42 -0
- package/convert/src/telethon/parse.cjs +39 -0
- package/convert/src/telethon/parse.js +34 -0
- package/convert/src/telethon/serialize.cjs +34 -0
- package/convert/src/telethon/serialize.js +29 -0
- package/convert/src/utils/crypto.cjs +53 -0
- package/convert/src/utils/crypto.js +26 -0
- package/convert/src/utils/rle.cjs +49 -0
- package/convert/src/utils/rle.js +44 -0
- package/dcs.d.cts +4 -0
- package/gramjs/__fixtures__/session.d.cts +1 -0
- package/gramjs/convert.d.cts +4 -0
- package/gramjs/convert.test.d.cts +1 -0
- package/gramjs/index.d.cts +4 -0
- package/gramjs/parse.d.cts +2 -0
- package/gramjs/parse.test.d.cts +1 -0
- package/gramjs/serialize.d.cts +2 -0
- package/gramjs/serialize.test.d.cts +1 -0
- package/gramjs/types.d.cts +7 -0
- package/index.cjs +41 -488
- package/index.d.cts +1 -0
- package/index.d.ts +1 -0
- package/index.js +20 -467
- package/mtkruto/__fixtures__/session.d.cts +1 -0
- package/mtkruto/convert.d.cts +4 -0
- package/mtkruto/convert.test.d.cts +1 -0
- package/mtkruto/index.d.cts +4 -0
- package/mtkruto/parse.d.cts +2 -0
- package/mtkruto/parse.test.d.cts +1 -0
- package/mtkruto/serialize.d.cts +2 -0
- package/mtkruto/serialize.test.d.cts +1 -0
- package/mtkruto/types.d.cts +5 -0
- package/node/src/utils/crypto.cjs +75 -0
- package/node/src/utils/crypto.js +69 -0
- package/node/src/utils.cjs +34 -0
- package/node/src/utils.js +7 -0
- package/package.json +12 -9
- package/pyrogram/__fixtures__/session.d.cts +1 -0
- package/pyrogram/__fixtures__/session_old.d.cts +1 -0
- package/pyrogram/convert.d.cts +6 -0
- package/pyrogram/convert.test.d.cts +1 -0
- package/pyrogram/index.d.cts +4 -0
- package/pyrogram/parse.d.cts +2 -0
- package/pyrogram/parse.test.d.cts +1 -0
- package/pyrogram/serialize.d.cts +2 -0
- package/pyrogram/serialize.test.d.cts +1 -0
- package/pyrogram/types.d.cts +8 -0
- package/tdesktop/convert.d.cts +5 -0
- package/tdesktop/convert.d.ts +5 -0
- package/tdesktop/index.d.cts +5 -0
- package/tdesktop/index.d.ts +5 -0
- package/tdesktop/qt-bundle.d.cts +3 -0
- package/tdesktop/qt-bundle.d.ts +3 -0
- package/tdesktop/qt-reader.d.cts +6 -0
- package/tdesktop/qt-reader.d.ts +6 -0
- package/tdesktop/qt-writer.d.cts +6 -0
- package/tdesktop/qt-writer.d.ts +6 -0
- package/tdesktop/tdata.d.cts +65 -0
- package/tdesktop/tdata.d.ts +65 -0
- package/tdesktop/tdata.test.d.cts +1 -0
- package/tdesktop/tdata.test.d.ts +1 -0
- package/tdesktop/types.d.cts +22 -0
- package/tdesktop/types.d.ts +22 -0
- package/telethon/__fixtures__/session.d.cts +1 -0
- package/telethon/__fixtures__/session_v6.d.cts +1 -0
- package/telethon/convert.d.cts +4 -0
- package/telethon/convert.test.d.cts +1 -0
- package/telethon/index.d.cts +4 -0
- package/telethon/parse.d.cts +2 -0
- package/telethon/parse.test.d.cts +1 -0
- package/telethon/serialize.d.cts +2 -0
- package/telethon/serialize.test.d.cts +1 -0
- package/telethon/types.d.cts +7 -0
- package/types.d.cts +0 -0
- package/utils/crypto.d.cts +9 -0
- package/utils/crypto.d.ts +9 -0
- package/utils/fs.d.cts +11 -0
- package/utils/fs.d.ts +11 -0
- package/utils/rle.d.cts +3 -0
- package/wasm/src/index.cjs +64 -0
- package/wasm/src/index.js +59 -0
- package/utils/ip.d.ts +0 -3
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const utils_js = require("@mtcute/core/utils.js");
|
|
9
|
+
const dcs = require("../dcs.cjs");
|
|
10
|
+
const parse = require("./parse.cjs");
|
|
11
|
+
const serialize = require("./serialize.cjs");
|
|
12
|
+
function convertFromTelethonSession(session) {
|
|
13
|
+
if (typeof session === "string") {
|
|
14
|
+
session = parse.parseTelethonSession(session);
|
|
15
|
+
}
|
|
16
|
+
const dc = {
|
|
17
|
+
id: session.dcId,
|
|
18
|
+
ipAddress: session.ipAddress,
|
|
19
|
+
port: session.port,
|
|
20
|
+
ipv6: session.ipv6,
|
|
21
|
+
// we don't exactly have that information. try to deduce it from DC_MAPPING_TEST
|
|
22
|
+
// todo: we should maybe check this at connect?
|
|
23
|
+
testMode: dcs.isTestDc(session.ipAddress)
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
version: 3,
|
|
27
|
+
primaryDcs: {
|
|
28
|
+
main: dc,
|
|
29
|
+
media: dc
|
|
30
|
+
},
|
|
31
|
+
authKey: session.authKey
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function convertToTelethonSession(session) {
|
|
35
|
+
if (typeof session === "string") {
|
|
36
|
+
session = utils_js.readStringSession(session);
|
|
37
|
+
}
|
|
38
|
+
return serialize.serializeTelethonSession({
|
|
39
|
+
dcId: session.primaryDcs.main.id,
|
|
40
|
+
ipAddress: session.primaryDcs.main.ipAddress,
|
|
41
|
+
port: session.primaryDcs.main.port,
|
|
42
|
+
ipv6: session.primaryDcs.main.ipv6 ?? false,
|
|
43
|
+
authKey: session.authKey
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
exports.convertFromTelethonSession = convertFromTelethonSession;
|
|
47
|
+
exports.convertToTelethonSession = convertToTelethonSession;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { readStringSession } from "@mtcute/core/utils.js";
|
|
2
|
+
import { isTestDc } from "../dcs.js";
|
|
3
|
+
import { parseTelethonSession } from "./parse.js";
|
|
4
|
+
import { serializeTelethonSession } from "./serialize.js";
|
|
5
|
+
function convertFromTelethonSession(session) {
|
|
6
|
+
if (typeof session === "string") {
|
|
7
|
+
session = parseTelethonSession(session);
|
|
8
|
+
}
|
|
9
|
+
const dc = {
|
|
10
|
+
id: session.dcId,
|
|
11
|
+
ipAddress: session.ipAddress,
|
|
12
|
+
port: session.port,
|
|
13
|
+
ipv6: session.ipv6,
|
|
14
|
+
// we don't exactly have that information. try to deduce it from DC_MAPPING_TEST
|
|
15
|
+
// todo: we should maybe check this at connect?
|
|
16
|
+
testMode: isTestDc(session.ipAddress)
|
|
17
|
+
};
|
|
18
|
+
return {
|
|
19
|
+
version: 3,
|
|
20
|
+
primaryDcs: {
|
|
21
|
+
main: dc,
|
|
22
|
+
media: dc
|
|
23
|
+
},
|
|
24
|
+
authKey: session.authKey
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function convertToTelethonSession(session) {
|
|
28
|
+
if (typeof session === "string") {
|
|
29
|
+
session = readStringSession(session);
|
|
30
|
+
}
|
|
31
|
+
return serializeTelethonSession({
|
|
32
|
+
dcId: session.primaryDcs.main.id,
|
|
33
|
+
ipAddress: session.primaryDcs.main.ipAddress,
|
|
34
|
+
port: session.primaryDcs.main.port,
|
|
35
|
+
ipv6: session.primaryDcs.main.ipv6 ?? false,
|
|
36
|
+
authKey: session.authKey
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
export {
|
|
40
|
+
convertFromTelethonSession,
|
|
41
|
+
convertToTelethonSession
|
|
42
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const net = require("@fuman/net");
|
|
9
|
+
const utils = require("@fuman/utils");
|
|
10
|
+
const core = require("@mtcute/core");
|
|
11
|
+
function parseTelethonSession(session) {
|
|
12
|
+
if (session[0] !== "1") {
|
|
13
|
+
throw new core.MtArgumentError(`Invalid session string (version = ${session[0]})`);
|
|
14
|
+
}
|
|
15
|
+
session = session.slice(1);
|
|
16
|
+
const data = utils.base64.decode(session, true);
|
|
17
|
+
const dv = utils.typed.toDataView(data);
|
|
18
|
+
const dcId = dv.getUint8(0);
|
|
19
|
+
const ipSize = session.length === 352 ? 4 : 16;
|
|
20
|
+
let pos = 1 + ipSize;
|
|
21
|
+
const ipBytes = data.subarray(1, pos);
|
|
22
|
+
const port = dv.getUint16(pos);
|
|
23
|
+
pos += 2;
|
|
24
|
+
const authKey = data.subarray(pos, pos + 256);
|
|
25
|
+
let parsedIp;
|
|
26
|
+
if (ipSize === 16) {
|
|
27
|
+
parsedIp = net.ip.stringifyV6(net.ip.fromBytesV6(ipBytes));
|
|
28
|
+
} else {
|
|
29
|
+
parsedIp = net.ip.stringifyV4({ type: "ipv4", parts: ipBytes });
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
dcId,
|
|
33
|
+
ipAddress: parsedIp,
|
|
34
|
+
ipv6: ipSize === 16,
|
|
35
|
+
port,
|
|
36
|
+
authKey
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
exports.parseTelethonSession = parseTelethonSession;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ip } from "@fuman/net";
|
|
2
|
+
import { base64, typed } from "@fuman/utils";
|
|
3
|
+
import { MtArgumentError } from "@mtcute/core";
|
|
4
|
+
function parseTelethonSession(session) {
|
|
5
|
+
if (session[0] !== "1") {
|
|
6
|
+
throw new MtArgumentError(`Invalid session string (version = ${session[0]})`);
|
|
7
|
+
}
|
|
8
|
+
session = session.slice(1);
|
|
9
|
+
const data = base64.decode(session, true);
|
|
10
|
+
const dv = typed.toDataView(data);
|
|
11
|
+
const dcId = dv.getUint8(0);
|
|
12
|
+
const ipSize = session.length === 352 ? 4 : 16;
|
|
13
|
+
let pos = 1 + ipSize;
|
|
14
|
+
const ipBytes = data.subarray(1, pos);
|
|
15
|
+
const port = dv.getUint16(pos);
|
|
16
|
+
pos += 2;
|
|
17
|
+
const authKey = data.subarray(pos, pos + 256);
|
|
18
|
+
let parsedIp;
|
|
19
|
+
if (ipSize === 16) {
|
|
20
|
+
parsedIp = ip.stringifyV6(ip.fromBytesV6(ipBytes));
|
|
21
|
+
} else {
|
|
22
|
+
parsedIp = ip.stringifyV4({ type: "ipv4", parts: ipBytes });
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
dcId,
|
|
26
|
+
ipAddress: parsedIp,
|
|
27
|
+
ipv6: ipSize === 16,
|
|
28
|
+
port,
|
|
29
|
+
authKey
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
parseTelethonSession
|
|
34
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
const net = require("@fuman/net");
|
|
9
|
+
const utils = require("@fuman/utils");
|
|
10
|
+
const core = require("@mtcute/core");
|
|
11
|
+
function serializeTelethonSession(session) {
|
|
12
|
+
if (session.authKey.length !== 256) {
|
|
13
|
+
throw new core.MtArgumentError("authKey must be 256 bytes long");
|
|
14
|
+
}
|
|
15
|
+
const ipSize = session.ipv6 ? 16 : 4;
|
|
16
|
+
const buf = utils.u8.alloc(259 + ipSize);
|
|
17
|
+
const dv = utils.typed.toDataView(buf);
|
|
18
|
+
dv.setUint8(0, session.dcId);
|
|
19
|
+
let pos;
|
|
20
|
+
if (session.ipv6) {
|
|
21
|
+
buf.subarray(1, 17).set(net.ip.toBytesV6(net.ip.parseV6(session.ipAddress)));
|
|
22
|
+
pos = 17;
|
|
23
|
+
} else {
|
|
24
|
+
buf.subarray(1, 5).set(net.ip.parseV4(session.ipAddress).parts);
|
|
25
|
+
pos = 5;
|
|
26
|
+
}
|
|
27
|
+
dv.setUint16(pos, session.port);
|
|
28
|
+
pos += 2;
|
|
29
|
+
buf.set(session.authKey, pos);
|
|
30
|
+
let b64 = utils.base64.encode(buf, true);
|
|
31
|
+
while (b64.length % 4 !== 0) b64 += "=";
|
|
32
|
+
return `1${b64}`;
|
|
33
|
+
}
|
|
34
|
+
exports.serializeTelethonSession = serializeTelethonSession;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ip } from "@fuman/net";
|
|
2
|
+
import { u8, typed, base64 } from "@fuman/utils";
|
|
3
|
+
import { MtArgumentError } from "@mtcute/core";
|
|
4
|
+
function serializeTelethonSession(session) {
|
|
5
|
+
if (session.authKey.length !== 256) {
|
|
6
|
+
throw new MtArgumentError("authKey must be 256 bytes long");
|
|
7
|
+
}
|
|
8
|
+
const ipSize = session.ipv6 ? 16 : 4;
|
|
9
|
+
const buf = u8.alloc(259 + ipSize);
|
|
10
|
+
const dv = typed.toDataView(buf);
|
|
11
|
+
dv.setUint8(0, session.dcId);
|
|
12
|
+
let pos;
|
|
13
|
+
if (session.ipv6) {
|
|
14
|
+
buf.subarray(1, 17).set(ip.toBytesV6(ip.parseV6(session.ipAddress)));
|
|
15
|
+
pos = 17;
|
|
16
|
+
} else {
|
|
17
|
+
buf.subarray(1, 5).set(ip.parseV4(session.ipAddress).parts);
|
|
18
|
+
pos = 5;
|
|
19
|
+
}
|
|
20
|
+
dv.setUint16(pos, session.port);
|
|
21
|
+
pos += 2;
|
|
22
|
+
buf.set(session.authKey, pos);
|
|
23
|
+
let b64 = base64.encode(buf, true);
|
|
24
|
+
while (b64.length % 4 !== 0) b64 += "=";
|
|
25
|
+
return `1${b64}`;
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
serializeTelethonSession
|
|
29
|
+
};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __copyProps = (to, from, except, desc) => {
|
|
8
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
9
|
+
for (let key of __getOwnPropNames(from))
|
|
10
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
11
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
12
|
+
}
|
|
13
|
+
return to;
|
|
14
|
+
};
|
|
15
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
+
mod
|
|
22
|
+
));
|
|
23
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
24
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
25
|
+
console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
26
|
+
console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
27
|
+
}
|
|
28
|
+
"use strict";
|
|
29
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
30
|
+
async function getDefaultCryptoProvider() {
|
|
31
|
+
const crypto = (
|
|
32
|
+
/* @vite-ignore */
|
|
33
|
+
await import("node:crypto")
|
|
34
|
+
);
|
|
35
|
+
const { NodeCryptoProvider } = (
|
|
36
|
+
/* @vite-ignore */
|
|
37
|
+
await Promise.resolve().then(() => require("../../../node/src/utils.cjs"))
|
|
38
|
+
);
|
|
39
|
+
return new class extends NodeCryptoProvider {
|
|
40
|
+
createHash(algorithm) {
|
|
41
|
+
const hasher = crypto.createHash(algorithm);
|
|
42
|
+
return {
|
|
43
|
+
update(data) {
|
|
44
|
+
hasher.update(data);
|
|
45
|
+
},
|
|
46
|
+
digest() {
|
|
47
|
+
return hasher.digest();
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}();
|
|
52
|
+
}
|
|
53
|
+
exports.getDefaultCryptoProvider = getDefaultCryptoProvider;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
async function getDefaultCryptoProvider() {
|
|
2
|
+
const crypto = (
|
|
3
|
+
/* @vite-ignore */
|
|
4
|
+
await import("node:crypto")
|
|
5
|
+
);
|
|
6
|
+
const { NodeCryptoProvider } = (
|
|
7
|
+
/* @vite-ignore */
|
|
8
|
+
await import("../../../node/src/utils.js")
|
|
9
|
+
);
|
|
10
|
+
return new class extends NodeCryptoProvider {
|
|
11
|
+
createHash(algorithm) {
|
|
12
|
+
const hasher = crypto.createHash(algorithm);
|
|
13
|
+
return {
|
|
14
|
+
update(data) {
|
|
15
|
+
hasher.update(data);
|
|
16
|
+
},
|
|
17
|
+
digest() {
|
|
18
|
+
return hasher.digest();
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}();
|
|
23
|
+
}
|
|
24
|
+
export {
|
|
25
|
+
getDefaultCryptoProvider
|
|
26
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
if (typeof globalThis !== "undefined" && !globalThis._MTCUTE_CJS_DEPRECATION_WARNED) {
|
|
2
|
+
globalThis._MTCUTE_CJS_DEPRECATION_WARNED = true;
|
|
3
|
+
console.warn("[mtcute-workspace] CommonJS support is deprecated and will be removed in 0.20.0. Please consider switching to ESM, it's " + (/* @__PURE__ */ new Date()).getFullYear() + " already.");
|
|
4
|
+
console.warn("[mtcute-workspace] Learn more about switching to ESM: https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c");
|
|
5
|
+
}
|
|
6
|
+
"use strict";
|
|
7
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
8
|
+
function telegramRleEncode(buf) {
|
|
9
|
+
const len = buf.length;
|
|
10
|
+
const ret = [];
|
|
11
|
+
let count = 0;
|
|
12
|
+
for (let i = 0; i < len; i++) {
|
|
13
|
+
const cur = buf[i];
|
|
14
|
+
if (cur === 0) {
|
|
15
|
+
count += 1;
|
|
16
|
+
} else {
|
|
17
|
+
if (count > 0) {
|
|
18
|
+
ret.push(0, count);
|
|
19
|
+
count = 0;
|
|
20
|
+
}
|
|
21
|
+
ret.push(cur);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
if (count > 0) {
|
|
25
|
+
ret.push(0, count);
|
|
26
|
+
}
|
|
27
|
+
return new Uint8Array(ret);
|
|
28
|
+
}
|
|
29
|
+
function telegramRleDecode(buf) {
|
|
30
|
+
const len = buf.length;
|
|
31
|
+
const ret = [];
|
|
32
|
+
let prev = -1;
|
|
33
|
+
for (let i = 0; i < len; i++) {
|
|
34
|
+
const cur = buf[i];
|
|
35
|
+
if (prev === 0) {
|
|
36
|
+
for (let j = 0; j < cur; j++) {
|
|
37
|
+
ret.push(prev);
|
|
38
|
+
}
|
|
39
|
+
prev = -1;
|
|
40
|
+
} else {
|
|
41
|
+
if (prev !== -1) ret.push(prev);
|
|
42
|
+
prev = cur;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (prev !== -1) ret.push(prev);
|
|
46
|
+
return new Uint8Array(ret);
|
|
47
|
+
}
|
|
48
|
+
exports.telegramRleDecode = telegramRleDecode;
|
|
49
|
+
exports.telegramRleEncode = telegramRleEncode;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
function telegramRleEncode(buf) {
|
|
2
|
+
const len = buf.length;
|
|
3
|
+
const ret = [];
|
|
4
|
+
let count = 0;
|
|
5
|
+
for (let i = 0; i < len; i++) {
|
|
6
|
+
const cur = buf[i];
|
|
7
|
+
if (cur === 0) {
|
|
8
|
+
count += 1;
|
|
9
|
+
} else {
|
|
10
|
+
if (count > 0) {
|
|
11
|
+
ret.push(0, count);
|
|
12
|
+
count = 0;
|
|
13
|
+
}
|
|
14
|
+
ret.push(cur);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
if (count > 0) {
|
|
18
|
+
ret.push(0, count);
|
|
19
|
+
}
|
|
20
|
+
return new Uint8Array(ret);
|
|
21
|
+
}
|
|
22
|
+
function telegramRleDecode(buf) {
|
|
23
|
+
const len = buf.length;
|
|
24
|
+
const ret = [];
|
|
25
|
+
let prev = -1;
|
|
26
|
+
for (let i = 0; i < len; i++) {
|
|
27
|
+
const cur = buf[i];
|
|
28
|
+
if (prev === 0) {
|
|
29
|
+
for (let j = 0; j < cur; j++) {
|
|
30
|
+
ret.push(prev);
|
|
31
|
+
}
|
|
32
|
+
prev = -1;
|
|
33
|
+
} else {
|
|
34
|
+
if (prev !== -1) ret.push(prev);
|
|
35
|
+
prev = cur;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (prev !== -1) ret.push(prev);
|
|
39
|
+
return new Uint8Array(ret);
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
telegramRleDecode,
|
|
43
|
+
telegramRleEncode
|
|
44
|
+
};
|
package/dcs.d.cts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const GRAMJS_SESSION = "1AgAOMTQ5LjE1NC4xNjcuNDABu60obcEYS8Yb/I7YlCwaLvW84dXCX2oGnBYG+zuMciJhHP99c8ZJvwxJgH8yU1QrqI+Gh0kK0JAuQucIpDfq/jJVLZ1ZRimq5yy1XbeEs65gtZA1+SUwZRXahh+NzGbPmOVUMCnCtRONo9GNvcx/QxSXRrh7T/K0YYN1iHsK1vJDk8/SUnthvTNmRycC+JLn4fMtctqP4Le2WPOH/deYbUF0BlwmR77M7fv1GZSInqCgWReaIl5nvn0IqA4mOCTkdOgcvwOiB2UmXwiyInxRuLdBIyLbBUDCuTlmL1m3FJqbuEpZEUJnoJf2YDFZ1wR6TfL0MUS1VwnjOcy3WIIFwwg=";
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
+
import { TelethonSession } from '../telethon/types.js';
|
|
3
|
+
export declare function convertFromGramjsSession(session: TelethonSession | string): StringSessionData;
|
|
4
|
+
export declare function convertToGramjsSession(session: StringSessionData | string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|