diff --git a/Build/download-previous-build.js b/Build/download-previous-build.js index 3eb8aed3..d4e78816 100644 --- a/Build/download-previous-build.js +++ b/Build/download-previous-build.js @@ -8,7 +8,7 @@ const { Readable } = require('stream'); const { pipeline } = require('stream/promises'); const { readFileByLine } = require('./lib/fetch-remote-text-by-line'); const { isCI } = require('ci-info'); -const { task } = require('./lib/trace-runner'); +const { task, traceAsync } = require('./lib/trace-runner'); const fileExists = (path) => { return fs.promises.access(path, fs.constants.F_OK) @@ -31,7 +31,7 @@ const downloadPreviousBuild = task(__filename, async () => { line.startsWith('Modules/') ) && !line.endsWith('/') ) { - allFileExists = await fileExists(join(__dirname, '..', line)); + allFileExists = fs.existsSync(join(__dirname, '..', line)); filesList.push(line); if (!allFileExists) { @@ -47,35 +47,40 @@ const downloadPreviousBuild = task(__filename, async () => { return; } - console.log('Download previous build.'); - const extractedPath = join(tmpdir(), `sukka-surge-last-build-extracted-${Date.now()}`); - const [resp] = await Promise.all([ - fetch('https://codeload.github.com/sukkaw/surge/tar.gz/gh-pages'), - fse.ensureDir(extractedPath) - ]); - - await pipeline( - Readable.fromWeb(resp.body), - tar.x({ - cwd: extractedPath, - filter(p) { - const dir = p.split('/')[1]; - return dir === 'List' || dir === 'Modules' || dir === 'Clash'; - } - }) + await traceAsync( + 'Download and extract previous build', + () => Promise.all([ + fetch('https://codeload.github.com/sukkaw/surge/tar.gz/gh-pages'), + fse.ensureDir(extractedPath) + ]).then(([resp]) => pipeline( + Readable.fromWeb(resp.body), + tar.x({ + cwd: extractedPath, + filter(p) { + const dir = p.split('/')[1]; + return dir === 'List' || dir === 'Modules' || dir === 'Clash'; + } + }) + )) ); + console.log('Files list:', filesList); + await Promise.all(filesList.map(async p => { const src = join(extractedPath, 'Surge-gh-pages', p); if (await fileExists(src)) { + const dst = join(__dirname, '..', p); + console.log('Copy', { src, dst }); return fse.copy( src, join(__dirname, '..', p), { overwrite: true } ); } + + console.log('File not exists:', src); })); await fs.promises.unlink(extractedPath).catch(() => { }); diff --git a/Source/domainset/cdn.conf b/Source/domainset/cdn.conf index 59f6db44..c2cc41e3 100644 --- a/Source/domainset/cdn.conf +++ b/Source/domainset/cdn.conf @@ -362,6 +362,7 @@ embed-ssl.wistia.com .alonestreaming.com .thisiscdn.com cdn.vidible.tv +.video-cdn.net # vimeo player.vimeo.com .vimeocdn.com @@ -658,6 +659,7 @@ player-frontend.cnevids.com w.chatlio.com snippet.maze.co .transcend-cdn.com +imgssl.constantcontact.com c.navattic.com js.navattic.com @@ -929,6 +931,8 @@ assets.video.yahoo.net yep.video.yahoo.com # CookieLaw .cdn.cookielaw.org +# CookieBot +cookie-cdn.cookiepro.com # Cloudflare static.dash.cloudflare.com info.cloudflare.com @@ -969,6 +973,7 @@ steamcdn-a.akamaihd.net # TikTok .ibytedtos.com .bytedapm.com +.ttwstatic.com # eBay .ebayimg.com .ebaystatic.com @@ -1517,6 +1522,12 @@ images.idgesg.net .staticworld.net # Indiegogo .iggcdn.com +# dynamicyield.com +static.dynamicyield.com +st.dynamicyield.com +st-eu.dynamicyield.com +cdn.dynamicyield.com +cdn-eu.dynamicyield.com # Others api.mintlify.com content-prod-live.cert.starbucks.com @@ -1858,3 +1869,7 @@ assets.dnsfilter.com images.emojiterra.com cdn.osxdaily.com user-uploads.perchance.org +img.riskified.com +cdn.pathfactory.com +cdn-app.pathfactory.com +.prcdn.co