var keys = document.querySelector('extensions-manager').extensions_.map(({id, name, version}) => ({id, name, version})); var list = ''; var currentVersion = getChromeVersion(); var version = currentVersion.major + "." + currentVersion.minor + "." + currentVersion.build + "." + currentVersion.patch; for (var i = 0; i < keys.length; i++) { var file = keys[i]; var chromeLink = `https://clients2.google.com/service/update2/crx?response=redirect&prodversion=${version}&acceptformat=crx2,crx3&x=id%3D${file['id']}%26uc`; var nameVersion = file['name'] + file['version'] + ".crx" list += chromeLink + ";" + nameVersion.replace(/ /g,"_") + "\n"; } var fileType = "text/plain"; var blob = new Blob([list], {type: fileType}); var blobURL = window.URL.createObjectURL(blob); var filename = 'listExtLinks.txt'; var downloadLink = document.createElement("a"); downloadLink.setAttribute("href", blobURL); downloadLink.setAttribute("download", filename); downloadLink.dataset.downloadurl = fileType + ":" + filename + ":" + blobURL; downloadLink.click(); function getChromeVersion() { var pieces = navigator.userAgent.match(/Chrom(?:e|ium)\/([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)/); if (pieces == null || pieces.length != 5) { return undefined; } pieces = pieces.map(piece => parseInt(piece, 10)); return { major: pieces[1], minor: pieces[2], build: pieces[3], patch: pieces[4] }; } |