X-Bogus support

This commit is contained in:
Pablo Ferreiro
2022-08-11 23:18:32 +02:00
parent b614e0d1e3
commit 0e4e612c3c
5 changed files with 41 additions and 21 deletions

View File

@@ -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'
```
## Credits
* @H1W0XXX for providing a working X-Bogus script

8
js/webmssdk.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,6 +1,6 @@
{
"name": "signtok",
"version": "1.1.3",
"version": "1.2.0",
"description": "Sign your TikTok requests easily",
"repository": "https://github.com/pablouser1/SignTok",
"author": "Pablo Ferreiro",

View File

@@ -14,6 +14,7 @@ class Signer {
constructor(userAgent = Signer.DEFAULT_USERAGENT) {
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 { window } = new JSDOM("", {
@@ -31,6 +32,7 @@ class Signer {
aid: 24,
dfp: true
});
this.window.eval(webmssdk);
}
navigator() {
@@ -48,6 +50,10 @@ class Signer {
return this.window.byted_acrawler.sign({ url });
}
bogus(params) {
return this.window._0x32d649(params);
}
xttparams(params) {
params += "&is_encryption=1";
// Encrypt query string using aes-128-cbc
@@ -55,18 +61,21 @@ class Signer {
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();
url += "&verifyFp=" + verifyFp;
const signature = this.signature(url);
const signed_url = url + "&_signature=" + signature;
const params = new URL(url).searchParams.toString();
const xttparams = this.xttparams(params);
url.searchParams.append('verifyFp', verifyFp);
const signature = this.signature(url.toString());
url.searchParams.append('_signature', signature);
const bogus = this.bogus(url.searchParams.toString());
url.searchParams.append('X-Bogus', bogus);
const xttparams = this.xttparams(url.searchParams.toString());
return {
signature: signature,
verify_fp: verifyFp,
signed_url: signed_url,
"x-tt-params": xttparams
signed_url: url.toString(),
"x-tt-params": xttparams,
"X-Bogus": bogus
};
}
}

View File

@@ -51,9 +51,9 @@ acorn@^7.1.1:
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
acorn@^8.5.0:
version "8.7.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.1.tgz#0197122c843d1bf6d0a5e83220a788f278f63c30"
integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
version "8.8.0"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8"
integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==
agent-base@6:
version "6.0.2"
@@ -435,9 +435,9 @@ minimatch@^3.1.1:
brace-expansion "^1.1.7"
minipass@^3.0.0:
version "3.3.3"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.3.tgz#fd1f0e6c06449c10dadda72618b59c00f3d6378d"
integrity sha512-N0BOsdFAlNRfmwMhjAsLVWOk7Ljmeb39iqFlsV1At+jqRhSUP9yeof8FyJu4imaJiSUp8vQebWD/guZwGQC8iA==
version "3.3.4"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.4.tgz#ca99f95dd77c43c7a76bf51e6d200025eee0ffae"
integrity sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==
dependencies:
yallist "^4.0.0"
@@ -533,9 +533,9 @@ prelude-ls@~1.1.2:
integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
psl@^1.1.33:
version "1.8.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24"
integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==
version "1.9.0"
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==
punycode@^2.1.1:
version "2.1.1"
@@ -772,9 +772,9 @@ wrappy@1:
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
ws@^8.2.3:
version "8.8.0"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.0.tgz#8e71c75e2f6348dbf8d78005107297056cb77769"
integrity sha512-JDAgSYQ1ksuwqfChJusw1LSJ8BizJ2e/vVu5Lxjq3YvNJNlROv1ui4i+c/kUUrPheBvQl4c5UbERhTwKa6QBJQ==
version "8.8.1"
resolved "https://registry.yarnpkg.com/ws/-/ws-8.8.1.tgz#5dbad0feb7ade8ecc99b830c1d77c913d4955ff0"
integrity sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==
xml-name-validator@^4.0.0:
version "4.0.0"