@mtcute/convert 0.16.0 → 0.16.7
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 +1 -1
- package/cjs/dcs.d.ts +1 -1
- package/cjs/dcs.js +11 -11
- package/cjs/dcs.js.map +1 -1
- package/cjs/gramjs/convert.d.ts +2 -2
- package/cjs/gramjs/convert.js +2 -3
- package/cjs/gramjs/convert.js.map +1 -1
- package/cjs/gramjs/parse.d.ts +1 -1
- package/cjs/gramjs/parse.js +1 -2
- package/cjs/gramjs/parse.js.map +1 -1
- package/cjs/gramjs/serialize.d.ts +1 -1
- package/cjs/gramjs/serialize.js +2 -3
- package/cjs/gramjs/serialize.js.map +1 -1
- package/cjs/mtkruto/convert.d.ts +2 -2
- package/cjs/mtkruto/convert.js +2 -3
- package/cjs/mtkruto/convert.js.map +1 -1
- package/cjs/mtkruto/parse.d.ts +1 -1
- package/cjs/mtkruto/parse.js +2 -3
- package/cjs/mtkruto/parse.js.map +1 -1
- package/cjs/mtkruto/serialize.d.ts +1 -1
- package/cjs/mtkruto/serialize.js +1 -2
- package/cjs/mtkruto/serialize.js.map +1 -1
- package/cjs/pyrogram/convert.d.ts +2 -2
- package/cjs/pyrogram/convert.js +2 -3
- package/cjs/pyrogram/convert.js.map +1 -1
- package/cjs/pyrogram/parse.d.ts +1 -1
- package/cjs/pyrogram/parse.js +1 -2
- package/cjs/pyrogram/parse.js.map +1 -1
- package/cjs/pyrogram/serialize.d.ts +1 -1
- package/cjs/pyrogram/serialize.js +1 -2
- package/cjs/pyrogram/serialize.js.map +1 -1
- package/cjs/telethon/convert.d.ts +2 -2
- package/cjs/telethon/convert.js +2 -3
- package/cjs/telethon/convert.js.map +1 -1
- package/cjs/telethon/parse.d.ts +1 -1
- package/cjs/telethon/parse.js +1 -2
- package/cjs/telethon/parse.js.map +1 -1
- package/cjs/telethon/serialize.d.ts +1 -1
- package/cjs/telethon/serialize.js +2 -3
- package/cjs/telethon/serialize.js.map +1 -1
- package/cjs/utils/ip.js +5 -6
- package/cjs/utils/ip.js.map +1 -1
- package/cjs/utils/rle.js +3 -4
- package/cjs/utils/rle.js.map +1 -1
- package/esm/dcs.d.ts +1 -1
- package/esm/dcs.js +9 -9
- package/esm/dcs.js.map +1 -1
- package/esm/gramjs/convert.d.ts +2 -2
- package/esm/gramjs/convert.js.map +1 -1
- package/esm/gramjs/parse.d.ts +1 -1
- package/esm/gramjs/parse.js.map +1 -1
- package/esm/gramjs/serialize.d.ts +1 -1
- package/esm/gramjs/serialize.js +1 -1
- package/esm/gramjs/serialize.js.map +1 -1
- package/esm/mtkruto/convert.d.ts +2 -2
- package/esm/mtkruto/convert.js.map +1 -1
- package/esm/mtkruto/parse.d.ts +1 -1
- package/esm/mtkruto/parse.js +1 -1
- package/esm/mtkruto/parse.js.map +1 -1
- package/esm/mtkruto/serialize.d.ts +1 -1
- package/esm/mtkruto/serialize.js.map +1 -1
- package/esm/pyrogram/convert.d.ts +2 -2
- package/esm/pyrogram/convert.js.map +1 -1
- package/esm/pyrogram/parse.d.ts +1 -1
- package/esm/pyrogram/parse.js.map +1 -1
- package/esm/pyrogram/serialize.d.ts +1 -1
- package/esm/pyrogram/serialize.js.map +1 -1
- package/esm/telethon/convert.d.ts +2 -2
- package/esm/telethon/convert.js.map +1 -1
- package/esm/telethon/parse.d.ts +1 -1
- package/esm/telethon/parse.js.map +1 -1
- package/esm/telethon/serialize.d.ts +1 -1
- package/esm/telethon/serialize.js +1 -1
- package/esm/telethon/serialize.js.map +1 -1
- package/esm/utils/ip.js +2 -2
- package/esm/utils/ip.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@ Currently only the libraries that support exporting sessions to strings are supp
|
|
|
8
8
|
|
|
9
9
|
## [Telethon](https://github.com/LonamiWebs/Telethon)
|
|
10
10
|
|
|
11
|
-
> Telethon v2 seems to have removed the ability to export sessions,
|
|
11
|
+
> Telethon v2 seems to have removed the ability to export sessions,
|
|
12
12
|
> so it's currently not supported
|
|
13
13
|
|
|
14
14
|
```ts
|
package/cjs/dcs.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DcOptions } from '@mtcute/core/utils.js';
|
|
1
|
+
import type { DcOptions } from '@mtcute/core/utils.js';
|
|
2
2
|
export declare const DC_MAPPING_PROD: Record<number, DcOptions>;
|
|
3
3
|
export declare const DC_MAPPING_TEST: Record<number, DcOptions>;
|
|
4
4
|
export declare function isTestDc(ip: string): boolean;
|
package/cjs/dcs.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.DC_MAPPING_TEST = exports.DC_MAPPING_PROD = void 0;
|
|
4
|
+
exports.isTestDc = isTestDc;
|
|
4
5
|
// some libraries only store the DCs in the source code, so we need to map them to the correct DCs
|
|
5
6
|
// this may not be very accurate, but it's better than nothing
|
|
6
7
|
// we *could* always map those to the primary dc (the client should handle that gracefully),
|
|
7
8
|
// but imo it's better to be as accurate as possible
|
|
8
9
|
// we'll also only map to ipv4 since that's more portable
|
|
9
10
|
exports.DC_MAPPING_PROD = {
|
|
10
|
-
|
|
11
|
+
1: {
|
|
11
12
|
main: {
|
|
12
13
|
id: 1,
|
|
13
14
|
ipAddress: '149.154.175.56',
|
|
@@ -19,7 +20,7 @@ exports.DC_MAPPING_PROD = {
|
|
|
19
20
|
port: 443,
|
|
20
21
|
},
|
|
21
22
|
},
|
|
22
|
-
|
|
23
|
+
2: {
|
|
23
24
|
main: {
|
|
24
25
|
id: 2,
|
|
25
26
|
ipAddress: '149.154.167.41',
|
|
@@ -31,7 +32,7 @@ exports.DC_MAPPING_PROD = {
|
|
|
31
32
|
port: 443,
|
|
32
33
|
},
|
|
33
34
|
},
|
|
34
|
-
|
|
35
|
+
3: {
|
|
35
36
|
main: {
|
|
36
37
|
id: 3,
|
|
37
38
|
ipAddress: '149.154.175.100',
|
|
@@ -43,7 +44,7 @@ exports.DC_MAPPING_PROD = {
|
|
|
43
44
|
port: 443,
|
|
44
45
|
},
|
|
45
46
|
},
|
|
46
|
-
|
|
47
|
+
4: {
|
|
47
48
|
main: {
|
|
48
49
|
id: 4,
|
|
49
50
|
ipAddress: '149.154.167.91',
|
|
@@ -55,7 +56,7 @@ exports.DC_MAPPING_PROD = {
|
|
|
55
56
|
port: 443,
|
|
56
57
|
},
|
|
57
58
|
},
|
|
58
|
-
|
|
59
|
+
5: {
|
|
59
60
|
main: {
|
|
60
61
|
id: 5,
|
|
61
62
|
ipAddress: '91.108.56.179',
|
|
@@ -69,7 +70,7 @@ exports.DC_MAPPING_PROD = {
|
|
|
69
70
|
},
|
|
70
71
|
};
|
|
71
72
|
exports.DC_MAPPING_TEST = {
|
|
72
|
-
|
|
73
|
+
1: {
|
|
73
74
|
main: {
|
|
74
75
|
id: 1,
|
|
75
76
|
ipAddress: '149.154.175.10',
|
|
@@ -81,7 +82,7 @@ exports.DC_MAPPING_TEST = {
|
|
|
81
82
|
port: 80,
|
|
82
83
|
},
|
|
83
84
|
},
|
|
84
|
-
|
|
85
|
+
2: {
|
|
85
86
|
main: {
|
|
86
87
|
id: 2,
|
|
87
88
|
ipAddress: '149.154.167.40',
|
|
@@ -93,7 +94,7 @@ exports.DC_MAPPING_TEST = {
|
|
|
93
94
|
port: 443,
|
|
94
95
|
},
|
|
95
96
|
},
|
|
96
|
-
|
|
97
|
+
3: {
|
|
97
98
|
main: {
|
|
98
99
|
id: 3,
|
|
99
100
|
ipAddress: '149.154.175.117',
|
|
@@ -107,7 +108,6 @@ exports.DC_MAPPING_TEST = {
|
|
|
107
108
|
},
|
|
108
109
|
};
|
|
109
110
|
function isTestDc(ip) {
|
|
110
|
-
return Object.values(exports.DC_MAPPING_TEST).some(
|
|
111
|
+
return Object.values(exports.DC_MAPPING_TEST).some(dc => dc.main.ipAddress === ip || dc.media.ipAddress === ip);
|
|
111
112
|
}
|
|
112
|
-
exports.isTestDc = isTestDc;
|
|
113
113
|
//# sourceMappingURL=dcs.js.map
|
package/cjs/dcs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dcs.js","sourceRoot":"","sources":["../../src/dcs.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dcs.js","sourceRoot":"","sources":["../../src/dcs.ts"],"names":[],"mappings":";;;AA8GA,4BAEC;AA9GD,kGAAkG;AAClG,8DAA8D;AAC9D,4FAA4F;AAC5F,oDAAoD;AACpD,yDAAyD;AAE5C,QAAA,eAAe,GAA8B;IACtD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,GAAG;SACZ;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,eAAe;YAC1B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;KACJ;CACJ,CAAA;AAEY,QAAA,eAAe,GAA8B;IACtD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,EAAE;SACX;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,EAAE;SACX;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,gBAAgB;YAC3B,IAAI,EAAE,GAAG;SACZ;KACJ;IACD,CAAC,EAAE;QACC,IAAI,EAAE;YACF,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;QACD,KAAK,EAAE;YACH,EAAE,EAAE,CAAC;YACL,SAAS,EAAE,iBAAiB;YAC5B,IAAI,EAAE,GAAG;SACZ;KACJ;CACJ,CAAA;AAED,SAAgB,QAAQ,CAAC,EAAU;IAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,uBAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,EAAE,CAAC,CAAA;AAC3G,CAAC","sourcesContent":["import type { DcOptions } from '@mtcute/core/utils.js'\n\n// some libraries only store the DCs in the source code, so we need to map them to the correct DCs\n// this may not be very accurate, but it's better than nothing\n// we *could* always map those to the primary dc (the client should handle that gracefully),\n// but imo it's better to be as accurate as possible\n// we'll also only map to ipv4 since that's more portable\n\nexport const DC_MAPPING_PROD: Record<number, DcOptions> = {\n 1: {\n main: {\n id: 1,\n ipAddress: '149.154.175.56',\n port: 443,\n },\n media: {\n id: 1,\n ipAddress: '149.154.175.211',\n port: 443,\n },\n },\n 2: {\n main: {\n id: 2,\n ipAddress: '149.154.167.41',\n port: 443,\n },\n media: {\n id: 2,\n ipAddress: '149.154.167.35',\n port: 443,\n },\n },\n 3: {\n main: {\n id: 3,\n ipAddress: '149.154.175.100',\n port: 443,\n },\n media: {\n id: 3,\n ipAddress: '149.154.175.100',\n port: 443,\n },\n },\n 4: {\n main: {\n id: 4,\n ipAddress: '149.154.167.91',\n port: 443,\n },\n media: {\n id: 4,\n ipAddress: '149.154.167.255',\n port: 443,\n },\n },\n 5: {\n main: {\n id: 5,\n ipAddress: '91.108.56.179',\n port: 443,\n },\n media: {\n id: 5,\n ipAddress: '149.154.171.255',\n port: 443,\n },\n },\n}\n\nexport const DC_MAPPING_TEST: Record<number, DcOptions> = {\n 1: {\n main: {\n id: 1,\n ipAddress: '149.154.175.10',\n port: 80,\n },\n media: {\n id: 1,\n ipAddress: '149.154.175.10',\n port: 80,\n },\n },\n 2: {\n main: {\n id: 2,\n ipAddress: '149.154.167.40',\n port: 443,\n },\n media: {\n id: 2,\n ipAddress: '149.154.167.40',\n port: 443,\n },\n },\n 3: {\n main: {\n id: 3,\n ipAddress: '149.154.175.117',\n port: 443,\n },\n media: {\n id: 3,\n ipAddress: '149.154.175.117',\n port: 443,\n },\n },\n}\n\nexport function isTestDc(ip: string): boolean {\n return Object.values(DC_MAPPING_TEST).some(dc => dc.main.ipAddress === ip || dc.media.ipAddress === ip)\n}\n"]}
|
package/cjs/gramjs/convert.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
-
import { TelethonSession } from '../telethon/types.js';
|
|
1
|
+
import type { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
+
import type { TelethonSession } from '../telethon/types.js';
|
|
3
3
|
export declare function convertFromGramjsSession(session: TelethonSession | string): StringSessionData;
|
|
4
4
|
export declare function convertToGramjsSession(session: StringSessionData | string): string;
|
package/cjs/gramjs/convert.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.convertFromGramjsSession = convertFromGramjsSession;
|
|
4
|
+
exports.convertToGramjsSession = convertToGramjsSession;
|
|
4
5
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
5
6
|
const convert_js_1 = require("../telethon/convert.js");
|
|
6
7
|
const parse_js_1 = require("./parse.js");
|
|
@@ -11,7 +12,6 @@ function convertFromGramjsSession(session) {
|
|
|
11
12
|
}
|
|
12
13
|
return (0, convert_js_1.convertFromTelethonSession)(session);
|
|
13
14
|
}
|
|
14
|
-
exports.convertFromGramjsSession = convertFromGramjsSession;
|
|
15
15
|
function convertToGramjsSession(session) {
|
|
16
16
|
if (typeof session === 'string') {
|
|
17
17
|
session = (0, utils_js_1.readStringSession)(session);
|
|
@@ -24,5 +24,4 @@ function convertToGramjsSession(session) {
|
|
|
24
24
|
authKey: session.authKey,
|
|
25
25
|
});
|
|
26
26
|
}
|
|
27
|
-
exports.convertToGramjsSession = convertToGramjsSession;
|
|
28
27
|
//# sourceMappingURL=convert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/gramjs/convert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/gramjs/convert.ts"],"names":[],"mappings":";;AASA,4DAMC;AAED,wDAYC;AA5BD,oDAAyD;AAEzD,uDAAmE;AAGnE,yCAA+C;AAC/C,iDAAuD;AAEvD,SAAgB,wBAAwB,CAAC,OAAiC;IACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,6BAAkB,EAAC,OAAO,CAAC,CAAA;IACzC,CAAC;IAED,OAAO,IAAA,uCAA0B,EAAC,OAAO,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,sBAAsB,CAAC,OAAmC;IACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAA,qCAAsB,EAAC;QAC1B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAChC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS;QAC5C,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI;QAClC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK;QAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAA;AACN,CAAC","sourcesContent":["import type { StringSessionData } from '@mtcute/core/utils.js'\nimport { readStringSession } from '@mtcute/core/utils.js'\n\nimport { convertFromTelethonSession } from '../telethon/convert.js'\nimport type { TelethonSession } from '../telethon/types.js'\n\nimport { parseGramjsSession } from './parse.js'\nimport { serializeGramjsSession } from './serialize.js'\n\nexport function convertFromGramjsSession(session: TelethonSession | string): StringSessionData {\n if (typeof session === 'string') {\n session = parseGramjsSession(session)\n }\n\n return convertFromTelethonSession(session)\n}\n\nexport function convertToGramjsSession(session: StringSessionData | string): string {\n if (typeof session === 'string') {\n session = readStringSession(session)\n }\n\n return serializeGramjsSession({\n dcId: session.primaryDcs.main.id,\n ipAddress: session.primaryDcs.main.ipAddress,\n port: session.primaryDcs.main.port,\n ipv6: session.primaryDcs.main.ipv6 ?? false,\n authKey: session.authKey,\n })\n}\n"]}
|
package/cjs/gramjs/parse.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TelethonSession } from '../telethon/types.js';
|
|
1
|
+
import type { TelethonSession } from '../telethon/types.js';
|
|
2
2
|
export declare function parseGramjsSession(session: string): TelethonSession;
|
package/cjs/gramjs/parse.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseGramjsSession =
|
|
3
|
+
exports.parseGramjsSession = parseGramjsSession;
|
|
4
4
|
const core_1 = require("@mtcute/core");
|
|
5
5
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
6
6
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -27,5 +27,4 @@ function parseGramjsSession(session) {
|
|
|
27
27
|
authKey,
|
|
28
28
|
};
|
|
29
29
|
}
|
|
30
|
-
exports.parseGramjsSession = parseGramjsSession;
|
|
31
30
|
//# sourceMappingURL=parse.js.map
|
package/cjs/gramjs/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/gramjs/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/gramjs/parse.ts"],"names":[],"mappings":";;AAMA,gDA4BC;AAlCD,uCAA8C;AAC9C,0DAAsD;AACtD,oDAA0D;AAI1D,SAAgB,kBAAkB,CAAC,OAAe;IAC9C,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACrB,UAAU;QACV,MAAM,IAAI,sBAAe,CAAC,qCAAqC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACjF,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1B,MAAM,IAAI,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IAChD,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAA;IAEnC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3B,MAAM,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC9B,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,CAAA;IAEpB,MAAM,EAAE,GAAG,IAAA,yBAAW,GAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAA;IAC1D,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,IAAI,CAAC,CAAA;IACR,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;IAE7C,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,kCAAkC;QAC1D,IAAI;QACJ,OAAO;KACV,CAAA;AACL,CAAC","sourcesContent":["import { MtArgumentError } from '@mtcute/core'\nimport { getPlatform } from '@mtcute/core/platform.js'\nimport { dataViewFromBuffer } from '@mtcute/core/utils.js'\n\nimport type { TelethonSession } from '../telethon/types.js'\n\nexport function parseGramjsSession(session: string): TelethonSession {\n if (session[0] !== '1') {\n // version\n throw new MtArgumentError(`Invalid session string (version = ${session[0]})`)\n }\n\n session = session.slice(1)\n\n const data = getPlatform().base64Decode(session)\n const dv = dataViewFromBuffer(data)\n\n const dcId = dv.getUint8(0)\n\n const ipSize = dv.getUint16(1)\n let pos = 3 + ipSize\n\n const ip = getPlatform().utf8Decode(data.subarray(3, pos))\n const port = dv.getUint16(pos)\n pos += 2\n const authKey = data.subarray(pos, pos + 256)\n\n return {\n dcId,\n ipAddress: ip,\n ipv6: ip.includes(':'), // dumb check but gramjs does this\n port,\n authKey,\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TelethonSession } from '../telethon/types.js';
|
|
1
|
+
import type { TelethonSession } from '../telethon/types.js';
|
|
2
2
|
export declare function serializeGramjsSession(session: TelethonSession): string;
|
package/cjs/gramjs/serialize.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serializeGramjsSession =
|
|
3
|
+
exports.serializeGramjsSession = serializeGramjsSession;
|
|
4
4
|
const core_1 = require("@mtcute/core");
|
|
5
5
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
6
6
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -18,7 +18,6 @@ function serializeGramjsSession(session) {
|
|
|
18
18
|
dv.setUint16(pos, session.port);
|
|
19
19
|
pos += 2;
|
|
20
20
|
u8.set(session.authKey, pos);
|
|
21
|
-
return
|
|
21
|
+
return `1${(0, platform_js_1.getPlatform)().base64Encode(u8)}`;
|
|
22
22
|
}
|
|
23
|
-
exports.serializeGramjsSession = serializeGramjsSession;
|
|
24
23
|
//# sourceMappingURL=serialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/gramjs/serialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/gramjs/serialize.ts"],"names":[],"mappings":";;AAMA,wDAqBC;AA3BD,uCAA8C;AAC9C,0DAAsD;AACtD,oDAA0D;AAI1D,SAAgB,sBAAsB,CAAC,OAAwB;IAC3D,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAe,CAAC,gCAAgC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,SAAS,GAAG,IAAA,yBAAW,GAAE,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IAE7D,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,EAAE,CAAC,CAAA;IAEjC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACjC,EAAE,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAEpB,IAAI,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,MAAM,CAAA;IAE9B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/B,GAAG,IAAI,CAAC,CAAA;IACR,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;IAE5B,OAAO,IAAI,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAA;AAC/C,CAAC","sourcesContent":["import { MtArgumentError } from '@mtcute/core'\nimport { getPlatform } from '@mtcute/core/platform.js'\nimport { dataViewFromBuffer } from '@mtcute/core/utils.js'\n\nimport type { TelethonSession } from '../telethon/types.js'\n\nexport function serializeGramjsSession(session: TelethonSession) {\n if (session.authKey.length !== 256) {\n throw new MtArgumentError('authKey must be 256 bytes long')\n }\n\n const ipEncoded = getPlatform().utf8Encode(session.ipAddress)\n\n const u8 = new Uint8Array(261 + ipEncoded.length)\n const dv = dataViewFromBuffer(u8)\n\n dv.setUint8(0, session.dcId)\n dv.setUint16(1, ipEncoded.length)\n u8.set(ipEncoded, 3)\n\n let pos = 3 + ipEncoded.length\n\n dv.setUint16(pos, session.port)\n pos += 2\n u8.set(session.authKey, pos)\n\n return `1${getPlatform().base64Encode(u8)}`\n}\n"]}
|
package/cjs/mtkruto/convert.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
-
import { MtkrutoSession } from './types.js';
|
|
1
|
+
import type { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
+
import type { MtkrutoSession } from './types.js';
|
|
3
3
|
export declare function convertFromMtkrutoSession(session: MtkrutoSession | string): StringSessionData;
|
|
4
4
|
export declare function convertToMtkrutoSession(session: StringSessionData | string): string;
|
package/cjs/mtkruto/convert.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.convertFromMtkrutoSession = convertFromMtkrutoSession;
|
|
4
|
+
exports.convertToMtkrutoSession = convertToMtkrutoSession;
|
|
4
5
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
5
6
|
const dcs_js_1 = require("../dcs.js");
|
|
6
7
|
const parse_js_1 = require("./parse.js");
|
|
@@ -16,7 +17,6 @@ function convertFromMtkrutoSession(session) {
|
|
|
16
17
|
authKey: session.authKey,
|
|
17
18
|
};
|
|
18
19
|
}
|
|
19
|
-
exports.convertFromMtkrutoSession = convertFromMtkrutoSession;
|
|
20
20
|
function convertToMtkrutoSession(session) {
|
|
21
21
|
if (typeof session === 'string') {
|
|
22
22
|
session = (0, utils_js_1.readStringSession)(session);
|
|
@@ -27,5 +27,4 @@ function convertToMtkrutoSession(session) {
|
|
|
27
27
|
authKey: session.authKey,
|
|
28
28
|
});
|
|
29
29
|
}
|
|
30
|
-
exports.convertToMtkrutoSession = convertToMtkrutoSession;
|
|
31
30
|
//# sourceMappingURL=convert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/mtkruto/convert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/mtkruto/convert.ts"],"names":[],"mappings":";;AASA,8DAWC;AAED,0DAUC;AA/BD,oDAAyD;AAEzD,sCAA4D;AAE5D,yCAAgD;AAChD,iDAAwD;AAGxD,SAAgB,yBAAyB,CAAC,OAAgC;IACtE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,8BAAmB,EAAC,OAAO,CAAC,CAAA;IAC1C,CAAC;IAED,OAAO;QACH,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAe,CAAC,CAAC,CAAC,wBAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9E,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAA;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,OAAmC;IACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAA,sCAAuB,EAAC;QAC3B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAA;AACN,CAAC","sourcesContent":["import type { StringSessionData } from '@mtcute/core/utils.js'\nimport { readStringSession } from '@mtcute/core/utils.js'\n\nimport { DC_MAPPING_PROD, DC_MAPPING_TEST } from '../dcs.js'\n\nimport { parseMtkrutoSession } from './parse.js'\nimport { serializeMtkrutoSession } from './serialize.js'\nimport type { MtkrutoSession } from './types.js'\n\nexport function convertFromMtkrutoSession(session: MtkrutoSession | string): StringSessionData {\n if (typeof session === 'string') {\n session = parseMtkrutoSession(session)\n }\n\n return {\n version: 3,\n testMode: session.isTest,\n primaryDcs: (session.isTest ? DC_MAPPING_TEST : DC_MAPPING_PROD)[session.dcId],\n authKey: session.authKey,\n }\n}\n\nexport function convertToMtkrutoSession(session: StringSessionData | string): string {\n if (typeof session === 'string') {\n session = readStringSession(session)\n }\n\n return serializeMtkrutoSession({\n dcId: session.primaryDcs.main.id,\n isTest: session.testMode,\n authKey: session.authKey,\n })\n}\n"]}
|
package/cjs/mtkruto/parse.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { MtkrutoSession } from './types.js';
|
|
1
|
+
import type { MtkrutoSession } from './types.js';
|
|
2
2
|
export declare function parseMtkrutoSession(session: string): MtkrutoSession;
|
package/cjs/mtkruto/parse.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseMtkrutoSession =
|
|
3
|
+
exports.parseMtkrutoSession = parseMtkrutoSession;
|
|
4
4
|
const core_1 = require("@mtcute/core");
|
|
5
5
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
6
6
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -15,7 +15,7 @@ function parseMtkrutoSession(session) {
|
|
|
15
15
|
dcIdStr = dcIdStr.slice(0, -5);
|
|
16
16
|
}
|
|
17
17
|
const dcId = Number(dcIdStr);
|
|
18
|
-
if (isNaN(dcId)) {
|
|
18
|
+
if (Number.isNaN(dcId)) {
|
|
19
19
|
throw new core_1.MtArgumentError(`Invalid DC ID: ${dcIdStr}`);
|
|
20
20
|
}
|
|
21
21
|
return {
|
|
@@ -24,5 +24,4 @@ function parseMtkrutoSession(session) {
|
|
|
24
24
|
authKey,
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
|
-
exports.parseMtkrutoSession = parseMtkrutoSession;
|
|
28
27
|
//# sourceMappingURL=parse.js.map
|
package/cjs/mtkruto/parse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mtkruto/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/mtkruto/parse.ts"],"names":[],"mappings":";;AAQA,kDAuBC;AA/BD,uCAA8C;AAC9C,0DAAsD;AACtD,oDAAsD;AAEtD,4CAAmD;AAInD,SAAgB,mBAAmB,CAAC,OAAe;IAC/C,MAAM,IAAI,GAAG,IAAA,0BAAiB,EAAC,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,yBAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAE1C,IAAI,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,CAAA;IAE9B,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IAExC,IAAI,MAAM,EAAE,CAAC;QACT,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClC,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAE5B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,sBAAe,CAAC,kBAAkB,OAAO,EAAE,CAAC,CAAA;IAC1D,CAAC;IAED,OAAO;QACH,IAAI;QACJ,MAAM;QACN,OAAO;KACV,CAAA;AACL,CAAC","sourcesContent":["import { MtArgumentError } from '@mtcute/core'\nimport { getPlatform } from '@mtcute/core/platform.js'\nimport { TlBinaryReader } from '@mtcute/core/utils.js'\n\nimport { telegramRleDecode } from '../utils/rle.js'\n\nimport type { MtkrutoSession } from './types.js'\n\nexport function parseMtkrutoSession(session: string): MtkrutoSession {\n const data = telegramRleDecode(getPlatform().base64Decode(session, true))\n const reader = TlBinaryReader.manual(data)\n\n let dcIdStr = reader.string()\n const authKey = reader.bytes()\n\n const isTest = dcIdStr.endsWith('-test')\n\n if (isTest) {\n dcIdStr = dcIdStr.slice(0, -5)\n }\n const dcId = Number(dcIdStr)\n\n if (Number.isNaN(dcId)) {\n throw new MtArgumentError(`Invalid DC ID: ${dcIdStr}`)\n }\n\n return {\n dcId,\n isTest,\n authKey,\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { MtkrutoSession } from './types.js';
|
|
1
|
+
import type { MtkrutoSession } from './types.js';
|
|
2
2
|
export declare function serializeMtkrutoSession(session: MtkrutoSession): string;
|
package/cjs/mtkruto/serialize.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serializeMtkrutoSession =
|
|
3
|
+
exports.serializeMtkrutoSession = serializeMtkrutoSession;
|
|
4
4
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
5
5
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
6
6
|
const rle_js_1 = require("../utils/rle.js");
|
|
@@ -11,5 +11,4 @@ function serializeMtkrutoSession(session) {
|
|
|
11
11
|
writer.bytes(session.authKey);
|
|
12
12
|
return (0, platform_js_1.getPlatform)().base64Encode((0, rle_js_1.telegramRleEncode)(writer.result()), true);
|
|
13
13
|
}
|
|
14
|
-
exports.serializeMtkrutoSession = serializeMtkrutoSession;
|
|
15
14
|
//# sourceMappingURL=serialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/mtkruto/serialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/mtkruto/serialize.ts"],"names":[],"mappings":";;AAOA,0DASC;AAhBD,0DAAsD;AACtD,oDAAsD;AAEtD,4CAAmD;AAInD,SAAgB,uBAAuB,CAAC,OAAuB;IAC3D,MAAM,OAAO,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAEjE,MAAM,MAAM,GAAG,yBAAc,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAEjF,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACtB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAE7B,OAAO,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,IAAA,0BAAiB,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;AAC/E,CAAC","sourcesContent":["import { getPlatform } from '@mtcute/core/platform.js'\nimport { TlBinaryWriter } from '@mtcute/core/utils.js'\n\nimport { telegramRleEncode } from '../utils/rle.js'\n\nimport type { MtkrutoSession } from './types.js'\n\nexport function serializeMtkrutoSession(session: MtkrutoSession): string {\n const dcIdStr = `${session.dcId}${session.isTest ? '-test' : ''}`\n\n const writer = TlBinaryWriter.manual(session.authKey.length + dcIdStr.length + 8)\n\n writer.string(dcIdStr)\n writer.bytes(session.authKey)\n\n return getPlatform().base64Encode(telegramRleEncode(writer.result()), true)\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
-
import { PyrogramSession } from './types.js';
|
|
1
|
+
import type { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
+
import type { PyrogramSession } from './types.js';
|
|
3
3
|
export declare function convertFromPyrogramSession(session: PyrogramSession | string): StringSessionData;
|
|
4
4
|
export declare function convertToPyrogramSession(session: StringSessionData | string, params?: {
|
|
5
5
|
apiId?: number;
|
package/cjs/pyrogram/convert.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.convertFromPyrogramSession = convertFromPyrogramSession;
|
|
4
|
+
exports.convertToPyrogramSession = convertToPyrogramSession;
|
|
4
5
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
5
6
|
const dcs_js_1 = require("../dcs.js");
|
|
6
7
|
const parse_js_1 = require("./parse.js");
|
|
@@ -22,7 +23,6 @@ function convertFromPyrogramSession(session) {
|
|
|
22
23
|
},
|
|
23
24
|
};
|
|
24
25
|
}
|
|
25
|
-
exports.convertFromPyrogramSession = convertFromPyrogramSession;
|
|
26
26
|
function convertToPyrogramSession(session, params) {
|
|
27
27
|
if (typeof session === 'string') {
|
|
28
28
|
session = (0, utils_js_1.readStringSession)(session);
|
|
@@ -36,5 +36,4 @@ function convertToPyrogramSession(session, params) {
|
|
|
36
36
|
authKey: session.authKey,
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
exports.convertToPyrogramSession = convertToPyrogramSession;
|
|
40
39
|
//# sourceMappingURL=convert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/pyrogram/convert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/pyrogram/convert.ts"],"names":[],"mappings":";;AASA,gEAiBC;AAED,4DAkBC;AA7CD,oDAAyD;AAEzD,sCAA4D;AAE5D,yCAAiD;AACjD,iDAAyD;AAGzD,SAAgB,0BAA0B,CAAC,OAAiC;IACxE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO;QACH,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,OAAO,CAAC,MAAM;QACxB,UAAU,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,wBAAe,CAAC,CAAC,CAAC,wBAAe,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9E,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,IAAI,EAAE;YACF,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,EAAE;SAChB;KACJ,CAAA;AACL,CAAC;AAED,SAAgB,wBAAwB,CACpC,OAAmC,EACnC,MAEC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAA,uCAAwB,EAAC;QAC5B,KAAK,EAAE,MAAM,EAAE,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,IAAI,KAAK;QACnC,MAAM,EAAE,OAAO,CAAC,QAAQ;QACxB,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QACjC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAA;AACN,CAAC","sourcesContent":["import type { StringSessionData } from '@mtcute/core/utils.js'\nimport { readStringSession } from '@mtcute/core/utils.js'\n\nimport { DC_MAPPING_PROD, DC_MAPPING_TEST } from '../dcs.js'\n\nimport { parsePyrogramSession } from './parse.js'\nimport { serializePyrogramSession } from './serialize.js'\nimport type { PyrogramSession } from './types.js'\n\nexport function convertFromPyrogramSession(session: PyrogramSession | string): StringSessionData {\n if (typeof session === 'string') {\n session = parsePyrogramSession(session)\n }\n\n return {\n version: 3,\n testMode: session.isTest,\n primaryDcs: (session.isTest ? DC_MAPPING_TEST : DC_MAPPING_PROD)[session.dcId],\n authKey: session.authKey,\n self: {\n userId: session.userId,\n isBot: session.isBot,\n isPremium: false,\n usernames: [],\n },\n }\n}\n\nexport function convertToPyrogramSession(\n session: StringSessionData | string,\n params?: {\n apiId?: number\n },\n): string {\n if (typeof session === 'string') {\n session = readStringSession(session)\n }\n\n return serializePyrogramSession({\n apiId: params?.apiId,\n isBot: session.self?.isBot ?? false,\n isTest: session.testMode,\n userId: session.self?.userId ?? 0,\n dcId: session.primaryDcs.main.id,\n authKey: session.authKey,\n })\n}\n"]}
|
package/cjs/pyrogram/parse.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PyrogramSession } from './types.js';
|
|
1
|
+
import type { PyrogramSession } from './types.js';
|
|
2
2
|
export declare function parsePyrogramSession(session: string): PyrogramSession;
|
package/cjs/pyrogram/parse.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// source: https://github.com/pyrogram/pyrogram/blob/master/pyrogram/storage/storage.py
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.parsePyrogramSession =
|
|
4
|
+
exports.parsePyrogramSession = parsePyrogramSession;
|
|
5
5
|
const core_1 = require("@mtcute/core");
|
|
6
6
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
7
7
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -52,5 +52,4 @@ function parsePyrogramSession(session) {
|
|
|
52
52
|
isBot,
|
|
53
53
|
};
|
|
54
54
|
}
|
|
55
|
-
exports.parsePyrogramSession = parsePyrogramSession;
|
|
56
55
|
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/pyrogram/parse.ts"],"names":[],"mappings":";AAAA,uFAAuF
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/pyrogram/parse.ts"],"names":[],"mappings":";AAAA,uFAAuF;;AAWvF,oDAkDC;AA3DD,uCAAmC;AACnC,0DAAsD;AACtD,oDAA0E;AAI1E,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAC/B,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC,SAAgB,oBAAoB,CAAC,OAAe;IAChD,MAAM,IAAI,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACtD,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAA;IAEnC,IAAI,OAAO,CAAC,MAAM,KAAK,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,sBAAsB,EAAE,CAAC;QACtF,aAAa;QACb,gDAAgD;QAChD,mDAAmD;QACnD,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC3B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;QAErC,IAAI,MAAM,CAAA;QAEV,IAAI,IAAI,CAAC,MAAM,KAAK,mBAAmB,EAAE,CAAC;YACtC,MAAM,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC9B,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAC9B,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YAC7B,MAAM,GAAG,WAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAA;QAChD,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,CAAA;QAEhD,OAAO;YACH,IAAI;YACJ,MAAM;YACN,OAAO;YACP,MAAM;YACN,KAAK;SACR,CAAA;IACL,CAAC;IAED,aAAa;IACb,6CAA6C;IAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAA;IAC9E,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAEpC,OAAO;QACH,IAAI;QACJ,KAAK;QACL,MAAM;QACN,OAAO;QACP,MAAM;QACN,KAAK;KACR,CAAA;AACL,CAAC","sourcesContent":["// source: https://github.com/pyrogram/pyrogram/blob/master/pyrogram/storage/storage.py\n\nimport { Long } from '@mtcute/core'\nimport { getPlatform } from '@mtcute/core/platform.js'\nimport { dataViewFromBuffer, longFromBuffer } from '@mtcute/core/utils.js'\n\nimport type { PyrogramSession } from './types.js'\n\nconst SESSION_STRING_SIZE = 351\nconst SESSION_STRING_SIZE_64 = 356\n\nexport function parsePyrogramSession(session: string): PyrogramSession {\n const data = getPlatform().base64Decode(session, true)\n const dv = dataViewFromBuffer(data)\n\n if (session.length === SESSION_STRING_SIZE || session.length === SESSION_STRING_SIZE_64) {\n // old format\n // const OLD_SESSION_STRING_FORMAT = '>B?256sI?'\n // const OLD_SESSION_STRING_FORMAT_64 = '>B?256sQ?'\n const dcId = dv.getUint8(0)\n const isTest = dv.getUint8(1) !== 0\n const authKey = data.subarray(2, 258)\n\n let userId\n\n if (data.length === SESSION_STRING_SIZE) {\n userId = dv.getUint32(258)\n } else {\n const high = dv.getUint32(258)\n const low = dv.getUint32(262)\n userId = Long.fromBits(low, high).toNumber()\n }\n\n const isBot = dv.getUint8(data.length - 1) !== 0\n\n return {\n dcId,\n isTest,\n authKey,\n userId,\n isBot,\n }\n }\n\n // new format\n // const SESSION_STRING_FORMAT = '>BI?256sQ?'\n const dcId = dv.getUint8(0)\n const apiId = dv.getUint32(1)\n const isTest = dv.getUint8(5) !== 0\n const authKey = data.subarray(6, 262)\n const userId = longFromBuffer(data.subarray(262, 270), true, false).toNumber()\n const isBot = dv.getUint8(270) !== 0\n\n return {\n dcId,\n apiId,\n isTest,\n authKey,\n userId,\n isBot,\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { PyrogramSession } from './types.js';
|
|
1
|
+
import type { PyrogramSession } from './types.js';
|
|
2
2
|
export declare function serializePyrogramSession(session: PyrogramSession): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serializePyrogramSession =
|
|
3
|
+
exports.serializePyrogramSession = serializePyrogramSession;
|
|
4
4
|
const core_1 = require("@mtcute/core");
|
|
5
5
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
6
6
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -36,5 +36,4 @@ function serializePyrogramSession(session) {
|
|
|
36
36
|
}
|
|
37
37
|
return (0, platform_js_1.getPlatform)().base64Encode(u8, true);
|
|
38
38
|
}
|
|
39
|
-
exports.serializePyrogramSession = serializePyrogramSession;
|
|
40
39
|
//# sourceMappingURL=serialize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/pyrogram/serialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"serialize.js","sourceRoot":"","sources":["../../../src/pyrogram/serialize.ts"],"names":[],"mappings":";;AASA,4DAmCC;AA5CD,uCAAoD;AACpD,0DAAsD;AACtD,oDAA0D;AAI1D,MAAM,uBAAuB,GAAG,GAAG,CAAA;AACnC,MAAM,mBAAmB,GAAG,GAAG,CAAA;AAE/B,SAAgB,wBAAwB,CAAC,OAAwB;IAC7D,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAe,CAAC,gCAAgC,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,WAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAExD,IAAI,EAAc,CAAA;IAElB,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9B,aAAa;QACb,EAAE,GAAG,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAAA;QAC5C,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,EAAE,CAAC,CAAA;QAEjC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC5B,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAC1B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QAClC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QACjC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;SAAM,CAAC;QACJ,EAAE,GAAG,IAAI,UAAU,CAAC,mBAAmB,CAAC,CAAA;QACxC,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,EAAE,CAAC,CAAA;QAEjC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QAC5B,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9B,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAE1B,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAA;QAClC,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAA;QACjC,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,CAAC;IAED,OAAO,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,CAAC,CAAA;AAC/C,CAAC","sourcesContent":["import { Long, MtArgumentError } from '@mtcute/core'\nimport { getPlatform } from '@mtcute/core/platform.js'\nimport { dataViewFromBuffer } from '@mtcute/core/utils.js'\n\nimport type { PyrogramSession } from './types.js'\n\nconst SESSION_STRING_SIZE_OLD = 267\nconst SESSION_STRING_SIZE = 271\n\nexport function serializePyrogramSession(session: PyrogramSession): string {\n if (session.authKey.length !== 256) {\n throw new MtArgumentError('authKey must be 256 bytes long')\n }\n\n const userIdLong = Long.fromNumber(session.userId, true)\n\n let u8: Uint8Array\n\n if (session.apiId === undefined) {\n // old format\n u8 = new Uint8Array(SESSION_STRING_SIZE_OLD)\n const dv = dataViewFromBuffer(u8)\n\n dv.setUint8(0, session.dcId)\n dv.setUint8(1, session.isTest ? 1 : 0)\n u8.set(session.authKey, 2)\n dv.setUint32(258, userIdLong.high)\n dv.setUint32(262, userIdLong.low)\n dv.setUint8(266, session.isBot ? 1 : 0)\n } else {\n u8 = new Uint8Array(SESSION_STRING_SIZE)\n const dv = dataViewFromBuffer(u8)\n\n dv.setUint8(0, session.dcId)\n dv.setUint32(1, session.apiId)\n dv.setUint8(5, session.isTest ? 1 : 0)\n u8.set(session.authKey, 6)\n\n dv.setUint32(262, userIdLong.high)\n dv.setUint32(266, userIdLong.low)\n dv.setUint8(270, session.isBot ? 1 : 0)\n }\n\n return getPlatform().base64Encode(u8, true)\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
-
import { TelethonSession } from './types.js';
|
|
1
|
+
import type { StringSessionData } from '@mtcute/core/utils.js';
|
|
2
|
+
import type { TelethonSession } from './types.js';
|
|
3
3
|
export declare function convertFromTelethonSession(session: TelethonSession | string): StringSessionData;
|
|
4
4
|
export declare function convertToTelethonSession(session: StringSessionData | string): string;
|
package/cjs/telethon/convert.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.convertFromTelethonSession = convertFromTelethonSession;
|
|
4
|
+
exports.convertToTelethonSession = convertToTelethonSession;
|
|
4
5
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
5
6
|
const dcs_js_1 = require("../dcs.js");
|
|
6
7
|
const parse_js_1 = require("./parse.js");
|
|
@@ -27,7 +28,6 @@ function convertFromTelethonSession(session) {
|
|
|
27
28
|
authKey: session.authKey,
|
|
28
29
|
};
|
|
29
30
|
}
|
|
30
|
-
exports.convertFromTelethonSession = convertFromTelethonSession;
|
|
31
31
|
function convertToTelethonSession(session) {
|
|
32
32
|
if (typeof session === 'string') {
|
|
33
33
|
session = (0, utils_js_1.readStringSession)(session);
|
|
@@ -40,5 +40,4 @@ function convertToTelethonSession(session) {
|
|
|
40
40
|
authKey: session.authKey,
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
|
-
exports.convertToTelethonSession = convertToTelethonSession;
|
|
44
43
|
//# sourceMappingURL=convert.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/telethon/convert.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../../../src/telethon/convert.ts"],"names":[],"mappings":";;AASA,gEAuBC;AAED,4DAYC;AA7CD,oDAAyD;AAEzD,sCAAoC;AAEpC,yCAAiD;AACjD,iDAAyD;AAGzD,SAAgB,0BAA0B,CAAC,OAAiC;IACxE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,+BAAoB,EAAC,OAAO,CAAC,CAAA;IAC3C,CAAC;IAED,MAAM,EAAE,GAAkB;QACtB,EAAE,EAAE,OAAO,CAAC,IAAI;QAChB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,IAAI,EAAE,OAAO,CAAC,IAAI;KACrB,CAAA;IAED,OAAO;QACH,OAAO,EAAE,CAAC;QACV,gFAAgF;QAChF,+CAA+C;QAC/C,QAAQ,EAAE,IAAA,iBAAQ,EAAC,OAAO,CAAC,SAAS,CAAC;QACrC,UAAU,EAAE;YACR,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,EAAE;SACZ;QACD,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAA;AACL,CAAC;AAED,SAAgB,wBAAwB,CAAC,OAAmC;IACxE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,GAAG,IAAA,4BAAiB,EAAC,OAAO,CAAC,CAAA;IACxC,CAAC;IAED,OAAO,IAAA,uCAAwB,EAAC;QAC5B,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;QAChC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS;QAC5C,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI;QAClC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK;QAC3C,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAA;AACN,CAAC","sourcesContent":["import type { BasicDcOption, StringSessionData } from '@mtcute/core/utils.js'\nimport { readStringSession } from '@mtcute/core/utils.js'\n\nimport { isTestDc } from '../dcs.js'\n\nimport { parseTelethonSession } from './parse.js'\nimport { serializeTelethonSession } from './serialize.js'\nimport type { TelethonSession } from './types.js'\n\nexport function convertFromTelethonSession(session: TelethonSession | string): StringSessionData {\n if (typeof session === 'string') {\n session = parseTelethonSession(session)\n }\n\n const dc: BasicDcOption = {\n id: session.dcId,\n ipAddress: session.ipAddress,\n port: session.port,\n ipv6: session.ipv6,\n }\n\n return {\n version: 3,\n // we don't exactly have that information. try to deduce it from DC_MAPPING_TEST\n // todo: we should maybe check this at connect?\n testMode: isTestDc(session.ipAddress),\n primaryDcs: {\n main: dc,\n media: dc,\n },\n authKey: session.authKey,\n }\n}\n\nexport function convertToTelethonSession(session: StringSessionData | string): string {\n if (typeof session === 'string') {\n session = readStringSession(session)\n }\n\n return serializeTelethonSession({\n dcId: session.primaryDcs.main.id,\n ipAddress: session.primaryDcs.main.ipAddress,\n port: session.primaryDcs.main.port,\n ipv6: session.primaryDcs.main.ipv6 ?? false,\n authKey: session.authKey,\n })\n}\n"]}
|
package/cjs/telethon/parse.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TelethonSession } from './types.js';
|
|
1
|
+
import type { TelethonSession } from './types.js';
|
|
2
2
|
export declare function parseTelethonSession(session: string): TelethonSession;
|
package/cjs/telethon/parse.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseTelethonSession =
|
|
3
|
+
exports.parseTelethonSession = parseTelethonSession;
|
|
4
4
|
const core_1 = require("@mtcute/core");
|
|
5
5
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
6
6
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -29,5 +29,4 @@ function parseTelethonSession(session) {
|
|
|
29
29
|
authKey,
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
|
-
exports.parseTelethonSession = parseTelethonSession;
|
|
33
32
|
//# sourceMappingURL=parse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/telethon/parse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse.js","sourceRoot":"","sources":["../../../src/telethon/parse.ts"],"names":[],"mappings":";;AAQA,oDA8BC;AAtCD,uCAA8C;AAC9C,0DAAsD;AACtD,oDAA0D;AAE1D,0CAAiD;AAIjD,SAAgB,oBAAoB,CAAC,OAAe;IAChD,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;QACrB,UAAU;QACV,MAAM,IAAI,sBAAe,CAAC,qCAAqC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACjF,CAAC;IAED,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAE1B,MAAM,IAAI,GAAG,IAAA,yBAAW,GAAE,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACtD,MAAM,EAAE,GAAG,IAAA,6BAAkB,EAAC,IAAI,CAAC,CAAA;IAEnC,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;IAE3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC9C,IAAI,GAAG,GAAG,CAAC,GAAG,MAAM,CAAA;IAEpB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACrC,MAAM,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9B,GAAG,IAAI,CAAC,CAAA;IACR,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,CAAA;IAE7C,MAAM,EAAE,GAAG,IAAA,wBAAgB,EAAC,OAAO,CAAC,CAAA;IAEpC,OAAO;QACH,IAAI;QACJ,SAAS,EAAE,EAAE;QACb,IAAI,EAAE,MAAM,KAAK,EAAE;QACnB,IAAI;QACJ,OAAO;KACV,CAAA;AACL,CAAC","sourcesContent":["import { MtArgumentError } from '@mtcute/core'\nimport { getPlatform } from '@mtcute/core/platform.js'\nimport { dataViewFromBuffer } from '@mtcute/core/utils.js'\n\nimport { parseIpFromBytes } from '../utils/ip.js'\n\nimport type { TelethonSession } from './types.js'\n\nexport function parseTelethonSession(session: string): TelethonSession {\n if (session[0] !== '1') {\n // version\n throw new MtArgumentError(`Invalid session string (version = ${session[0]})`)\n }\n\n session = session.slice(1)\n\n const data = getPlatform().base64Decode(session, true)\n const dv = dataViewFromBuffer(data)\n\n const dcId = dv.getUint8(0)\n\n const ipSize = session.length === 352 ? 4 : 16\n let pos = 1 + ipSize\n\n const ipBytes = data.subarray(1, pos)\n const port = dv.getUint16(pos)\n pos += 2\n const authKey = data.subarray(pos, pos + 256)\n\n const ip = parseIpFromBytes(ipBytes)\n\n return {\n dcId,\n ipAddress: ip,\n ipv6: ipSize === 16,\n port,\n authKey,\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { TelethonSession } from './types.js';
|
|
1
|
+
import type { TelethonSession } from './types.js';
|
|
2
2
|
export declare function serializeTelethonSession(session: TelethonSession): string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.serializeTelethonSession =
|
|
3
|
+
exports.serializeTelethonSession = serializeTelethonSession;
|
|
4
4
|
const core_1 = require("@mtcute/core");
|
|
5
5
|
const platform_js_1 = require("@mtcute/core/platform.js");
|
|
6
6
|
const utils_js_1 = require("@mtcute/core/utils.js");
|
|
@@ -28,7 +28,6 @@ function serializeTelethonSession(session) {
|
|
|
28
28
|
let b64 = (0, platform_js_1.getPlatform)().base64Encode(u8, true);
|
|
29
29
|
while (b64.length % 4 !== 0)
|
|
30
30
|
b64 += '='; // for some reason telethon uses padding
|
|
31
|
-
return
|
|
31
|
+
return `1${b64}`;
|
|
32
32
|
}
|
|
33
|
-
exports.serializeTelethonSession = serializeTelethonSession;
|
|
34
33
|
//# sourceMappingURL=serialize.js.map
|