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/package.json b/package.json index 11650e8..fdad2f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Frpc-Desktop", - "version": "1.0.1", + "version": "1.0.2", "main": "dist-electron/main/index.js", "description": "一个frpc桌面客户端", "author": "刘嘉伟 <8473136@qq.com>", @@ -24,7 +24,7 @@ "build:electron": "npm run build && electron-builder", "build:electron:mac": "npm run build && electron-builder --mac --x64 --arm64", "build:electron:win": "npm run build && electron-builder --win --arm64 --x64 --ia32", - "build:electron:linux": "npm run build && electron-builder --linux --arm64 --x64 --ia32", + "build:electron:linux": "npm run build && electron-builder --linux --arm64 --x64", "preview": "vite preview", "electron:generate-icons": "electron-icon-builder --input=./public/logo.png --output=build --flatten" }, 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(() => { + +
代理
+
+ + + + + +
日志配置