From 7677c3b50e42a19c493518fda6686061c6804b04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 13 Oct 2024 13:48:18 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=83=A8=E5=88=86=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/apps/fail2ban/init.go | 2 +- internal/apps/fail2ban/request.go | 6 +++--- internal/apps/fail2ban/service.go | 12 +++++------ internal/apps/pureftpd/init.go | 4 ++-- internal/apps/supervisor/init.go | 16 +++++++------- internal/apps/supervisor/request.go | 4 ++-- internal/apps/toolbox/service.go | 4 ++-- web/build/config/proxy.ts | 1 + web/src/api/apps/frp/index.ts | 8 +++---- web/src/api/apps/pureftpd/index.ts | 8 +++---- web/src/api/apps/s3fs/index.ts | 6 +++--- web/src/api/apps/supervisor/index.ts | 24 ++++++++++----------- web/src/i18n/zh_CN.json | 8 +++---- web/src/views/app/VersionModal.vue | 8 ++++++- web/src/views/apps/supervisor/IndexView.vue | 2 +- web/types/env.d.ts | 2 ++ 16 files changed, 61 insertions(+), 54 deletions(-) diff --git a/internal/apps/fail2ban/init.go b/internal/apps/fail2ban/init.go index 9f6900d9..65902c2f 100644 --- a/internal/apps/fail2ban/init.go +++ b/internal/apps/fail2ban/init.go @@ -13,7 +13,7 @@ func init() { Route: func(r chi.Router) { service := NewService() r.Get("/jails", service.List) - r.Post("/jails", service.Add) + r.Post("/jails", service.Create) r.Delete("/jails", service.Delete) r.Get("/jails/{name}", service.BanList) r.Post("/unban", service.Unban) diff --git a/internal/apps/fail2ban/request.go b/internal/apps/fail2ban/request.go index f875d2ba..5d2ff685 100644 --- a/internal/apps/fail2ban/request.go +++ b/internal/apps/fail2ban/request.go @@ -3,9 +3,9 @@ package fail2ban type Add struct { Name string `json:"name"` Type string `json:"type"` - MaxRetry string `json:"maxretry"` - FindTime string `json:"findtime"` - BanTime string `json:"bantime"` + MaxRetry int `json:"maxretry"` + FindTime int `json:"findtime"` + BanTime int `json:"bantime"` WebsiteName string `json:"website_name"` WebsiteMode string `json:"website_mode"` WebsitePath string `json:"website_path"` diff --git a/internal/apps/fail2ban/service.go b/internal/apps/fail2ban/service.go index a73e1303..d539667b 100644 --- a/internal/apps/fail2ban/service.go +++ b/internal/apps/fail2ban/service.go @@ -28,7 +28,7 @@ func NewService() *Service { } } -// List 所有 Fail2ban 规则 +// List 所有规则 func (s *Service) List(w http.ResponseWriter, r *http.Request) { raw, err := io.Read("/etc/fail2ban/jail.local") if err != nil { @@ -77,8 +77,8 @@ func (s *Service) List(w http.ResponseWriter, r *http.Request) { }) } -// Add 添加 Fail2ban 规则 -func (s *Service) Add(w http.ResponseWriter, r *http.Request) { +// Create 添加规则 +func (s *Service) Create(w http.ResponseWriter, r *http.Request) { req, err := service.Bind[Add](r) if err != nil { service.Error(w, http.StatusUnprocessableEntity, "%v", err) @@ -86,9 +86,9 @@ func (s *Service) Add(w http.ResponseWriter, r *http.Request) { } jailName := req.Name jailType := req.Type - jailMaxRetry := req.MaxRetry - jailFindTime := req.FindTime - jailBanTime := req.BanTime + jailMaxRetry := cast.ToString(req.MaxRetry) + jailFindTime := cast.ToString(req.FindTime) + jailBanTime := cast.ToString(req.BanTime) jailWebsiteName := req.WebsiteName jailWebsiteMode := req.WebsiteMode jailWebsitePath := req.WebsitePath diff --git a/internal/apps/pureftpd/init.go b/internal/apps/pureftpd/init.go index fce3886c..71397dba 100644 --- a/internal/apps/pureftpd/init.go +++ b/internal/apps/pureftpd/init.go @@ -14,8 +14,8 @@ func init() { service := NewService() r.Get("/users", service.List) r.Post("/users", service.Create) - r.Delete("/users/{name}", service.Delete) - r.Post("/users/{name}/password", service.ChangePassword) + r.Delete("/users/{username}", service.Delete) + r.Post("/users/{username}/password", service.ChangePassword) r.Get("/port", service.GetPort) r.Post("/port", service.UpdatePort) }, diff --git a/internal/apps/supervisor/init.go b/internal/apps/supervisor/init.go index 70884272..8d8464f6 100644 --- a/internal/apps/supervisor/init.go +++ b/internal/apps/supervisor/init.go @@ -18,14 +18,14 @@ func init() { r.Get("/config", service.GetConfig) r.Post("/config", service.UpdateConfig) r.Get("/processes", service.Processes) - r.Post("/processes/{name}/start", service.StartProcess) - r.Post("/processes/{name}/stop", service.StopProcess) - r.Post("/processes/{name}/restart", service.RestartProcess) - r.Get("/processes/{name}/log", service.ProcessLog) - r.Post("/processes/{name}/clearLog", service.ClearProcessLog) - r.Get("/processes/{name}", service.ProcessConfig) - r.Post("/processes/{name}", service.UpdateProcessConfig) - r.Delete("/processes/{name}", service.DeleteProcess) + r.Post("/processes/{process}/start", service.StartProcess) + r.Post("/processes/{process}/stop", service.StopProcess) + r.Post("/processes/{process}/restart", service.RestartProcess) + r.Get("/processes/{process}/log", service.ProcessLog) + r.Post("/processes/{process}/clearLog", service.ClearProcessLog) + r.Get("/processes/{process}", service.ProcessConfig) + r.Post("/processes/{process}", service.UpdateProcessConfig) + r.Delete("/processes/{process}", service.DeleteProcess) r.Post("/processes", service.CreateProcess) }, }) diff --git a/internal/apps/supervisor/request.go b/internal/apps/supervisor/request.go index 82096f3c..74499fad 100644 --- a/internal/apps/supervisor/request.go +++ b/internal/apps/supervisor/request.go @@ -5,12 +5,12 @@ type UpdateConfig struct { } type UpdateProcessConfig struct { - Process string `form:"config" json:"process"` + Process string `form:"process" json:"process"` Config string `form:"config" json:"config"` } type ProcessName struct { - Process string `form:"config" json:"process"` + Process string `form:"process" json:"process"` } type CreateProcess struct { diff --git a/internal/apps/toolbox/service.go b/internal/apps/toolbox/service.go index 96c479d5..e25a8719 100644 --- a/internal/apps/toolbox/service.go +++ b/internal/apps/toolbox/service.go @@ -89,7 +89,7 @@ func (s *Service) GetSWAP(w http.ResponseWriter, r *http.Request) { } match := regexp.MustCompile(`Swap:\s+(\d+)\s+(\d+)\s+(\d+)`).FindStringSubmatch(raw) - if len(match) > 0 { + if len(match) >= 4 { used = str.FormatBytes(cast.ToFloat64(match[2]) * 1024) free = str.FormatBytes(cast.ToFloat64(match[3]) * 1024) } @@ -119,7 +119,7 @@ func (s *Service) UpdateSWAP(w http.ResponseWriter, r *http.Request) { service.Error(w, http.StatusInternalServerError, "%v", err) return } - if _, err = shell.Execf(`sed -i "|^%s|d" /etc/fstab`, filepath.Join(app.Root, "swap")); err != nil { + if _, err = shell.Execf(`sed -i "\|^%s|d" /etc/fstab`, filepath.Join(app.Root, "swap")); err != nil { service.Error(w, http.StatusInternalServerError, "%v", err) return } diff --git a/web/build/config/proxy.ts b/web/build/config/proxy.ts index 3c89f9c0..a1ec81d8 100644 --- a/web/build/config/proxy.ts +++ b/web/build/config/proxy.ts @@ -8,6 +8,7 @@ export function createViteProxy(isUseProxy = true, proxyType: ProxyType) { const proxy: Record = { [proxyConfig.prefix]: { target: proxyConfig.target, + secure: proxyConfig.secure, changeOrigin: true, rewrite: (path: string) => path.replace(new RegExp(`^${proxyConfig.prefix}`), '') } diff --git a/web/src/api/apps/frp/index.ts b/web/src/api/apps/frp/index.ts index f08cdb70..fd148fe1 100644 --- a/web/src/api/apps/frp/index.ts +++ b/web/src/api/apps/frp/index.ts @@ -4,9 +4,9 @@ import { request } from '@/utils' export default { // 获取配置 - config: (service: string): Promise> => - request.get('/apps/frp/config', { params: { service } }), + config: (name: string): Promise> => + request.get('/apps/frp/config', { params: { name } }), // 保存配置 - saveConfig: (service: string, config: string): Promise> => - request.post('/apps/frp/config', { service, config }) + saveConfig: (name: string, config: string): Promise> => + request.post('/apps/frp/config', { name, config }) } diff --git a/web/src/api/apps/pureftpd/index.ts b/web/src/api/apps/pureftpd/index.ts index 6e464feb..84163bb8 100644 --- a/web/src/api/apps/pureftpd/index.ts +++ b/web/src/api/apps/pureftpd/index.ts @@ -5,16 +5,16 @@ import { request } from '@/utils' export default { // 列表 list: (page: number, limit: number): Promise> => - request.get('/apps/pureftpd/list', { params: { page, limit } }), + request.get('/apps/pureftpd/users', { params: { page, limit } }), // 添加 add: (username: string, password: string, path: string): Promise> => - request.post('/apps/pureftpd/add', { username, password, path }), + request.post('/apps/pureftpd/users', { username, password, path }), // 删除 delete: (username: string): Promise> => - request.delete('/apps/pureftpd/delete', { params: { username } }), + request.delete(`/apps/pureftpd/users/${username}`), // 修改密码 changePassword: (username: string, password: string): Promise> => - request.post('/apps/pureftpd/changePassword', { username, password }), + request.post(`/apps/pureftpd/users/${username}/password`, { password }), // 获取端口 port: (): Promise> => request.get('/apps/pureftpd/port'), // 修改端口 diff --git a/web/src/api/apps/s3fs/index.ts b/web/src/api/apps/s3fs/index.ts index fa5124c0..f6cf192d 100644 --- a/web/src/api/apps/s3fs/index.ts +++ b/web/src/api/apps/s3fs/index.ts @@ -5,9 +5,9 @@ import { request } from '@/utils' export default { // 列表 list: (page: number, limit: number): Promise> => - request.get('/apps/s3fs/list', { params: { page, limit } }), + request.get('/apps/s3fs/mounts', { params: { page, limit } }), // 添加 - add: (data: any): Promise> => request.post('/apps/s3fs/add', data), + add: (data: any): Promise> => request.post('/apps/s3fs/mounts', data), // 删除 - delete: (id: number): Promise> => request.post('/apps/s3fs/delete', { id }) + delete: (id: number): Promise> => request.post('/apps/s3fs/mounts', { id }) } diff --git a/web/src/api/apps/supervisor/index.ts b/web/src/api/apps/supervisor/index.ts index 0dddd6b8..78fb1992 100644 --- a/web/src/api/apps/supervisor/index.ts +++ b/web/src/api/apps/supervisor/index.ts @@ -5,8 +5,6 @@ import { request } from '@/utils' export default { // 服务名称 service: (): Promise> => request.get('/apps/supervisor/service'), - // 负载状态 - load: (): Promise> => request.get('/apps/supervisor/load'), // 获取错误日志 log: (): Promise> => request.get('/apps/supervisor/log'), // 清空错误日志 @@ -21,29 +19,29 @@ export default { request.get('/apps/supervisor/processes', { params: { page, limit } }), // 进程启动 startProcess: (process: string): Promise> => - request.post('/apps/supervisor/startProcess', { process }), + request.post(`/apps/supervisor/processes/${process}/start`, {}), // 进程停止 stopProcess: (process: string): Promise> => - request.post('/apps/supervisor/stopProcess', { process }), + request.post(`/apps/supervisor/processes/${process}/stop`, {}), // 进程重启 restartProcess: (process: string): Promise> => - request.post('/apps/supervisor/restartProcess', { process }), + request.post(`/apps/supervisor/processes/${process}/restart`, {}), // 进程日志 processLog: (process: string): Promise> => - request.get('/apps/supervisor/processLog', { params: { process } }), + request.get(`/apps/supervisor/processes/${process}/log`), // 清空进程日志 clearProcessLog: (process: string): Promise> => - request.post('/apps/supervisor/clearProcessLog', { process }), + request.post(`/apps/supervisor/processes/${process}/clearLog`, {}), // 进程配置 processConfig: (process: string): Promise> => - request.get('/apps/supervisor/processConfig', { params: { process } }), + request.get(`/apps/supervisor/processes/${process}`), // 保存进程配置 saveProcessConfig: (process: string, config: string): Promise> => - request.post('/apps/supervisor/processConfig', { process, config }), - // 添加进程 - addProcess: (process: any): Promise> => - request.post('/apps/supervisor/addProcess', process), + request.post(`/apps/supervisor/processes/${process}`, { config }), + // 创建进程 + createProcess: (process: any): Promise> => + request.post('/apps/supervisor/processes', process), // 删除进程 deleteProcess: (process: string): Promise> => - request.post('/apps/supervisor/deleteProcess', { process }) + request.delete(`/apps/supervisor/processes/${process}`) } diff --git a/web/src/i18n/zh_CN.json b/web/src/i18n/zh_CN.json index 3be11426..76a46dfa 100644 --- a/web/src/i18n/zh_CN.json +++ b/web/src/i18n/zh_CN.json @@ -111,14 +111,14 @@ "title": "资源监控" }, "appIndex": { - "title": "应用市场", + "title": "应用中心", "alerts": { "cache": "缓存更新成功", "warning": "升级应用前强烈建议先备份/快照,以免出现问题时无法回滚!", "setup": "设置成功", "install": "任务已提交,请稍后查看任务进度", - "update": "任务已提交,请前往任务中心查看任务进度", - "uninstall": "任务已提交,请前往任务中心查看任务进度" + "update": "任务已提交,请前往后台任务查看任务进度", + "uninstall": "任务已提交,请前往后台任务查看任务进度" }, "buttons": { "updateCache": "更新缓存", @@ -286,7 +286,7 @@ } }, "taskIndex": { - "title": "任务中心", + "title": "后台任务", "alerts": { "delete": "任务已删除" }, diff --git a/web/src/views/app/VersionModal.vue b/web/src/views/app/VersionModal.vue index 3558b654..b0c5944a 100644 --- a/web/src/views/app/VersionModal.vue +++ b/web/src/views/app/VersionModal.vue @@ -82,7 +82,13 @@ const handleClose = () => { - + 提交 diff --git a/web/src/views/apps/supervisor/IndexView.vue b/web/src/views/apps/supervisor/IndexView.vue index 29bc9605..09db0e74 100644 --- a/web/src/views/apps/supervisor/IndexView.vue +++ b/web/src/views/apps/supervisor/IndexView.vue @@ -291,7 +291,7 @@ const handleReload = async () => { } const handleAddProcess = async () => { - await supervisor.addProcess(addProcessModel.value) + await supervisor.createProcess(addProcessModel.value) window.$message.success('添加成功') addProcessModal.value = false onPageChange(1) diff --git a/web/types/env.d.ts b/web/types/env.d.ts index 4daffddf..bf3d794e 100644 --- a/web/types/env.d.ts +++ b/web/types/env.d.ts @@ -15,4 +15,6 @@ interface ProxyConfig { prefix: string /** 代理目标地址,后端真实接口地址 */ target: string + /** 是否校验https证书 */ + secure: boolean }