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 {