diff --git a/packages/gui/src/view/pages/server.vue b/packages/gui/src/view/pages/server.vue index 0206304..f887716 100644 --- a/packages/gui/src/view/pages/server.vue +++ b/packages/gui/src/view/pages/server.vue @@ -6,7 +6,7 @@ -
+
- + - + 随应用启动 @@ -26,9 +26,9 @@ 当前未启动 - 日志 + 日志 - +
修改后需要重启应用
@@ -39,28 +39,50 @@
开启此项之后,被代理应用关闭SSL校验也问题不大了
- - + + - + 启用拦截 - + 允许插入并运行脚本
- - + + - + + + +
这里配置哪些域名不需要通过代理
+
+ + + +
+ + + + + + + + + +
+
@@ -68,36 +90,40 @@
这里配置哪些域名需要通过国外DNS服务器获取IP进行访问
- +
- + - {{item.value}} + + {{ item.value }} + - - + +
- +
- + 启用 - ms + + ms
使用以下dns获取ip进行测速
@@ -108,39 +134,43 @@ /> - + 以下域名在启动后立即进行测速,其他域名在第一次访问时才测速 - + - + - + - + - + - 立即重新测速 - 刷新 + 立即重新测速 + 刷新 - + - - + + - {{element.host}} {{element.time}}{{element.time?'ms':''}} + {{ element.host }} + {{ element.time }}{{ element.time ? 'ms' : '' }} + @@ -151,7 +181,7 @@
@@ -163,6 +193,7 @@ import vueJsonEditor from 'vue-json-editor' import Plugin from '../mixins/plugin' import _ from 'lodash' + export default { name: 'Server', components: { @@ -175,7 +206,8 @@ export default { labelCol: { span: 4 }, wrapperCol: { span: 20 }, dnsMappings: [], - speedTestList: [] + speedTestList: [], + whiteList: [] } }, created () { @@ -215,6 +247,23 @@ export default { onJsonChange (json) { }, ready () { + this.initDnsMapping() + this.initWhiteList() + if (this.config.server.dns.speedTest.dnsProviders) { + this.speedDns = this.config.server.dns.speedTest.dnsProviders + } + }, + async applyBefore () { + this.submitDnsMapping() + this.submitWhiteList() + }, + async applyAfter () { + if (this.status.server.enabled) { + return this.$api.server.restart() + } + }, + // dnsMapping + initDnsMapping () { this.dnsMappings = [] for (const key in this.config.server.dns.mapping) { const value = this.config.server.dns.mapping[key] @@ -222,11 +271,8 @@ export default { key, value }) } - if (this.config.server.dns.speedTest.dnsProviders) { - this.speedDns = this.config.server.dns.speedTest.dnsProviders - } }, - async applyBefore () { + submitDnsMapping () { const dnsMapping = {} for (const item of this.dnsMappings) { if (item.key) { @@ -235,11 +281,6 @@ export default { } this.config.server.dns.mapping = dnsMapping }, - async applyAfter () { - if (this.status.server.enabled) { - return this.$api.server.restart() - } - }, deleteDnsMapping (item, index) { this.dnsMappings.splice(index, 1) }, @@ -249,6 +290,36 @@ export default { addDnsMapping () { this.dnsMappings.unshift({ key: '', value: 'usa' }) }, + + // whiteList + initWhiteList () { + this.whiteList = [] + for (const key in this.config.server.whiteList) { + const value = this.config.server.whiteList[key] + this.whiteList.push({ + key, value + }) + } + }, + submitWhiteList () { + const whiteList = {} + for (const item of this.whiteList) { + if (item.key) { + whiteList[item.key] = item.value + } + } + this.config.server.whiteList = whiteList + }, + deleteWhiteList (item, index) { + this.whiteList.splice(index, 1) + }, + restoreDefWhiteList (item, index) { + + }, + addWhiteList () { + this.whiteList.unshift({ key: '', value: true }) + }, + async openLog () { const dir = await this.$api.info.getConfigDir() this.$api.ipc.openPath(dir + '/logs/') @@ -295,26 +366,29 @@ export default {