rettiwt-api 5.1.0-alpha.0 → 6.0.1

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 (178) hide show
  1. package/.eslintrc.js +13 -8
  2. package/README.md +8 -1
  3. package/dist/cli.js +17 -14
  4. package/dist/cli.js.map +1 -1
  5. package/dist/collections/Extractors.d.ts +1 -1
  6. package/dist/collections/Extractors.js +21 -21
  7. package/dist/collections/Extractors.js.map +1 -1
  8. package/dist/collections/Groups.d.ts +4 -4
  9. package/dist/collections/Groups.js +45 -45
  10. package/dist/collections/Groups.js.map +1 -1
  11. package/dist/collections/Requests.d.ts +3 -3
  12. package/dist/collections/Requests.js +3 -3
  13. package/dist/collections/Requests.js.map +1 -1
  14. package/dist/collections/Tweet.d.ts +4 -4
  15. package/dist/collections/Tweet.js +5 -5
  16. package/dist/collections/Tweet.js.map +1 -1
  17. package/dist/commands/Tweet.js +32 -4
  18. package/dist/commands/Tweet.js.map +1 -1
  19. package/dist/enums/Api.d.ts +1 -1
  20. package/dist/enums/Api.js +7 -7
  21. package/dist/enums/Api.js.map +1 -1
  22. package/dist/enums/Authentication.d.ts +1 -1
  23. package/dist/enums/Authentication.js +7 -7
  24. package/dist/enums/Authentication.js.map +1 -1
  25. package/dist/enums/Data.d.ts +1 -1
  26. package/dist/enums/Data.js +7 -7
  27. package/dist/enums/Data.js.map +1 -1
  28. package/dist/enums/Logging.d.ts +1 -1
  29. package/dist/enums/Logging.js +11 -11
  30. package/dist/enums/Logging.js.map +1 -1
  31. package/dist/enums/Media.d.ts +1 -1
  32. package/dist/enums/Media.js +7 -7
  33. package/dist/enums/Media.js.map +1 -1
  34. package/dist/enums/Notification.d.ts +1 -1
  35. package/dist/enums/Notification.js +9 -9
  36. package/dist/enums/Notification.js.map +1 -1
  37. package/dist/enums/Resource.d.ts +1 -1
  38. package/dist/enums/Resource.js +42 -42
  39. package/dist/enums/Resource.js.map +1 -1
  40. package/dist/enums/Tweet.d.ts +1 -1
  41. package/dist/enums/Tweet.js +7 -7
  42. package/dist/enums/Tweet.js.map +1 -1
  43. package/dist/enums/raw/Analytics.d.ts +2 -2
  44. package/dist/enums/raw/Analytics.js +21 -21
  45. package/dist/enums/raw/Analytics.js.map +1 -1
  46. package/dist/enums/raw/Media.d.ts +1 -1
  47. package/dist/enums/raw/Media.js +7 -7
  48. package/dist/enums/raw/Media.js.map +1 -1
  49. package/dist/enums/raw/Notification.d.ts +1 -1
  50. package/dist/enums/raw/Notification.js +8 -8
  51. package/dist/enums/raw/Notification.js.map +1 -1
  52. package/dist/enums/raw/Tweet.d.ts +2 -2
  53. package/dist/enums/raw/Tweet.js +12 -12
  54. package/dist/enums/raw/Tweet.js.map +1 -1
  55. package/dist/index.d.ts +0 -1
  56. package/dist/index.js +0 -1
  57. package/dist/index.js.map +1 -1
  58. package/dist/models/RettiwtConfig.d.ts +3 -4
  59. package/dist/models/RettiwtConfig.js +7 -7
  60. package/dist/models/RettiwtConfig.js.map +1 -1
  61. package/dist/models/args/FetchArgs.d.ts +3 -3
  62. package/dist/models/args/FetchArgs.js +3 -3
  63. package/dist/models/args/FetchArgs.js.map +1 -1
  64. package/dist/models/auth/AuthCredential.d.ts +2 -2
  65. package/dist/models/auth/AuthCredential.js +3 -3
  66. package/dist/models/auth/AuthCredential.js.map +1 -1
  67. package/dist/models/data/CursoredData.d.ts +2 -2
  68. package/dist/models/data/CursoredData.js +3 -3
  69. package/dist/models/data/CursoredData.js.map +1 -1
  70. package/dist/models/data/Notification.d.ts +2 -2
  71. package/dist/models/data/Notification.js +3 -3
  72. package/dist/models/data/Notification.js.map +1 -1
  73. package/dist/models/data/Tweet.d.ts +4 -4
  74. package/dist/models/data/Tweet.js +18 -18
  75. package/dist/models/data/Tweet.js.map +1 -1
  76. package/dist/models/data/User.js +9 -9
  77. package/dist/models/data/User.js.map +1 -1
  78. package/dist/requests/Tweet.d.ts +2 -2
  79. package/dist/requests/Tweet.js +2 -2
  80. package/dist/requests/Tweet.js.map +1 -1
  81. package/dist/requests/User.d.ts +2 -2
  82. package/dist/requests/User.js.map +1 -1
  83. package/dist/services/internal/AuthService.js +1 -1
  84. package/dist/services/internal/AuthService.js.map +1 -1
  85. package/dist/services/internal/ErrorService.d.ts +2 -2
  86. package/dist/services/internal/ErrorService.js +4 -4
  87. package/dist/services/internal/ErrorService.js.map +1 -1
  88. package/dist/services/internal/LogService.d.ts +2 -2
  89. package/dist/services/internal/LogService.js.map +1 -1
  90. package/dist/services/public/FetcherService.d.ts +7 -9
  91. package/dist/services/public/FetcherService.js +102 -51
  92. package/dist/services/public/FetcherService.js.map +1 -1
  93. package/dist/services/public/ListService.js +4 -4
  94. package/dist/services/public/ListService.js.map +1 -1
  95. package/dist/services/public/TweetService.d.ts +3 -3
  96. package/dist/services/public/TweetService.js +35 -35
  97. package/dist/services/public/TweetService.js.map +1 -1
  98. package/dist/services/public/UserService.js +37 -37
  99. package/dist/services/public/UserService.js.map +1 -1
  100. package/dist/types/RettiwtConfig.d.ts +6 -3
  101. package/dist/types/args/FetchArgs.d.ts +2 -2
  102. package/dist/types/auth/AuthCredential.d.ts +2 -2
  103. package/dist/types/auth/TransactionHeader.d.ts +6 -0
  104. package/dist/types/auth/TransactionHeader.js +4 -0
  105. package/dist/types/auth/TransactionHeader.js.map +1 -0
  106. package/dist/types/data/Notification.d.ts +2 -2
  107. package/dist/types/data/Tweet.d.ts +2 -2
  108. package/dist/types/raw/base/Media.d.ts +2 -2
  109. package/dist/types/raw/base/Notification.d.ts +2 -2
  110. package/package.json +19 -18
  111. package/src/cli.ts +20 -14
  112. package/src/collections/Extractors.ts +21 -21
  113. package/src/collections/Groups.ts +45 -45
  114. package/src/collections/Requests.ts +4 -4
  115. package/src/collections/Tweet.ts +6 -6
  116. package/src/commands/Tweet.ts +33 -4
  117. package/src/enums/Api.ts +1 -1
  118. package/src/enums/Authentication.ts +1 -1
  119. package/src/enums/Data.ts +1 -1
  120. package/src/enums/Logging.ts +1 -1
  121. package/src/enums/Media.ts +1 -1
  122. package/src/enums/Notification.ts +1 -1
  123. package/src/enums/Resource.ts +1 -1
  124. package/src/enums/Tweet.ts +1 -1
  125. package/src/enums/raw/Analytics.ts +2 -2
  126. package/src/enums/raw/Media.ts +1 -1
  127. package/src/enums/raw/Notification.ts +1 -1
  128. package/src/enums/raw/Tweet.ts +2 -2
  129. package/src/index.ts +0 -1
  130. package/src/models/RettiwtConfig.ts +7 -8
  131. package/src/models/args/FetchArgs.ts +5 -5
  132. package/src/models/auth/AuthCredential.ts +5 -5
  133. package/src/models/data/CursoredData.ts +5 -5
  134. package/src/models/data/Notification.ts +6 -6
  135. package/src/models/data/Tweet.ts +22 -22
  136. package/src/models/data/User.ts +10 -10
  137. package/src/requests/Tweet.ts +4 -4
  138. package/src/requests/User.ts +3 -3
  139. package/src/services/internal/AuthService.ts +2 -2
  140. package/src/services/internal/ErrorService.ts +4 -4
  141. package/src/services/internal/LogService.ts +2 -2
  142. package/src/services/public/FetcherService.ts +82 -57
  143. package/src/services/public/ListService.ts +6 -6
  144. package/src/services/public/TweetService.ts +39 -39
  145. package/src/services/public/UserService.ts +40 -40
  146. package/src/types/RettiwtConfig.ts +7 -4
  147. package/src/types/args/FetchArgs.ts +2 -2
  148. package/src/types/auth/AuthCredential.ts +2 -2
  149. package/src/types/auth/TransactionHeader.ts +8 -0
  150. package/src/types/data/Notification.ts +2 -2
  151. package/src/types/data/Tweet.ts +2 -2
  152. package/src/types/raw/base/Media.ts +2 -2
  153. package/src/types/raw/base/Notification.ts +2 -2
  154. package/.tool-versions +0 -1
  155. package/dist/helper/TidUtils.d.ts +0 -4
  156. package/dist/helper/TidUtils.js +0 -171
  157. package/dist/helper/TidUtils.js.map +0 -1
  158. package/dist/services/internal/TidService.d.ts +0 -43
  159. package/dist/services/internal/TidService.js +0 -156
  160. package/dist/services/internal/TidService.js.map +0 -1
  161. package/dist/types/auth/TidDynamicArgs.d.ts +0 -10
  162. package/dist/types/auth/TidDynamicArgs.js +0 -3
  163. package/dist/types/auth/TidDynamicArgs.js.map +0 -1
  164. package/dist/types/auth/TidHeader.d.ts +0 -8
  165. package/dist/types/auth/TidHeader.js +0 -3
  166. package/dist/types/auth/TidHeader.js.map +0 -1
  167. package/dist/types/auth/TidParams.d.ts +0 -27
  168. package/dist/types/auth/TidParams.js +0 -3
  169. package/dist/types/auth/TidParams.js.map +0 -1
  170. package/dist/types/auth/TidProvider.d.ts +0 -18
  171. package/dist/types/auth/TidProvider.js +0 -3
  172. package/dist/types/auth/TidProvider.js.map +0 -1
  173. package/src/helper/TidUtils.ts +0 -198
  174. package/src/services/internal/TidService.ts +0 -140
  175. package/src/types/auth/TidDynamicArgs.ts +0 -10
  176. package/src/types/auth/TidHeader.ts +0 -12
  177. package/src/types/auth/TidParams.ts +0 -36
  178. package/src/types/auth/TidProvider.ts +0 -19
@@ -1,4 +1,4 @@
1
- import { EMediaType } from '../../enums/Media';
1
+ import { MediaType } from '../../enums/Media';
2
2
 
3
3
  import { IUser } from './User';
4
4
 
@@ -89,7 +89,7 @@ export interface ITweetMedia {
89
89
  thumbnailUrl?: string;
90
90
 
91
91
  /** The type of media. */
92
- type: EMediaType;
92
+ type: MediaType;
93
93
 
94
94
  /** The direct URL to the media. */
95
95
  url: string;
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */
2
2
 
3
- import { ERawMediaType } from '../../../enums/raw/Media';
3
+ import { RawMediaType } from '../../../enums/raw/Media';
4
4
 
5
5
  /**
6
6
  * Represents the raw data of a single Media.
@@ -12,7 +12,7 @@ export interface IMedia {
12
12
  expanded_url: string;
13
13
  id_str: string;
14
14
  media_url_https: string;
15
- type: ERawMediaType;
15
+ type: RawMediaType;
16
16
  url: string;
17
17
  }
18
18
 
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable */
2
2
 
3
- import { ERawNotificationType } from '../../../enums/raw/Notification';
3
+ import { RawNotificationType } from '../../../enums/raw/Notification';
4
4
 
5
5
  /**
6
6
  * Represents the raw data of a single Notification.
@@ -16,7 +16,7 @@ export interface INotification {
16
16
  }
17
17
 
18
18
  export interface INotificationIcon {
19
- id: ERawNotificationType;
19
+ id: RawNotificationType;
20
20
  }
21
21
 
22
22
  export interface INotificationMessage {
package/.tool-versions DELETED
@@ -1 +0,0 @@
1
- nodejs 22.13.1
@@ -1,4 +0,0 @@
1
- import { ITidParams } from '../types/auth/TidParams';
2
- export declare function getUnixTime(): number;
3
- export declare function getNanosecondPrecisionTime(): number;
4
- export declare function calculateClientTransactionIdHeader(args: ITidParams): string;
@@ -1,171 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUnixTime = getUnixTime;
4
- exports.getNanosecondPrecisionTime = getNanosecondPrecisionTime;
5
- exports.calculateClientTransactionIdHeader = calculateClientTransactionIdHeader;
6
- const node_crypto_1 = require("node:crypto");
7
- function getUnixTime() {
8
- const [seconds, nanoseconds] = process.hrtime();
9
- return Date.now() / 1000 + seconds + nanoseconds / 1e9;
10
- }
11
- function getNanosecondPrecisionTime() {
12
- return Number(((BigInt(Date.now()) * 1000000n + process.hrtime.bigint()) * 1000n) / BigInt(1000000)) / 1000000;
13
- }
14
- function calculateClientTransactionIdHeader(args) {
15
- const time = Math.floor(((args.time || getUnixTime()) * 1000 - 1682924400 * 1000) / 1000);
16
- const timeBuffer = new Uint8Array(new Uint32Array([time]).buffer);
17
- const keyBytes = Array.from(Buffer.from(args.verificationKey, 'base64'));
18
- const animationKey = args.animationKey || getAnimationKey(keyBytes, args.frames, args.indices);
19
- const value = [args.method, args.path, time].join('!') + args.keyword + animationKey;
20
- const valueEncoded = new TextEncoder().encode(value);
21
- const hash = (0, node_crypto_1.createHash)('sha-256').update(valueEncoded).digest();
22
- const hashBytes = Array.from(new Uint8Array(hash));
23
- const xorByte = args.xorByte || Math.floor(Math.random() * 256);
24
- const bytes = new Uint8Array(keyBytes.concat(Array.from(timeBuffer), hashBytes.slice(0, 16), [args.extraByte]));
25
- return encode(xor(xorByte, bytes));
26
- }
27
- function getAnimationKey(keyBytes, frames, indices) {
28
- const totalTime = 4096;
29
- const rowIndex = keyBytes[indices[0]] % 16;
30
- const frameTime = indices
31
- .slice(1)
32
- .map((idx) => keyBytes[idx] % 16)
33
- .reduce((a, b) => a * b, 1);
34
- const targetTime = frameTime / totalTime;
35
- const frameRow = frames[keyBytes[5] % 4][rowIndex];
36
- return animate(frameRow, targetTime);
37
- }
38
- function animate(frameRow, targetTime) {
39
- const curves = frameRow.slice(7).map((v, i) => Number(a(v, b(i), 1).toFixed(2)));
40
- const cubicValue = getCubicCurveValue(curves, targetTime);
41
- const fromColor = [...frameRow.slice(0, 3), 1];
42
- const toColor = [...frameRow.slice(3, 6), 1];
43
- const color = interpolate(fromColor, toColor, cubicValue);
44
- const fromRotation = [0];
45
- const toRotation = [Math.floor(a(frameRow[6], 60, 360))];
46
- const rotation = interpolate(fromRotation, toRotation, cubicValue);
47
- const matrix = convertRotationToMatrix(rotation[0]);
48
- const strArray = [];
49
- for (let i = 0; i < color.length - 1; i++) {
50
- strArray.push(Math.round(color[i]).toString(16));
51
- }
52
- for (let i = 0; i < matrix.length; i++) {
53
- let rounded = Number(matrix[i].toFixed(2));
54
- if (rounded < 0) {
55
- rounded = -rounded;
56
- }
57
- const hexValue = floatToHex(rounded);
58
- if (hexValue.startsWith('.')) {
59
- strArray.push('0' + hexValue);
60
- }
61
- else if (hexValue) {
62
- strArray.push(hexValue);
63
- }
64
- else {
65
- strArray.push('0');
66
- }
67
- }
68
- strArray.push('0', '0');
69
- return strArray.join('').replace(/[.-]/g, '').toLowerCase();
70
- }
71
- function a(b, c, d) {
72
- return (b * (d - c)) / 255 + c;
73
- }
74
- function b(a) {
75
- return a % 2 === 1 ? -1 : 0;
76
- }
77
- function getCubicCurveValue(curves, time) {
78
- let startGradient = 0;
79
- let endGradient = 0;
80
- if (time <= 0) {
81
- if (curves[0] > 0) {
82
- startGradient = curves[1] / curves[0];
83
- }
84
- else if (curves[1] === 0 && curves[2] > 0) {
85
- startGradient = curves[3] / curves[2];
86
- }
87
- return startGradient * time;
88
- }
89
- if (time >= 1) {
90
- if (curves[2] < 1) {
91
- endGradient = (curves[3] - 1) / (curves[2] - 1);
92
- }
93
- else if (curves[2] === 1 && curves[0] < 1) {
94
- endGradient = (curves[1] - 1) / (curves[0] - 1);
95
- }
96
- return 1 + endGradient * (time - 1);
97
- }
98
- let start = 0;
99
- let end = 1;
100
- let mid = 0;
101
- while (start < end) {
102
- mid = (start + end) / 2;
103
- const xEst = calculateBezier(curves[0], curves[2], mid);
104
- if (Math.abs(time - xEst) < 0.00001) {
105
- return calculateBezier(curves[1], curves[3], mid);
106
- }
107
- if (xEst < time) {
108
- start = mid;
109
- }
110
- else {
111
- end = mid;
112
- }
113
- }
114
- return calculateBezier(curves[1], curves[3], mid);
115
- }
116
- function calculateBezier(a, b, m) {
117
- return 3 * a * (1 - m) * (1 - m) * m + 3 * b * (1 - m) * m * m + m * m * m;
118
- }
119
- function interpolate(from, to, f) {
120
- const out = [];
121
- for (let i = 0; i < from.length; i++) {
122
- out.push(from[i] * (1 - f) + to[i] * f);
123
- }
124
- return out;
125
- }
126
- function convertRotationToMatrix(degrees) {
127
- const radians = (degrees * Math.PI) / 180;
128
- const c = Math.cos(radians);
129
- const s = Math.sin(radians);
130
- return [c, -s, s, c];
131
- }
132
- function floatToHex(x) {
133
- const result = [];
134
- let quotient = Math.floor(x);
135
- let fraction = x - quotient;
136
- while (quotient > 0) {
137
- const remainder = quotient % 16;
138
- quotient = Math.floor(quotient / 16);
139
- if (remainder > 9) {
140
- result.unshift(String.fromCharCode(remainder + 55));
141
- }
142
- else {
143
- result.unshift(remainder.toString());
144
- }
145
- }
146
- if (fraction === 0) {
147
- return result.join('');
148
- }
149
- result.push('.');
150
- while (fraction > 0) {
151
- fraction *= 16;
152
- const integer = Math.floor(fraction);
153
- fraction -= integer;
154
- if (integer > 9) {
155
- result.push(String.fromCharCode(integer + 55));
156
- }
157
- else {
158
- result.push(integer.toString());
159
- }
160
- }
161
- return result.join('');
162
- }
163
- function xor(xorByte, data) {
164
- return new Uint8Array([xorByte, ...data.map((v) => v ^ xorByte)]);
165
- }
166
- function encode(data) {
167
- return btoa(Array.from(data)
168
- .map((v) => String.fromCharCode(v))
169
- .join('')).replaceAll('=', '');
170
- }
171
- //# sourceMappingURL=TidUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TidUtils.js","sourceRoot":"","sources":["../../src/helper/TidUtils.ts"],"names":[],"mappings":"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"}
@@ -1,43 +0,0 @@
1
- import { RettiwtConfig } from '../../models/RettiwtConfig';
2
- import { ITidProvider } from '../../types/auth/TidProvider';
3
- /**
4
- * Handles transaction ID generation for requests to Twitter.
5
- *
6
- * @internal
7
- */
8
- export declare class TidService implements ITidProvider {
9
- private readonly _cdnUrl;
10
- private readonly _config;
11
- private _dynamicArgs?;
12
- /**
13
- * @param config - The config for Rettiwt.
14
- */
15
- constructor(config: RettiwtConfig);
16
- /**
17
- * Fetches the dynamic args embedded in the homepage.
18
- *
19
- * @returns The new dynamic args.
20
- */
21
- private getDynamicArgs;
22
- /**
23
- * Fetches the HTML content of Twitter's homepage.
24
- *
25
- * @returns The stringified HTML content of the homepage.
26
- */
27
- private getHomepageHtml;
28
- private getKeyBytesIndices;
29
- private parseFrameElement;
30
- /**
31
- * Generate an `x-client-transaction-id` for the specific URL method and path.
32
- *
33
- * @param method - The target method.
34
- * @param path - The target path.
35
- *
36
- * @returns The specific `x-client-transaction-id` token.
37
- */
38
- generate(method: string, path: string): Promise<string | undefined>;
39
- /**
40
- * Refreshes the dynamic args from the homepage.
41
- */
42
- refreshDynamicArgs(): Promise<void>;
43
- }
@@ -1,156 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.TidService = void 0;
40
- const axios_1 = __importDefault(require("axios"));
41
- const htmlParser = __importStar(require("node-html-parser"));
42
- const Logging_1 = require("../../enums/Logging");
43
- const TidUtils_1 = require("../../helper/TidUtils");
44
- const LogService_1 = require("./LogService");
45
- /**
46
- * Handles transaction ID generation for requests to Twitter.
47
- *
48
- * @internal
49
- */
50
- class TidService {
51
- _cdnUrl;
52
- _config;
53
- _dynamicArgs;
54
- /**
55
- * @param config - The config for Rettiwt.
56
- */
57
- constructor(config) {
58
- this._cdnUrl = 'https://abs.twimg.com/responsive-web/client-web';
59
- this._config = config;
60
- }
61
- /**
62
- * Fetches the dynamic args embedded in the homepage.
63
- *
64
- * @returns The new dynamic args.
65
- */
66
- async getDynamicArgs() {
67
- const html = await this.getHomepageHtml();
68
- const root = htmlParser.parse(html);
69
- const keyElement = root.querySelector("[name='twitter-site-verification']");
70
- const frameElements = root.querySelectorAll("[id^='loading-x-anim']");
71
- return {
72
- verificationKey: keyElement?.getAttribute('content') ?? '',
73
- frames: frameElements.map((el) => this.parseFrameElement(el)),
74
- indices: await this.getKeyBytesIndices(html),
75
- };
76
- }
77
- /**
78
- * Fetches the HTML content of Twitter's homepage.
79
- *
80
- * @returns The stringified HTML content of the homepage.
81
- */
82
- async getHomepageHtml() {
83
- const response = await axios_1.default.get('https://x.com', {
84
- headers: this._config.headers,
85
- httpAgent: this._config.httpsAgent,
86
- httpsAgent: this._config.httpsAgent,
87
- });
88
- return response.data;
89
- }
90
- async getKeyBytesIndices(html) {
91
- const ondemandFileMatch = html.match(/ondemand\.s":"([^"]+)"/);
92
- if (!ondemandFileMatch || !ondemandFileMatch[1]) {
93
- LogService_1.LogService.log(Logging_1.ELogActions.WARNING, { message: 'ondemand.s file not found' });
94
- return [0, 0, 0, 0];
95
- }
96
- const onDemandFileHash = ondemandFileMatch ? ondemandFileMatch[1] : '';
97
- const response = await axios_1.default.get(`${this._cdnUrl}/ondemand.s.${onDemandFileHash}a.js`, {
98
- httpAgent: this._config.httpsAgent,
99
- httpsAgent: this._config.httpsAgent,
100
- });
101
- const match = response.data.matchAll(/(\(\w\[(\d{1,2})],\s*16\))+?/gm);
102
- return Array.from(match).map((m) => Number(m[2]));
103
- }
104
- parseFrameElement(element) {
105
- const pathElement = element.children[0].children[1];
106
- const value = pathElement.getAttribute('d');
107
- if (!value) {
108
- return [[]];
109
- }
110
- const rawFrames = value.substring(9).split('C');
111
- return rawFrames.map((str) => str.replaceAll(/\D+/g, ' ').trim().split(' ')).map((arr) => arr.map(Number));
112
- }
113
- /**
114
- * Generate an `x-client-transaction-id` for the specific URL method and path.
115
- *
116
- * @param method - The target method.
117
- * @param path - The target path.
118
- *
119
- * @returns The specific `x-client-transaction-id` token.
120
- */
121
- async generate(method, path) {
122
- try {
123
- // Refreshing dynamic args
124
- await this.refreshDynamicArgs();
125
- // If dynamic args weren't obtained, skip with error
126
- if (!this._dynamicArgs) {
127
- throw new Error('Dynamic args failed to generate');
128
- }
129
- const { verificationKey, frames, indices } = this._dynamicArgs;
130
- return (0, TidUtils_1.calculateClientTransactionIdHeader)({
131
- keyword: 'obfiowerehiring',
132
- method: method,
133
- path: path,
134
- verificationKey: verificationKey,
135
- frames: frames,
136
- indices: indices,
137
- extraByte: 3,
138
- });
139
- }
140
- catch (err) {
141
- LogService_1.LogService.log(Logging_1.ELogActions.WARNING, {
142
- message: 'Failed to generated transaction token. Request may or may not work',
143
- error: err,
144
- });
145
- return;
146
- }
147
- }
148
- /**
149
- * Refreshes the dynamic args from the homepage.
150
- */
151
- async refreshDynamicArgs() {
152
- this._dynamicArgs = await this.getDynamicArgs();
153
- }
154
- }
155
- exports.TidService = TidService;
156
- //# sourceMappingURL=TidService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TidService.js","sourceRoot":"","sources":["../../../src/services/internal/TidService.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- /**
2
- * Internal args used for generating trasaction ID.
3
- *
4
- * @internal
5
- */
6
- export interface ITidDynamicArgs {
7
- verificationKey: string;
8
- frames: number[][][];
9
- indices: number[];
10
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TidDynamicArgs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TidDynamicArgs.js","sourceRoot":"","sources":["../../../src/types/auth/TidDynamicArgs.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
1
- /**
2
- * The header for the transaction ID.
3
- *
4
- * @public
5
- */
6
- export interface ITidHeader {
7
- 'x-client-transaction-id': string;
8
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TidHeader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TidHeader.js","sourceRoot":"","sources":["../../../src/types/auth/TidHeader.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- /**
2
- * The parameters for generating the transaction ID.
3
- *
4
- * @internal
5
- */
6
- export interface ITidParams {
7
- /** Secret used for transaction ID calculation. */
8
- keyword: string;
9
- /** Request method. */
10
- method: string;
11
- /** Endpoint path without query parameters. */
12
- path: string;
13
- /** Twitter verification key received from HTML. */
14
- verificationKey: string;
15
- /** Animation frames extracted from HTML. */
16
- frames: number[][][];
17
- /** Indices used for getting the correct verification key bytes during animation key calculation. */
18
- indices: number[];
19
- /** Final byte of the transaction ID. */
20
- extraByte: number;
21
- /** Current time */
22
- time?: number;
23
- /** XOR byte used for final hash calculation, must be in 0-255 range. */
24
- xorByte?: number;
25
- /** Precomputed animation key. */
26
- animationKey?: string;
27
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TidParams.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TidParams.js","sourceRoot":"","sources":["../../../src/types/auth/TidParams.ts"],"names":[],"mappings":""}
@@ -1,18 +0,0 @@
1
- /**
2
- * Service responsible for generating the `x-client-transaction-id` header.
3
- *
4
- * @public
5
- */
6
- export interface ITidProvider {
7
- /**
8
- * Generates new `x-client-transaction-id` header.
9
- *
10
- * @param method - Request method.
11
- * @param path - Endpoint path without query parameters.
12
- */
13
- generate(method: string, path: string): Promise<string | undefined>;
14
- /**
15
- * Refresh arguments obtained from parsing the HTML page, if any.
16
- */
17
- refreshDynamicArgs(): Promise<void>;
18
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=TidProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TidProvider.js","sourceRoot":"","sources":["../../../src/types/auth/TidProvider.ts"],"names":[],"mappings":""}