From 136cf7671d9d3e005fe8e7775d5ff72248b0c0d2 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Sat, 3 Apr 2021 17:23:22 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=A2=9E=E9=87=8F=E6=9B=B4?= =?UTF-8?q?=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../shell/scripts/set-system-proxy/index.js | 3 +- packages/core/test/macProxy.js | 3 + packages/gui/package.json | 5 + packages/gui/pkg/after-pack.js | 28 +++ packages/gui/src/bridge/update/backend.js | 94 ++++++++- packages/gui/src/bridge/update/front.js | 31 ++- packages/gui/vue.config.js | 6 +- packages/gui/yarn.lock | 181 ++++++++++++++++-- packages/mitmproxy/package.json | 2 +- 9 files changed, 323 insertions(+), 30 deletions(-) create mode 100644 packages/gui/pkg/after-pack.js diff --git a/packages/core/src/shell/scripts/set-system-proxy/index.js b/packages/core/src/shell/scripts/set-system-proxy/index.js index a5f33d2..ab63e9d 100644 --- a/packages/core/src/shell/scripts/set-system-proxy/index.js +++ b/packages/core/src/shell/scripts/set-system-proxy/index.js @@ -128,7 +128,8 @@ const executor = { async mac (exec, params) { // exec = _exec let wifiAdaptor = await exec('sh -c "networksetup -listnetworkserviceorder | grep `route -n get 0.0.0.0 | grep \'interface\' | cut -d \':\' -f2` -B 1 | head -n 1 "') - wifiAdaptor = wifiAdaptor.substring(3).trim() + wifiAdaptor = wifiAdaptor.trim() + wifiAdaptor = wifiAdaptor.substring(wifiAdaptor.indexOf(' ')).trim() if (params == null) { await exec(`networksetup -setwebproxystate '${wifiAdaptor}' off`) diff --git a/packages/core/test/macProxy.js b/packages/core/test/macProxy.js index 2ce5a6d..d873cc1 100644 --- a/packages/core/test/macProxy.js +++ b/packages/core/test/macProxy.js @@ -11,3 +11,6 @@ // test().then((ret) => { // console.log('haha', ret) // }) +let wifiAdaptor = '(151) test' +wifiAdaptor = wifiAdaptor.substring(wifiAdaptor.indexOf(' ')).trim() +console.log(wifiAdaptor) diff --git a/packages/gui/package.json b/packages/gui/package.json index 92a6617..0c1d3d4 100644 --- a/packages/gui/package.json +++ b/packages/gui/package.json @@ -18,15 +18,20 @@ "dependencies": { "@docmirror/dev-sidecar": "^1.5.0", "@docmirror/mitmproxy": "^1.5.0", + "adm-zip": "^0.5.5", "ant-design-vue": "^1.6.5", + "compressing": "^1.5.1", "core-js": "^3.6.5", "electron-baidu-tongji": "^1.0.5", + "electron-reload": "^1.5.0", "electron-store": "^6.0.1", "electron-updater": "^4.3.5", "es-abstract": "^1.17.7", + "extract-zip": "^2.0.1", "json5": "^2.1.3", "lodash": "^4.17.20", "log4js": "^6.3.0", + "request-progress": "^3.0.0", "sass": "^1.27.1", "sass-loader": "^10.0.4", "vue": "^2.6.11", diff --git a/packages/gui/pkg/after-pack.js b/packages/gui/pkg/after-pack.js new file mode 100644 index 0000000..9fd1535 --- /dev/null +++ b/packages/gui/pkg/after-pack.js @@ -0,0 +1,28 @@ +const path = require('path') +const AdmZip = require('adm-zip') +const pkg = require('../package.json') +const fs = require('fs') +exports.default = async function (context) { + console.log('context', context) + let targetPath + let latest = null + if (context.packager.platform.nodeName === 'darwin') { + targetPath = path.join(context.appOutDir, `${context.packager.appInfo.productName}.app/Contents/Resources`) + latest = 'latest-mac.yml' + } else { + targetPath = path.join(context.appOutDir, './resources') + latest = 'latest.yml' + } + const zip = new AdmZip() + zip.addLocalFolder(targetPath) + const partUpdateFile = `update-${pkg.version}.zip` + zip.writeZip(path.join(context.outDir, partUpdateFile)) + + const partUpdateUrl = 'http://dev-sidecar.docmirror.cn/update/' + partUpdateFile + + fs.appendFile(path.join(context.outDir, latest), `partPackage: ${partUpdateUrl}\nreleaseNotes: \n - 升级日志`, (err) => { + if (err) { + console.log('修改latest 失败') + } + }) +} diff --git a/packages/gui/src/bridge/update/backend.js b/packages/gui/src/bridge/update/backend.js index bd89c04..429eda3 100644 --- a/packages/gui/src/bridge/update/backend.js +++ b/packages/gui/src/bridge/update/backend.js @@ -1,13 +1,39 @@ import { ipcMain } from 'electron' import { autoUpdater } from 'electron-updater' import path from 'path' +import request from 'request' +import progress from 'request-progress' // win是所有窗口的引用 -// const path = require('path') // 引入path模块 -// const fs = require('fs-extra') +import fs from 'fs' +import AdmZip from 'adm-zip' +import logger from '../../utils/util.log' // eslint-disable-next-line no-unused-vars const isMac = process.platform === 'darwin' + +function downloadFile (uri, filePath, onProgress, onSuccess, onError) { + progress(request(uri), { + // throttle: 2000, // Throttle the progress event to 2000ms, defaults to 1000ms + // delay: 1000, // Only start to emit after 1000ms delay, defaults to 0ms + // lengthHeader: 'x-transfer-length' // Length header to use, defaults to content-length + }) + .on('progress', function (state) { + onProgress(state.percent * 100) + logger.log('progress', state.percent) + }) + .on('error', function (err) { + // Do something with err + logger.error('下载升级包失败', err) + onError(err) + }) + .on('end', function () { + // Do something after request finishes + onSuccess() + }) + .pipe(fs.createWriteStream(filePath)) +} + // 检测更新,在你想要检查更新的时候执行,renderer事件触发后的操作自行编写 -function updateHandle (app, win, beforeQuit, updateUrl, log) { +function updateHandle (app, win, beforeQuit, log) { // // 更新前,删除本地安装包 ↓ // const updaterCacheDirName = 'dev-sidecar-updater' // const updatePendingPath = path.join(autoUpdater.app.baseCachePath, updaterCacheDirName, 'pending') @@ -22,14 +48,54 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) { // 本地开发环境,改变app-update.yml地址 if (process.env.NODE_ENV === 'development' && !isMac) { autoUpdater.updateConfigPath = path.join(__dirname, 'win-unpacked/resources/app-update.yml') + autoUpdater.setFeedURL({ + provider: 'generic', + url: 'http://localhost/dev-sidecar/' + }) } autoUpdater.autoDownload = false - // 设置服务器更新地址 - autoUpdater.setFeedURL({ - provider: 'generic', - url: updateUrl - }) + let partPackagePath = null + + function downloadPart (app, value) { + const appPath = app.getAppPath() + const fileDir = path.join(appPath, 'update') + console.log('fileDir', fileDir) + try { + fs.accessSync(fileDir, fs.constants.F_OK) + } catch (e) { + fs.mkdirSync(fileDir) + } + const filePath = path.join(fileDir, value.version + '.zip') + + downloadFile(value.partPackage, filePath, (data) => { + win.webContents.send('update', { key: 'progress', value: parseInt(data) }) + }, () => { + // 文件下载完成 + win.webContents.send('update', { key: 'progress', value: 100 }) + logger.info('升级包下载成功:', filePath) + partPackagePath = filePath + win.webContents.send('update', { + key: 'downloaded', + value: value + }) + }, (error) => { + sendUpdateMessage({ key: 'error', value: error, error: error }) + }) + } + + function updatePart (app, value, partPackagePath) { + const appPath = app.getAppPath() + const target = path.join(appPath, 'resources') + log.info('开始解压缩,安装升级包', partPackagePath, target) + // 解压缩 + var zip = new AdmZip(partPackagePath) + zip.extractAllTo(target, true) + log.info('安装完成,重启app') + app.relaunch() + app.quit() + } + autoUpdater.on('error', function (error) { log.info('autoUpdater error', error) sendUpdateMessage({ key: 'error', value: error, error: error }) @@ -63,6 +129,10 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) { ipcMain.on('update', (e, arg) => { if (arg.key === 'doUpdateNow') { + if (partPackagePath) { + updatePart(app, arg.value, partPackagePath) + return + } // some code here to handle event beforeQuit().then(() => { autoUpdater.quitAndInstall() @@ -80,6 +150,11 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) { // 下载新版本 log.info('autoUpdater downloadUpdate') autoUpdater.downloadUpdate() + } else if (arg.key === 'downloadPart') { + // 下载增量更新版本 + log.info('autoUpdater downloadPart') + // autoUpdater.downloadUpdate() + downloadPart(app, arg.value) } }) // 通过main进程发送事件给renderer进程,提示更新信息 @@ -95,7 +170,6 @@ function updateHandle (app, win, beforeQuit, updateUrl, log) { export default { install (context) { const { app, win, beforeQuit, log } = context - const updateUrl = 'http://dev-sidecar.docmirror.cn/update/' if (process.env.NODE_ENV === 'development') { Object.defineProperty(app, 'isPackaged', { get () { @@ -105,6 +179,6 @@ export default { // updateUrl = 'http://dev-sidecar.docmirror.cn/update/' // updateUrl = 'http://localhost/dev-sidecar/' } - updateHandle(app, win, beforeQuit, updateUrl, log) + updateHandle(app, win, beforeQuit, log) } } diff --git a/packages/gui/src/bridge/update/front.js b/packages/gui/src/bridge/update/front.js index ce69583..c620f1c 100644 --- a/packages/gui/src/bridge/update/front.js +++ b/packages/gui/src/bridge/update/front.js @@ -1,6 +1,6 @@ function install (app, api) { - const updateParams = app.$global.update = { fromUser: false, autoDownload: true, progress: 0, downloading: false, newVersion: false } + const updateParams = app.$global.update = { fromUser: false, autoDownload: true, progress: 0, downloading: false, newVersion: false, isFullUpdate: true } api.ipc.on('update', (event, message) => { console.log('on message', event, message) handleUpdateMessage(message, app) @@ -16,6 +16,10 @@ function install (app, api) { downloadUpdate () { api.ipc.send('update', { key: 'downloadUpdate' }) }, + downloadPart (value) { + // 增量更新 + api.ipc.send('update', { key: 'downloadPart', value }) + }, doUpdateNow () { api.ipc.send('update', { key: 'doUpdateNow' }) } @@ -50,6 +54,15 @@ function install (app, api) { function progressUpdate (value) { updateParams.progress = value } + + function downloadNewVersion (value) { + if (value.partPackage) { + // 有增量更新 + api.update.downloadPart(value) + } else { + api.update.downloadUpdate() + } + } function foundNewVersion (value) { updateParams.newVersion = true @@ -71,18 +84,26 @@ function install (app, api) { } }) - api.update.downloadUpdate() + downloadNewVersion(value) return } app.$confirm({ title: '发现新版本', - content: `是否要更新到v${value.version}?`, cancelText: '暂不升级', okText: '升级', - // content: h =>

{value.version}更新内容:

{value.releaseNotes}
, + content: h => { + console.log(value) + if (value.releaseNotes) { + const notes = [] + for (const note of value.releaseNotes) { + notes.push(
  • {note}
  • ) + } + return
    更新内容:
      {notes}
    + } + }, onOk () { console.log('OK') - api.update.downloadUpdate() + downloadNewVersion(value) }, onCancel () { console.log('Cancel') diff --git a/packages/gui/vue.config.js b/packages/gui/vue.config.js index fc82b6a..bd03fd5 100644 --- a/packages/gui/vue.config.js +++ b/packages/gui/vue.config.js @@ -30,11 +30,15 @@ module.exports = { }, pluginOptions: { electronBuilder: { + afterPack: './pkg/after-pack.js', nodeIntegration: true, // Provide an array of files that, when changed, will recompile the main process and restart Electron // Your main process file will be added by default mainProcessWatch: ['src/bridge', 'src/*.js', 'node_modules/dev-sidecar/src'], builderOptions: { + // builderOptions: { + // publish: ['github']// 此处写入github 就好,不用添加其他内容 + // }, extraResources: [ { from: 'extra', @@ -57,7 +61,7 @@ module.exports = { }, publish: { provider: 'generic', - url: '' + url: 'http://dev-sidecar.docmirror.cn/update/' } }, chainWebpackMainProcess (config) { diff --git a/packages/gui/yarn.lock b/packages/gui/yarn.lock index 93eea7e..bea652d 100644 --- a/packages/gui/yarn.lock +++ b/packages/gui/yarn.lock @@ -901,12 +901,12 @@ ajv "^6.12.0" ajv-keywords "^3.4.1" -"@docmirror/dev-sidecar@^1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@docmirror/dev-sidecar/-/dev-sidecar-1.4.0.tgz" - integrity sha512-ZUjWfBMBy5O2H4AMufdGkE3OjhwsKEjySuSHnx9KIpmQymdsl89QsarYwnParIre7umgh24AflwHq0Baef1cOg== +"@docmirror/dev-sidecar@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@docmirror/dev-sidecar/-/dev-sidecar-1.5.0.tgz#cbded77651fc5a8dbee5d84db083a06518928cfd" + integrity sha512-f2eDfOs9PDOBxFpAxo/nImSRfwqVi/tVFdzyv4Bn10kBcBJY8iiqYWpqq+blvgWSO43V+UyG1VNXagqHK37GLQ== dependencies: - "@docmirror/mitmproxy" "^1.4.0" + "@docmirror/mitmproxy" "^1.5.0" agentkeepalive "^2.1.1" babel-preset-es2020 "^1.0.2" charset "^1.0.0" @@ -934,12 +934,13 @@ validator "^13.1.17" winreg "^1.2.4" -"@docmirror/mitmproxy@^1.4.0": - version "1.4.0" - resolved "https://registry.npmjs.org/@docmirror/mitmproxy/-/mitmproxy-1.4.0.tgz" - integrity sha512-RAFcSqKD8huDPaUFs7k/pSijOc4PC0+JRp5dOk6NYfNDveKsJuPf1fjqbb6HqmbByjE+c+M09lwU3yX/XXqw9A== +"@docmirror/mitmproxy@^1.5.0": + version "1.5.0" + resolved "https://registry.yarnpkg.com/@docmirror/mitmproxy/-/mitmproxy-1.5.0.tgz#16b9a956542a56f9889cd0c69c08a33d06d77ab8" + integrity sha512-H17TAqKmvzCMSTO6VGTC6kKQskjk1gEJZYsU2ijziZU0XEC96ObG0TWOnsdKh2PhmwDLwxS9cUyb1hpYilLreQ== dependencies: agentkeepalive "^2.1.1" + axios "^0.21.1" child_process "^1.0.2" colors "^1.1.2" commander "^2.9.0" @@ -956,6 +957,7 @@ node-cmd "^3.0.0" node-forge "^0.8.2" require-context "^1.1.0" + stream-throttle "^0.1.3" through2 "^2.0.1" tunnel-agent "^0.4.3" util "^0.12.3" @@ -1603,6 +1605,13 @@ dependencies: "@types/yargs-parser" "*" +"@types/yauzl@^2.9.1": + version "2.9.1" + resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.1.tgz#d10f69f9f522eef3cf98e30afb684a1e1ec923af" + integrity sha512-A1b8SU4D10uoPjwb0lnHmmu8wZhR9d+9o2PKBQT2jU5YPTKsxac6M2qGAdY7VcL+dHHhARVUDmeg0rOrcd9EjA== + dependencies: + "@types/node" "*" + "@vue/babel-helper-vue-jsx-merge-props@^1.0.0": version "1.0.0" resolved "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz?cache=0&sync_timestamp=1596768129236&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40vue%2Fbabel-helper-vue-jsx-merge-props%2Fdownload%2F%40vue%2Fbabel-helper-vue-jsx-merge-props-1.0.0.tgz" @@ -2069,6 +2078,11 @@ address@^1.1.2: resolved "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz" integrity sha1-vxEWycdYxRt6kz0pa3LCIe2UKLY= +adm-zip@^0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.5.tgz#b6549dbea741e4050309f1bb4d47c47397ce2c4f" + integrity sha512-IWwXKnCbirdbyXSfUDvCCrmYrOHANRZcc8NcRrvTlIApdl7PwE9oGcsYvNeJPAVY1M+70b4PxXGKIf8AEuiQ6w== + agentkeepalive@^2.1.1: version "2.2.0" resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-2.2.0.tgz" @@ -2488,6 +2502,13 @@ aws4@^1.8.0: resolved "https://registry.npm.taobao.org/aws4/download/aws4-1.10.1.tgz?cache=0&sync_timestamp=1597236947743&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faws4%2Fdownload%2Faws4-1.10.1.tgz" integrity sha1-4eguTz6Zniz9YbFhKA0WoRH4ZCg= +axios@^0.21.1: + version "0.21.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" + integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== + dependencies: + follow-redirects "^1.10.0" + babel-code-frame@^6.26.0: version "6.26.0" resolved "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz" @@ -2702,6 +2723,14 @@ bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bl@^1.0.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" + integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + bluebird-lst@^1.0.9: version "1.0.9" resolved "https://registry.npm.taobao.org/bluebird-lst/download/bluebird-lst-1.0.9.tgz" @@ -2895,6 +2924,19 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.8.5: escalade "^3.1.0" node-releases "^1.1.61" +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== + +buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.npm.taobao.org/buffer-crc32/download/buffer-crc32-0.2.13.tgz" @@ -2905,6 +2947,11 @@ buffer-equal@0.0.1: resolved "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz" integrity sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs= +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + integrity sha1-+PeLdniYiO858gXNY39o5wISKyw= + buffer-from@^1.0.0: version "1.1.1" resolved "https://registry.npm.taobao.org/buffer-from/download/buffer-from-1.1.1.tgz" @@ -3514,7 +3561,7 @@ commander@2.17.x: resolved "https://registry.npm.taobao.org/commander/download/commander-2.17.1.tgz?cache=0&sync_timestamp=1598576116597&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fcommander%2Fdownload%2Fcommander-2.17.1.tgz" integrity sha1-vXerfebelCBc6sxy8XFtKfIKd78= -commander@^2.18.0, commander@^2.20.0, commander@^2.9.0: +commander@^2.18.0, commander@^2.2.0, commander@^2.20.0, commander@^2.9.0: version "2.20.3" resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -3553,6 +3600,21 @@ compressible@~2.0.16: dependencies: mime-db ">= 1.43.0 < 2" +compressing@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/compressing/-/compressing-1.5.1.tgz#d031a3311b8c2ed6561a8431671d5a844540482d" + integrity sha512-1AGBR4Vh0/rpPKSXHoV9cerLo0CUlAhZ/xsJqU3a9+2cbSaFjWT3fk2MIGkCnbpk//DGWrcWw03rhKFQrA9RQw== + dependencies: + flushwritable "^1.0.0" + get-ready "^1.0.0" + iconv-lite "^0.5.0" + mkdirp "^0.5.1" + pump "^3.0.0" + streamifier "^0.1.1" + tar-stream "^1.5.2" + yauzl "^2.7.0" + yazl "^2.4.2" + compression@^1.7.4: version "1.7.4" resolved "https://registry.npm.taobao.org/compression/download/compression-1.7.4.tgz" @@ -4542,6 +4604,13 @@ electron-publish@22.9.1: lazy-val "^1.0.4" mime "^2.4.6" +electron-reload@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/electron-reload/-/electron-reload-1.5.0.tgz#179ab1f6941fcf0ed261c37b16dc465e201348f5" + integrity sha512-L9X6LzsL3Bt2j0eJ4/MBrI9Vt902KvVUtBB7J4qrL1A9sXqC2fE0lpvUAlOThpJYh6zWO1l86U/YiEN9bDURHw== + dependencies: + chokidar "^3.0.2" + electron-store@^6.0.1: version "6.0.1" resolved "https://registry.npmjs.org/electron-store/-/electron-store-6.0.1.tgz" @@ -5186,6 +5255,17 @@ extract-zip@^1.0.3, extract-zip@^1.6.5: mkdirp "^0.5.4" yauzl "^2.10.0" +extract-zip@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" + integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== + dependencies: + debug "^4.1.1" + get-stream "^5.1.0" + yauzl "^2.10.0" + optionalDependencies: + "@types/yauzl" "^2.9.1" + extsprintf@1.3.0: version "1.3.0" resolved "https://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz" @@ -5417,11 +5497,21 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" +flushwritable@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/flushwritable/-/flushwritable-1.0.0.tgz#3e328d8fde412ad47e738e3be750b4d290043498" + integrity sha1-PjKNj95BKtR+c44751C00pAENJg= + follow-redirects@^1.0.0: version "1.13.0" resolved "https://registry.npm.taobao.org/follow-redirects/download/follow-redirects-1.13.0.tgz?cache=0&sync_timestamp=1597057976909&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ffollow-redirects%2Fdownload%2Ffollow-redirects-1.13.0.tgz" integrity sha1-tC6Nk6Kn7qXtiGM2dtZZe8jjhNs= +follow-redirects@^1.10.0: + version "1.13.3" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.13.3.tgz#e5598ad50174c1bc4e872301e82ac2cd97f90267" + integrity sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA== + for-in@^1.0.2: version "1.0.2" resolved "https://registry.npm.taobao.org/for-in/download/for-in-1.0.2.tgz" @@ -5494,6 +5584,11 @@ from2@^2.1.0: inherits "^2.0.1" readable-stream "^2.0.0" +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz" @@ -5591,6 +5686,11 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.npm.taobao.org/get-caller-file/download/get-caller-file-2.0.5.tgz" integrity sha1-T5RBKoLbMvNuOwuXQfipf+sDH34= +get-ready@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-ready/-/get-ready-1.0.0.tgz#f91817f1e9adecfea13a562adfc8de883ab34782" + integrity sha1-+RgX8emt7P6hOlYq38jeiDqzR4I= + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.npm.taobao.org/get-stream/download/get-stream-3.0.0.tgz?cache=0&sync_timestamp=1597056502934&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-stream%2Fdownload%2Fget-stream-3.0.0.tgz" @@ -6128,6 +6228,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.13, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.5.2.tgz#af6d628dccfb463b7364d97f715e4b74b8c8c2b8" + integrity sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag== + dependencies: + safer-buffer ">= 2.1.2 < 3" + iconv-lite@^0.6.2: version "0.6.2" resolved "https://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.6.2.tgz" @@ -7082,6 +7189,11 @@ lie@~3.3.0: dependencies: immediate "~3.0.5" +limiter@^1.0.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2" + integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA== + lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.npm.taobao.org/lines-and-columns/download/lines-and-columns-1.1.6.tgz" @@ -9187,7 +9299,7 @@ read-pkg@^5.1.1: parse-json "^5.0.0" type-fest "^0.6.0" -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: +"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6: version "2.3.7" resolved "https://registry.npm.taobao.org/readable-stream/download/readable-stream-2.3.7.tgz?cache=0&sync_timestamp=1589682741447&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Freadable-stream%2Fdownload%2Freadable-stream-2.3.7.tgz" integrity sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c= @@ -9356,6 +9468,13 @@ request-progress@^2.0.1: dependencies: throttleit "^1.0.0" +request-progress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-3.0.0.tgz#4ca754081c7fec63f505e4faa825aa06cd669dbe" + integrity sha1-TKdUCBx/7GP1BeT6qCWqBs1mnb4= + dependencies: + throttleit "^1.0.0" + request@^2.81.0, request@^2.88.2: version "2.88.2" resolved "https://registry.npm.taobao.org/request/download/request-2.88.2.tgz?cache=0&sync_timestamp=1589682741998&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Frequest%2Fdownload%2Frequest-2.88.2.tgz" @@ -10127,6 +10246,19 @@ stream-shift@^1.0.0: resolved "https://registry.npm.taobao.org/stream-shift/download/stream-shift-1.0.1.tgz" integrity sha1-1wiCgVWasneEJCebCHfaPDktWj0= +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + integrity sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM= + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + +streamifier@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" + integrity sha1-l+mNj6TRBdYqJpHR3AfoINuN/E8= + streamroller@^2.2.4: version "2.2.4" resolved "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz" @@ -10389,6 +10521,19 @@ tapable@^1.0.0, tapable@^1.1.3: resolved "https://registry.npm.taobao.org/tapable/download/tapable-1.1.3.tgz?cache=0&sync_timestamp=1600381197118&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftapable%2Fdownload%2Ftapable-1.1.3.tgz" integrity sha1-ofzMBrWNth/XpF2i2kT186Pme6I= +tar-stream@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" + integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== + dependencies: + bl "^1.0.0" + buffer-alloc "^1.2.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.1" + xtend "^4.0.0" + tar@^6.0.2: version "6.0.5" resolved "https://registry.npm.taobao.org/tar/download/tar-6.0.5.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Ftar%2Fdownload%2Ftar-6.0.5.tgz" @@ -10569,6 +10714,11 @@ to-arraybuffer@^1.0.0: resolved "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz" integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= +to-buffer@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== + to-fast-properties@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz" @@ -11643,7 +11793,7 @@ yargs@^6.5.0: y18n "^3.2.1" yargs-parser "^4.2.0" -yauzl@^2.10.0: +yauzl@^2.10.0, yauzl@^2.7.0: version "2.10.0" resolved "https://registry.npm.taobao.org/yauzl/download/yauzl-2.10.0.tgz" integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk= @@ -11651,6 +11801,13 @@ yauzl@^2.10.0: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +yazl@^2.4.2: + version "2.5.1" + resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.5.1.tgz#a3d65d3dd659a5b0937850e8609f22fffa2b5c35" + integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== + dependencies: + buffer-crc32 "~0.2.3" + yorkie@^2.0.0: version "2.0.0" resolved "https://registry.npm.taobao.org/yorkie/download/yorkie-2.0.0.tgz" diff --git a/packages/mitmproxy/package.json b/packages/mitmproxy/package.json index c0609be..3212a32 100644 --- a/packages/mitmproxy/package.json +++ b/packages/mitmproxy/package.json @@ -1,6 +1,6 @@ { "name": "@docmirror/mitmproxy", - "version": "1.5.0", + "version": "1.5.1", "description": "", "main": "src/index.js", "keywords": [