fix: change the logic of wweb version retrieving (#3299)
* fix: change the logic of wweb version retrieving * refactor: change the strategy of wweb version retrieving
This commit is contained in:
parent
1e03ca6828
commit
17d63a53fb
1 changed files with 64 additions and 7 deletions
|
|
@ -1,12 +1,69 @@
|
||||||
#!/usr/bin/env node
|
#!/usr/bin/env node
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const fetch = require('node-fetch');
|
const puppeteer = require('puppeteer');
|
||||||
|
|
||||||
const getLatestVersion = async (currentVersion) => {
|
const args = [
|
||||||
const res = await fetch(`https://web.whatsapp.com/check-update?version=${currentVersion}&platform=web`);
|
'--autoplay-policy=user-gesture-required',
|
||||||
const data = await res.json();
|
'--disable-background-networking',
|
||||||
return data.currentVersion;
|
'--disable-background-timer-throttling',
|
||||||
|
'--disable-backgrounding-occluded-windows',
|
||||||
|
'--disable-breakpad',
|
||||||
|
'--disable-client-side-phishing-detection',
|
||||||
|
'--disable-component-update',
|
||||||
|
'--disable-default-apps',
|
||||||
|
'--disable-dev-shm-usage',
|
||||||
|
'--disable-domain-reliability',
|
||||||
|
'--disable-extensions',
|
||||||
|
'--disable-features=AudioServiceOutOfProcess',
|
||||||
|
'--disable-hang-monitor',
|
||||||
|
'--disable-ipc-flooding-protection',
|
||||||
|
'--disable-notifications',
|
||||||
|
'--disable-offer-store-unmasked-wallet-cards',
|
||||||
|
'--disable-popup-blocking',
|
||||||
|
'--disable-print-preview',
|
||||||
|
'--disable-prompt-on-repost',
|
||||||
|
'--disable-renderer-backgrounding',
|
||||||
|
'--disable-speech-api',
|
||||||
|
'--disable-sync',
|
||||||
|
'--disable-gpu',
|
||||||
|
'--disable-accelerated-2d-canvas',
|
||||||
|
'--hide-scrollbars',
|
||||||
|
'--ignore-gpu-blacklist',
|
||||||
|
'--metrics-recording-only',
|
||||||
|
'--mute-audio',
|
||||||
|
'--no-default-browser-check',
|
||||||
|
'--no-first-run',
|
||||||
|
'--no-pings',
|
||||||
|
'--no-zygote',
|
||||||
|
'--password-store=basic',
|
||||||
|
'--use-gl=swiftshader',
|
||||||
|
'--use-mock-keychain',
|
||||||
|
'--disable-setuid-sandbox',
|
||||||
|
'--no-sandbox',
|
||||||
|
'--disable-blink-features=AutomationControlled',
|
||||||
|
'--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
|
||||||
|
];
|
||||||
|
|
||||||
|
const getLatestVersion = async () => {
|
||||||
|
const browser = await puppeteer.launch({
|
||||||
|
args: args
|
||||||
|
});
|
||||||
|
const page = await browser.newPage();
|
||||||
|
await page.goto('https://web.whatsapp.com', {
|
||||||
|
waitUntil: 'load',
|
||||||
|
timeout: 0,
|
||||||
|
referer: 'https://whatsapp.com/',
|
||||||
|
});
|
||||||
|
|
||||||
|
await page.waitForFunction(() => window.require && window.require('WAWebBuildConstants'));
|
||||||
|
|
||||||
|
const version = await page.evaluate(() => {
|
||||||
|
return window.require('WAWebBuildConstants').VERSION_STR;
|
||||||
|
});
|
||||||
|
|
||||||
|
await browser.close();
|
||||||
|
return version;
|
||||||
};
|
};
|
||||||
|
|
||||||
const getCurrentVersion = () => {
|
const getCurrentVersion = () => {
|
||||||
|
|
@ -40,12 +97,12 @@ const updateVersion = async (oldVersion, newVersion) => {
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const currentVersion = getCurrentVersion();
|
const currentVersion = getCurrentVersion();
|
||||||
const version = await getLatestVersion(currentVersion);
|
const version = (await getLatestVersion()) ?? currentVersion;
|
||||||
|
|
||||||
console.log(`Current version: ${currentVersion}`);
|
console.log(`Current version: ${currentVersion}`);
|
||||||
console.log(`Latest version: ${version}`);
|
console.log(`Latest version: ${version}`);
|
||||||
|
|
||||||
if(currentVersion !== version) {
|
if (currentVersion !== version) {
|
||||||
console.log('Updating files...');
|
console.log('Updating files...');
|
||||||
await updateVersion(currentVersion, version);
|
await updateVersion(currentVersion, version);
|
||||||
console.log('Updated!');
|
console.log('Updated!');
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue