Greasy Fork is available in English.
Use web worker to compress images
        此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/20372/130355/zipped.js
      
// https://github.com/baivong/Userscript
(function () {
    'use strict';
    function generateZip(index, name) {
        var zip = new JSZip();
        box[('item' + index)].forEach(function (imgBlob) {
            zip.file(imgBlob.name, imgBlob.content);
        });
        zip.generateAsync({
            type: 'blob'
        }).then(function (blob) {
            self.postMessage({
                index: index,
                name: name,
                content: blob
            });
        }, function (reason) {
            self.postMessage(reason);
        });
    }
    var box = {};
    self.addEventListener('message', function (e) {
        var i = 'item' + e.data.index;
        if (!box[i]) box[i] = [];
        if (e.data.run) {
            generateZip(e.data.index, e.data.name);
        } else {
            box[i].push({
                name: e.data.name,
                content: e.data.content
            });
        }
    }, false);
})();