From 7cf5c6119e44e19333e008ac28aad90843ba7032 Mon Sep 17 00:00:00 2001 From: xiaojunnuo Date: Thu, 25 Mar 2021 01:00:45 +0800 Subject: [PATCH] refactor: speed test --- packages/core/src/config.js | 10 +- packages/core/src/config/index.js | 14 +-- .../core/src/modules/plugin/git/config.js | 2 +- packages/core/src/modules/server/index.js | 14 ++- packages/gui/src/bridge/api/backend.js | 3 + packages/gui/src/view/App.vue | 11 +- packages/gui/src/view/api.js | 3 + packages/gui/src/view/pages/index.vue | 6 +- packages/gui/src/view/pages/plugin/git.vue | 2 +- packages/gui/src/view/pages/server.vue | 115 +++++++++++++++++- packages/gui/src/view/router/menu.js | 2 +- packages/mitmproxy/src/index.js | 7 +- .../mitmproxy/src/lib/speed/SpeedTester.js | 10 +- packages/mitmproxy/src/lib/speed/config.js | 3 +- packages/mitmproxy/src/lib/speed/index.js | 52 ++++++-- 15 files changed, 221 insertions(+), 33 deletions(-) diff --git a/packages/core/src/config.js b/packages/core/src/config.js index dc98e28d..08685b51 100644 --- a/packages/core/src/config.js +++ b/packages/core/src/config.js @@ -107,9 +107,13 @@ const configApi = { } const merged = lodash.cloneDeep(newConfig) const clone = lodash.cloneDeep(defConfig) - lodash.merge(merged, clone) - lodash.merge(merged, newConfig) - + function customizer (objValue, srcValue) { + if (lodash.isArray(objValue)) { + return srcValue + } + } + lodash.mergeWith(merged, clone, customizer) + lodash.mergeWith(merged, newConfig, customizer) _deleteDisabledItem(merged) configTarget = merged return configTarget diff --git a/packages/core/src/config/index.js b/packages/core/src/config/index.js index 36bb2889..3332cc28 100644 --- a/packages/core/src/config/index.js +++ b/packages/core/src/config/index.js @@ -65,13 +65,13 @@ module.exports = { 'raw.githubusercontent.com': { '.*': { proxy: 'raw.fastgit.org' } }, - 'github.githubassets.com': { - '.*': { - proxy: 'assets-gh.docmirror.top/_proxy', - test: 'https://github.githubassets.com/favicons/favicon.svg', - desc: '静态资源加速' - } - }, + // 'github.githubassets.com': { + // '.*': { + // proxy: 'assets-gh.docmirror.top/_proxy', + // test: 'https://github.githubassets.com/favicons/favicon.svg', + // desc: '静态资源加速' + // } + // }, 'customer-stories-feed.github.com': { '.*': { proxy: 'customer-stories-feed.fastgit.org' } }, diff --git a/packages/core/src/modules/plugin/git/config.js b/packages/core/src/modules/plugin/git/config.js index 0340c574..04e0a9d0 100644 --- a/packages/core/src/modules/plugin/git/config.js +++ b/packages/core/src/modules/plugin/git/config.js @@ -1,5 +1,5 @@ module.exports = { - name: 'Git代理', + name: 'Git.exe代理', enabled: false, setting: { sslVerify: true // 是否关闭sslVerify diff --git a/packages/core/src/modules/server/index.js b/packages/core/src/modules/server/index.js index dd67ac31..1529555d 100644 --- a/packages/core/src/modules/server/index.js +++ b/packages/core/src/modules/server/index.js @@ -75,7 +75,7 @@ const serverApi = { } } serverProcess.on('message', function (msg) { - log.info('收到子进程消息', msg) + log.info('收到子进程消息', msg.type, msg.event.key) if (msg.type === 'status') { fireStatus(msg.event) } else if (msg.type === 'error') { @@ -83,6 +83,8 @@ const serverApi = { fireStatus(false) // 启动失败 } event.fire('error', { key: 'server', value: 'EADDRINUSE', error: msg.event }) + } else if (msg.type === 'speed') { + event.fire('speed', msg.event) } }) return { port: runningConfig.port } @@ -128,6 +130,16 @@ const serverApi = { }, getServer () { return server + }, + getSpeedTestList () { + if (server) { + server.process.send({ type: 'speed', event: { key: 'getList' } }) + } + }, + reSpeedTest () { + if (server) { + server.process.send({ type: 'speed', event: { key: 'reTest' } }) + } } } module.exports = serverApi diff --git a/packages/gui/src/bridge/api/backend.js b/packages/gui/src/bridge/api/backend.js index b26d1601..691a4e57 100644 --- a/packages/gui/src/bridge/api/backend.js +++ b/packages/gui/src/bridge/api/backend.js @@ -144,6 +144,9 @@ export default { log.error('bridge on error', event) win.webContents.send('error.core', event) }) + DevSidecar.api.event.register('speed', (event) => { + win.webContents.send('speed', event) + }) // 合并用户配置 DevSidecar.api.config.reload() diff --git a/packages/gui/src/view/App.vue b/packages/gui/src/view/App.vue index de0cf6f4..560de3f8 100644 --- a/packages/gui/src/view/App.vue +++ b/packages/gui/src/view/App.vue @@ -69,7 +69,7 @@ export default { }, menuClick (item) { console.log('menu click', item) - this.$router.push(item.path) + this.$router.replace(item.path) } } } @@ -79,6 +79,15 @@ export default { body{ height: 100%; } +.mt10{ + margin-top:10px; +} +.mt5{ + margin-top:5px; +} +.mt20{ + margin-top:20px; +} .ds_layout { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; diff --git a/packages/gui/src/view/api.js b/packages/gui/src/view/api.js index 204185cf..07dd343a 100644 --- a/packages/gui/src/view/api.js +++ b/packages/gui/src/view/api.js @@ -21,6 +21,9 @@ const apiObj = { on (channel, callback) { ipcRenderer.on(channel, callback) }, + removeAllListeners (channel) { + ipcRenderer.removeAllListeners(channel) + }, invoke, send, openExternal (href) { diff --git a/packages/gui/src/view/pages/index.vue b/packages/gui/src/view/pages/index.vue index 0869f9b3..fcd3c9ff 100644 --- a/packages/gui/src/view/pages/index.vue +++ b/packages/gui/src/view/pages/index.vue @@ -49,14 +49,12 @@
如果它解决了你的问题,请不要吝啬你的star哟!
star GitHub stars - - +
* 随着越来越多用户来使用,我的1m带宽的小服务器已经满负荷运转了。
-
* 也请大家不要看油管视频,把带宽留给想要访问github的同学,致敬爱学习的你。
-
* 如果您觉得这个软件帮助到你,而你也想帮助更多的人,可以捐赠我, 我将会用捐赠的钱来购买带宽,感谢支持。
+
* 请大家不要看油管视频,把带宽留给想要访问github的同学,致敬爱学习的你。
diff --git a/packages/gui/src/view/pages/plugin/git.vue b/packages/gui/src/view/pages/plugin/git.vue index 8e28b574..fff14da3 100644 --- a/packages/gui/src/view/pages/plugin/git.vue +++ b/packages/gui/src/view/pages/plugin/git.vue @@ -1,7 +1,7 @@