X-Bogus support
This commit is contained in:
@@ -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
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user