diff --git a/assets/assets.dev.json b/assets/assets.dev.json index e215525fc..eeda08863 100644 --- a/assets/assets.dev.json +++ b/assets/assets.dev.json @@ -52,6 +52,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/filters.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/filters.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "ublock-badware": { @@ -71,6 +75,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badware.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badware.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets", "instructionURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks" }, @@ -91,6 +99,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "ublock-unbreak": { @@ -109,6 +121,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/unbreak.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/unbreak.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "ublock-quick-fixes": { @@ -127,6 +143,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/quick-fixes.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "adguard-generic": { @@ -163,6 +183,10 @@ "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist.txt", "https://ublockorigin.pages.dev/thirdparties/easylist.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://easylist.to/" }, "adguard-spyware-url": { @@ -212,6 +236,10 @@ "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easyprivacy.txt", "https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://easylist.to/" }, "urlhaus-1": { @@ -478,6 +506,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "dpollock-0": { diff --git a/assets/assets.json b/assets/assets.json index d615c2722..05f670333 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -52,6 +52,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/filters.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/filters.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "ublock-badware": { @@ -71,6 +75,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badware.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badware.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets", "instructionURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks" }, @@ -91,6 +99,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "ublock-unbreak": { @@ -109,6 +121,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/unbreak.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/unbreak.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "ublock-quick-fixes": { @@ -127,6 +143,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/quick-fixes.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "adguard-generic": { @@ -163,6 +183,10 @@ "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist.txt", "https://ublockorigin.pages.dev/thirdparties/easylist.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://easylist.to/" }, "adguard-spyware-url": { @@ -212,6 +236,10 @@ "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easyprivacy.txt", "https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://easylist.to/" }, "urlhaus-1": { @@ -478,6 +506,10 @@ "https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances.min.txt", "https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances.min.txt" ], + "patchURLs": [ + "https://ublockorigin.github.io/uAssetsCDN/filters/", + "https://ublockorigin.pages.dev/filters/" + ], "supportURL": "https://github.com/uBlockOrigin/uAssets" }, "dpollock-0": { diff --git a/src/js/assets.js b/src/js/assets.js index 809f5c470..b7b18fb28 100644 --- a/src/js/assets.js +++ b/src/js/assets.js @@ -1214,6 +1214,9 @@ const getAssetDiffDetails = assetKey => { } if ( Array.isArray(out.cdnURLs) === false ) { return; } if ( out.cdnURLs.length === 0 ) { return; } + if ( Array.isArray(assetEntry.patchURLs) ) { + out.patchURLs = assetEntry.patchURLs.slice(); + } return out; }; diff --git a/src/js/diff-updater.js b/src/js/diff-updater.js index b9e906bd6..93d1dd2fe 100644 --- a/src/js/diff-updater.js +++ b/src/js/diff-updater.js @@ -181,10 +181,10 @@ async function applyPatchAndValidate(assetDetails, diffDetails) { } async function fetchPatchDetailsFromCDNs(assetDetails) { - const { patchPath, cdnURLs } = assetDetails; + const { patchPath, cdnURLs, patchURLs } = assetDetails; if ( Array.isArray(cdnURLs) === false ) { return null; } if ( cdnURLs.length === 0 ) { return null; } - for ( const cdnURL of suffleArray(cdnURLs) ) { + for ( const cdnURL of suffleArray(patchURLs || cdnURLs) ) { const patchURL = resolveURL(patchPath, cdnURL); if ( patchURL === undefined ) { continue; } const response = await fetch(patchURL).catch(reason => {