From 3f5049ad91f209299ed06179683c86b3e8b53323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E8=89=AF?= <841369634@qq.com> Date: Wed, 19 Feb 2025 00:39:07 +0800 Subject: [PATCH] =?UTF-8?q?feature:=20=E5=9F=9F=E5=90=8D=E7=99=BD=E5=90=8D?= =?UTF-8?q?=E5=8D=95=EF=BC=8C=E6=94=AF=E6=8C=81=E5=8F=8D=E5=90=91=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=8C=E7=94=A8=E4=BA=8E=E5=A4=A7=E8=8C=83=E5=9B=B4?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E4=B8=8D=E4=BB=A3=E7=90=86=EF=BC=8C=E4=B8=AA?= =?UTF-8?q?=E5=88=AB=E5=9F=9F=E5=90=8D=E8=AE=BE=E7=BD=AE=E9=9C=80=E8=A6=81?= =?UTF-8?q?=E4=BB=A3=E7=90=86=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gui/src/view/pages/plugin/overwall.vue | 6 +-- packages/gui/src/view/pages/server.vue | 41 +++++++++++++------ packages/mitmproxy/src/options.js | 2 +- 3 files changed, 33 insertions(+), 16 deletions(-) diff --git a/packages/gui/src/view/pages/plugin/overwall.vue b/packages/gui/src/view/pages/plugin/overwall.vue index 283d5aef..519fdb07 100644 --- a/packages/gui/src/view/pages/plugin/overwall.vue +++ b/packages/gui/src/view/pages/plugin/overwall.vue @@ -54,12 +54,12 @@ export default { }) } }, - deleteTarget (item, index) { - this.targets.splice(index, 1) - }, addTarget () { this.targets.unshift({ key: '', value: 'true' }) }, + deleteTarget (item, index) { + this.targets.splice(index, 1) + }, saveTarget () { const map = {} for (const item of this.targets) { diff --git a/packages/gui/src/view/pages/server.vue b/packages/gui/src/view/pages/server.vue index 25e1a437..a627fd3a 100644 --- a/packages/gui/src/view/pages/server.vue +++ b/packages/gui/src/view/pages/server.vue @@ -15,6 +15,16 @@ export default { dnsMappings: [], speedTestList: [], whiteList: [], + whiteListOptions: [ + { + label: '不代理', + value: 'true', + }, + { + label: '代理', + value: 'false', + }, + ], } }, computed: { @@ -102,26 +112,26 @@ export default { for (const key in this.config.server.whiteList) { const value = this.config.server.whiteList[key] this.whiteList.push({ - key, - value, + key: key || '', + value: value === true ? 'true' : 'false', }) } }, + addWhiteList () { + this.whiteList.unshift({ key: '', value: 'true' }) + }, + deleteWhiteList (item, index) { + this.whiteList.splice(index, 1) + }, submitWhiteList () { const whiteList = {} for (const item of this.whiteList) { if (item.key) { - whiteList[item.key] = item.value + whiteList[item.key] = item.value === 'true' } } this.config.server.whiteList = whiteList }, - deleteWhiteList (item, index) { - this.whiteList.splice(index, 1) - }, - addWhiteList () { - this.whiteList.unshift({ key: '', value: true }) - }, getSpeedTestConfig () { return this.config.server.dns.speedTest }, @@ -289,11 +299,18 @@ export default { - - + + + + + + + {{ item2.label }} + + - + diff --git a/packages/mitmproxy/src/options.js b/packages/mitmproxy/src/options.js index e3b3b89f..6504dee6 100644 --- a/packages/mitmproxy/src/options.js +++ b/packages/mitmproxy/src/options.js @@ -108,7 +108,7 @@ module.exports = (serverConfig) => { const hostname = req.url.split(':')[0] // 配置了白名单的域名,将跳过代理 - const inWhiteList = matchUtil.matchHostname(whiteList, hostname, 'in whiteList') != null + const inWhiteList = !!matchUtil.matchHostname(whiteList, hostname, 'in whiteList') if (inWhiteList) { log.info(`为白名单域名,不拦截: ${hostname}, headers:`, jsonApi.stringify2(req.headers)) return false // 不拦截