diff --git a/electron/api/frpc.ts b/electron/api/frpc.ts index 09cbbda..a3fe7cb 100644 --- a/electron/api/frpc.ts +++ b/electron/api/frpc.ts @@ -78,6 +78,9 @@ transport.tls.keyFile = "${config.tlsConfigKeyFile}" transport.tls.trustedCaFile = "${config.tlsConfigTrustedCaFile}" transport.tls.serverName = "${config.tlsConfigServerName}" ` : ""} +${config.proxyConfigEnable ? ` +transport.proxyURL = "${config.proxyConfigProxyUrl}" +` : ""} ${proxyToml.join("")} @@ -161,7 +164,7 @@ export const reloadFrpcProcess = () => { /** * 停止frpc子进程 */ -export const stopFrpcProcess = (callback?:() => void) => { +export const stopFrpcProcess = (callback?: () => void) => { if (frpcProcess) { treeKill(frpcProcess.pid, (error: Error) => { if (error) { diff --git a/electron/storage/config.ts b/electron/storage/config.ts index 9e486d0..de91af5 100644 --- a/electron/storage/config.ts +++ b/electron/storage/config.ts @@ -20,6 +20,8 @@ export type Config = { tlsConfigKeyFile: string; tlsConfigTrustedCaFile: string; tlsConfigServerName: string; + proxyConfigEnable: boolean; + proxyConfigProxyUrl: string; }; /** diff --git a/src/views/config/index.vue b/src/views/config/index.vue index 10efac1..531b89d 100644 --- a/src/views/config/index.vue +++ b/src/views/config/index.vue @@ -24,7 +24,8 @@ type Config = { tlsConfigKeyFile: string; tlsConfigTrustedCaFile: string; tlsConfigServerName: string; - + proxyConfigEnable: boolean; + proxyConfigProxyUrl: string; }; type Version = { @@ -45,6 +46,8 @@ const formData = ref({ tlsConfigKeyFile: "", tlsConfigTrustedCaFile: "", tlsConfigServerName: "", + proxyConfigEnable: false, + proxyConfigProxyUrl: "" }); const loading = ref(1); @@ -70,7 +73,16 @@ const rules = reactive({ tlsConfigCertFile: [{required: true, message: "请选择TLS证书文件", trigger: "change"}], tlsConfigKeyFile: [{required: true, message: "请选择TLS密钥文件", trigger: "change"}], tlsConfigTrustedCaFile: [{required: true, message: "请选择CA证书文件", trigger: "change"}], - tlsConfigServerName: [{required: true, message: "请输入TLS Server名称", trigger: "blur"}] + tlsConfigServerName: [{required: true, message: "请输入TLS Server名称", trigger: "blur"}], + proxyConfigEnable: [{required: true, message: "请选择代理状态", trigger: "change"}], + proxyConfigProxyUrl: [ + {required: true, message: "请输入代理地址", trigger: "change"}, + { + pattern: /^https?\:\/\/(\w+:\w+@)?([a-zA-Z0-9.-]+)(:\d+)?$/, + message: "请输入正确的代理地址", + trigger: "blur" + } + ], }); const versions = ref>([]); @@ -177,21 +189,21 @@ onUnmounted(() => { 手动刷新 - - - - + + + + 点击这里去下载 - - - - - - - + + + + + + + @@ -292,6 +304,25 @@ onUnmounted(() => { + +
代理
+
+ + + + + +
日志配置