Create twitter/util.js
Browse files- lib/twitter/util.js +72 -0
lib/twitter/util.js
ADDED
@@ -0,0 +1,72 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
export function stringifyCookies(cookies) {
|
2 |
+
return cookies.map(cookie => cookie.split(';')[0]).join('; ');
|
3 |
+
}
|
4 |
+
|
5 |
+
const LOOKUP = [
|
6 |
+
"12nDjlVB", "1136148EijDiJ", "length", "3833564PCTrBF",
|
7 |
+
"125036Fmaqlb", "424BQwERO", "2222cxvJYR", "toBase64",
|
8 |
+
"min", "15459928mOwUKl", "65CjoIor", "6884325aeKsEh",
|
9 |
+
"8VQEOyR", "5186520rNJujb", "pow"
|
10 |
+
];
|
11 |
+
|
12 |
+
function look(a) {
|
13 |
+
if (a < 136 || a >= 136 + LOOKUP.length) return undefined;
|
14 |
+
return LOOKUP[a - 136];
|
15 |
+
}
|
16 |
+
|
17 |
+
const C_NUMBER = 562586;
|
18 |
+
|
19 |
+
export function generateTokenId(id) {
|
20 |
+
let f = 255, g = 0, h = 0, i = 0;
|
21 |
+
let buffer = new Uint8Array(46), l = "";
|
22 |
+
|
23 |
+
buffer[36] = id.length;
|
24 |
+
|
25 |
+
function k(a, b, c) {
|
26 |
+
for (let i = 0; i < Math.min(c, a.length); ++i) {
|
27 |
+
h = parseInt(a[i]);
|
28 |
+
buffer[i + b] = h;
|
29 |
+
g += Math.pow(h, 8);
|
30 |
+
}
|
31 |
+
}
|
32 |
+
|
33 |
+
k(id, 4, 32 - buffer[36]);
|
34 |
+
|
35 |
+
for (i = id.length - 1; i >= 0; l += id[i--]);
|
36 |
+
k(l, 36 - l.length, l.length);
|
37 |
+
g >>>= 0;
|
38 |
+
|
39 |
+
function m(a, b) {
|
40 |
+
buffer[b] = a & 255;
|
41 |
+
buffer[b + 1] = (a >> 8) & 255;
|
42 |
+
buffer[b + 2] = (a >> 16) & 255;
|
43 |
+
buffer[b + 3] = (a >> 24) & 255;
|
44 |
+
}
|
45 |
+
|
46 |
+
m(g, 0);
|
47 |
+
for (i = 4; i < 36; ++i) {
|
48 |
+
buffer[i] += g % (f - 10);
|
49 |
+
}
|
50 |
+
|
51 |
+
let n = f * 4, o = f * 4;
|
52 |
+
for (i = 0; i < 32; ++i) {
|
53 |
+
let p = buffer[i];
|
54 |
+
n ^= p;
|
55 |
+
n += (n << 1) + (n << 4) + (n << 7) + (n << 8) + (n << 24);
|
56 |
+
o = (o << 5) - o + p;
|
57 |
+
}
|
58 |
+
|
59 |
+
m(n >>> 0, 37);
|
60 |
+
m(o >>> 0, 39);
|
61 |
+
buffer[buffer.length - 1] = 1;
|
62 |
+
|
63 |
+
return toBase64(buffer);
|
64 |
+
}
|
65 |
+
|
66 |
+
function toBase64(buffer) {
|
67 |
+
return Buffer.from(buffer).toString('base64');
|
68 |
+
}
|
69 |
+
|
70 |
+
function _btoa(input) {
|
71 |
+
return Buffer.from(input, 'binary').toString('base64');
|
72 |
+
}
|