X-Bogus support
This commit is contained in:
@@ -36,3 +36,6 @@ If you plan to use the already deployed Vercel version, you should use https://s
|
|||||||
```
|
```
|
||||||
node local.js 'YOUR_URL_HERE'
|
node local.js 'YOUR_URL_HERE'
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Credits
|
||||||
|
* @H1W0XXX for providing a working X-Bogus script
|
||||||
|
|||||||
8
js/webmssdk.js
Normal file
8
js/webmssdk.js
Normal file
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "signtok",
|
"name": "signtok",
|
||||||
"version": "1.1.3",
|
"version": "1.2.0",
|
||||||
"description": "Sign your TikTok requests easily",
|
"description": "Sign your TikTok requests easily",
|
||||||
"repository": "https://github.com/pablouser1/SignTok",
|
"repository": "https://github.com/pablouser1/SignTok",
|
||||||
"author": "Pablo Ferreiro",
|
"author": "Pablo Ferreiro",
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ class Signer {
|
|||||||
|
|
||||||
constructor(userAgent = Signer.DEFAULT_USERAGENT) {
|
constructor(userAgent = Signer.DEFAULT_USERAGENT) {
|
||||||
const signature_js = fs.readFileSync(__dirname + "/../js/signature.js", "utf-8");
|
const signature_js = fs.readFileSync(__dirname + "/../js/signature.js", "utf-8");
|
||||||
|
const webmssdk = fs.readFileSync(__dirname + "/../js/webmssdk.js", "utf-8");
|
||||||
const resourceLoader = new ResourceLoader({ userAgent });
|
const resourceLoader = new ResourceLoader({ userAgent });
|
||||||
|
|
||||||
const { window } = new JSDOM("", {
|
const { window } = new JSDOM("", {
|
||||||
@@ -31,6 +32,7 @@ class Signer {
|
|||||||
aid: 24,
|
aid: 24,
|
||||||
dfp: true
|
dfp: true
|
||||||
});
|
});
|
||||||
|
this.window.eval(webmssdk);
|
||||||
}
|
}
|
||||||
|
|
||||||
navigator() {
|
navigator() {
|
||||||
@@ -48,6 +50,10 @@ class Signer {
|
|||||||
return this.window.byted_acrawler.sign({ url });
|
return this.window.byted_acrawler.sign({ url });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bogus(params) {
|
||||||
|
return this.window._0x32d649(params);
|
||||||
|
}
|
||||||
|
|
||||||
xttparams(params) {
|
xttparams(params) {
|
||||||
params += "&is_encryption=1";
|
params += "&is_encryption=1";
|
||||||
// Encrypt query string using aes-128-cbc
|
// Encrypt query string using aes-128-cbc
|
||||||
@@ -55,18 +61,21 @@ class Signer {
|
|||||||
return Buffer.concat([cipher.update(params), cipher.final()]).toString("base64");
|
return Buffer.concat([cipher.update(params), cipher.final()]).toString("base64");
|
||||||
}
|
}
|
||||||
|
|
||||||
sign(url) {
|
sign(url_str) {
|
||||||
|
const url = new URL(url_str);
|
||||||
const verifyFp = Utils.verify_fp();
|
const verifyFp = Utils.verify_fp();
|
||||||
url += "&verifyFp=" + verifyFp;
|
url.searchParams.append('verifyFp', verifyFp);
|
||||||
const signature = this.signature(url);
|
const signature = this.signature(url.toString());
|
||||||
const signed_url = url + "&_signature=" + signature;
|
url.searchParams.append('_signature', signature);
|
||||||
const params = new URL(url).searchParams.toString();
|
const bogus = this.bogus(url.searchParams.toString());
|
||||||
const xttparams = this.xttparams(params);
|
url.searchParams.append('X-Bogus', bogus);
|
||||||
|
const xttparams = this.xttparams(url.searchParams.toString());
|
||||||
return {
|
return {
|
||||||
signature: signature,
|
signature: signature,
|
||||||
verify_fp: verifyFp,
|
verify_fp: verifyFp,
|
||||||
signed_url: signed_url,
|
signed_url: url.toString(),
|
||||||
"x-tt-params": xttparams
|
"x-tt-params": xttparams,
|
||||||
|
"X-Bogus": bogus
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
24
yarn.lock
24
yarn.lock
@@ -51,9 +51,9 @@ acorn@^7.1.1:
|
|||||||
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
|
||||||
|
|
||||||
acorn@^8.5.0:
|
acorn@^8.5.0:
|
||||||
version "8.7.1"
|
version "8.8.0"
|
||||||
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
|
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
|
||||||
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
|
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
|
||||||
|
|
||||||
agent-base@6:
|
agent-base@6:
|
||||||
version "6.0.2"
|
version "6.0.2"
|
||||||
@@ -435,9 +435,9 @@ minimatch@^3.1.1:
|
|||||||
brace-expansion "^1.1.7"
|
brace-expansion "^1.1.7"
|
||||||
|
|
||||||
minipass@^3.0.0:
|
minipass@^3.0.0:
|
||||||
version "3.3.3"
|
version "3.3.4"
|
||||||
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.3.tgz#fd1f0e6c06449c10dadda72618b59c00f3d6378d"
|
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
|
||||||
integrity sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==
|
integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
|
||||||
dependencies:
|
dependencies:
|
||||||
yallist "^4.0.0"
|
yallist "^4.0.0"
|
||||||
|
|
||||||
@@ -533,9 +533,9 @@ prelude-ls@~1.1.2:
|
|||||||
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
|
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
|
||||||
|
|
||||||
psl@^1.1.33:
|
psl@^1.1.33:
|
||||||
version "1.8.0"
|
version "1.9.0"
|
||||||
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
|
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
|
||||||
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
|
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
|
||||||
|
|
||||||
punycode@^2.1.1:
|
punycode@^2.1.1:
|
||||||
version "2.1.1"
|
version "2.1.1"
|
||||||
@@ -772,9 +772,9 @@ wrappy@1:
|
|||||||
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
|
||||||
|
|
||||||
ws@^8.2.3:
|
ws@^8.2.3:
|
||||||
version "8.8.0"
|
version "8.8.1"
|
||||||
resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769"
|
resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0"
|
||||||
integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==
|
integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==
|
||||||
|
|
||||||
xml-name-validator@^4.0.0:
|
xml-name-validator@^4.0.0:
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user