feat: Optional proxy autentication (#2143)

This commit is contained in:
Pierluca Lino 2023-04-20 17:19:57 +02:00 • committed by GitHub
commit d8fd457914
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View file

@ -29,6 +29,7 @@ const NoAuth = require('./authStrategies/NoAuth');
* @param {string} options.userAgent - User agent to use in puppeteer
* @param {string} options.ffmpegPath - Ffmpeg path to use when formating videos to webp while sending stickers
* @param {boolean} options.bypassCSP - Sets bypassing of page's Content-Security-Policy.
* @param {object} options.proxyAuthentication - Proxy Authentication object.
*
* @fires Client#qr
* @fires Client#authenticated
@ -102,6 +103,10 @@ class Client extends EventEmitter {
browser = await puppeteer.launch({...puppeteerOpts, args: browserArgs});
page = (await browser.pages())[0];
}
if (this.options.proxyAuthentication !== undefined) {
await page.authenticate(this.options.proxyAuthentication);
}
await page.setUserAgent(this.options.userAgent);
if (this.options.bypassCSP) await page.setBypassCSP(true);

View file

@ -13,7 +13,8 @@ exports.DefaultOptions = {
takeoverTimeoutMs: 0,
userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36',
ffmpegPath: 'ffmpeg',
bypassCSP: false
bypassCSP: false,
proxyAuthentication: undefined
};
/**