From 741acee393f640cf25caf7a157621b26aa2994b3 Mon Sep 17 00:00:00 2001 From: ssongliu <73214554+ssongliu@users.noreply.github.com> Date: Wed, 25 Feb 2026 13:51:44 +0800 Subject: [PATCH] fix: Modify command invocation method (#11944) --- agent/app/service/container.go | 2 +- agent/app/service/website.go | 2 +- agent/utils/toolbox/fail2ban.go | 6 +++--- frontend/src/lang/modules/en.ts | 2 +- frontend/src/lang/modules/es-es.ts | 2 +- frontend/src/lang/modules/ja.ts | 2 +- frontend/src/lang/modules/ko.ts | 2 +- frontend/src/lang/modules/ms.ts | 2 +- frontend/src/lang/modules/pt-br.ts | 2 +- frontend/src/lang/modules/ru.ts | 2 +- frontend/src/lang/modules/tr.ts | 2 +- frontend/src/lang/modules/zh-Hant.ts | 2 +- frontend/src/lang/modules/zh.ts | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/agent/app/service/container.go b/agent/app/service/container.go index b381a02ee..d7f4789ca 100644 --- a/agent/app/service/container.go +++ b/agent/app/service/container.go @@ -1181,7 +1181,7 @@ func (u *ContainerService) ContainerStats(id string) (*dto.ContainerStats, error func (u *ContainerService) LoadUsers(req dto.OperationWithName) []string { var users []string - std, err := cmd.RunDefaultWithStdoutBashCf("docker exec %s cat /etc/passwd", req.Name) + std, err := cmd.NewCommandMgr(cmd.WithTimeout(20*time.Second)).RunWithStdout("docker", "exec", req.Name, "cat", "/etc/passwd") if err != nil { return users } diff --git a/agent/app/service/website.go b/agent/app/service/website.go index 3c63c0a67..25a514a6a 100644 --- a/agent/app/service/website.go +++ b/agent/app/service/website.go @@ -1325,7 +1325,7 @@ func (w WebsiteService) UpdateSitePermission(req request.WebsiteUpdateDirPermiss } absoluteIndexPath := GetSitePath(website, SiteIndexDir) cmdMgr := cmd.NewCommandMgr(cmd.WithTimeout(10 * time.Second)) - if err := cmdMgr.RunBashCf("%s chown -R %s:%s %s", cmd.SudoHandleCmd(), req.User, req.Group, absoluteIndexPath); err != nil { + if err := cmdMgr.Run("chown", "-R", fmt.Sprintf("%s:%s", req.User, req.Group), absoluteIndexPath); err != nil { return err } website.User = req.User diff --git a/agent/utils/toolbox/fail2ban.go b/agent/utils/toolbox/fail2ban.go index 8ac9f5e3a..afb859ef7 100644 --- a/agent/utils/toolbox/fail2ban.go +++ b/agent/utils/toolbox/fail2ban.go @@ -74,15 +74,15 @@ func (f *Fail2ban) Operate(operate string) error { func (f *Fail2ban) ReBanIPs(ips []string) error { ipItems, _ := f.ListBanned() - stdout, err := cmd.RunDefaultWithStdoutBashCfAndTimeOut("fail2ban-client unban --all", 10*time.Minute) + stdout, err := cmd.NewCommandMgr(cmd.WithTimeout(10*time.Minute)).RunWithStdout("fail2ban-client", "unban", "--all") if err != nil { - stdout1, err := cmd.RunDefaultWithStdoutBashCfAndTimeOut("fail2ban-client set sshd banip %s", 10*time.Minute, strings.Join(ipItems, " ")) + stdout1, err := cmd.NewCommandMgr(cmd.WithTimeout(10*time.Minute)).RunWithStdout("fail2ban-client", "set", "sshd", "banip", strings.Join(ipItems, " ")) if err != nil { global.LOG.Errorf("rebanip after fail2ban-client unban --all failed, err: %s", stdout1) } return fmt.Errorf("fail2ban-client unban --all failed, err: %s", stdout) } - stdout, err = cmd.RunDefaultWithStdoutBashCfAndTimeOut("fail2ban-client set sshd banip %s", 10*time.Minute, strings.Join(ips, " ")) + stdout, err = cmd.NewCommandMgr(cmd.WithTimeout(10*time.Minute)).RunWithStdout("fail2ban-client", "set", "sshd", "banip", strings.Join(ips, " ")) if err != nil { return fmt.Errorf("handle `fail2ban-client set sshd banip %s` failed, err: %s", strings.Join(ips, " "), stdout) } diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 15f996fe6..66eab3046 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -2400,7 +2400,7 @@ const message = { takeDown: 'TakeDown', allReadyInstalled: 'Installed', installHelper: 'If you have image pull issues, configure image acceleration.', - sortMode: 'Sort', + sortMode: 'Sort', installWarn: `The external access isn't checked, and it will make the application unable to access through external network. Do you want to continue?`, showIgnore: 'View ignored applications', cancelIgnore: 'Cancel ignore', diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index 5342bfc13..fcab71e8b 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -2414,7 +2414,7 @@ const message = { takeDown: 'Desinstalar', allReadyInstalled: 'Instaladas', installHelper: 'Si tiene problemas con el pull de imagen, configure aceleración.', - sortMode: 'Ordenar', + sortMode: 'Ordenar', installWarn: 'Si no habilita el acceso externo, la app no será accesible externamente. ¿Desea continuar?', showIgnore: 'Ver aplicaciones ignoradas', cancelIgnore: 'Cancelar ignoradas', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 842c0e6e5..a0cfe0d48 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -2329,7 +2329,7 @@ const message = { takeDown: '降ろす', allReadyInstalled: 'インストール', installHelper: '画像プルの問題がある場合は、画像アクセラレーションを構成します。', - sortMode: '並べ替え', + sortMode: '並べ替え', installWarn: `外部アクセスは有効になっていないため、アプリケーションが外部ネットワークを介してアクセスできるようになります。続けたいですか?`, showIgnore: '無視されたアプリケーションを表示します', cancelIgnore: 'キャンセルは無視します', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index a4a445321..63f7b143c 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -2293,7 +2293,7 @@ const message = { takeDown: '내리기', allReadyInstalled: '설치됨', installHelper: '이미지 풀 문제 시 이미지 가속을 구성하세요.', - sortMode: '정렬', + sortMode: '정렬', installWarn: '외부 접근이 활성화되지 않아 애플리케이션이 외부 네트워크에서 접근할 수 없습니다. 계속 하시겠습니까?', showIgnore: '무시된 애플리케이션 보기', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 60e2e14d7..9dcd65a81 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -2389,7 +2389,7 @@ const message = { takeDown: 'Henti Operasi', allReadyInstalled: 'Telah Dipasang', installHelper: 'Jika terdapat isu tarikan imej, konfigurasikan pecutan imej.', - sortMode: 'Susun', + sortMode: 'Susun', installWarn: 'Akses luaran tidak diaktifkan, yang menghalang aplikasi daripada diakses melalui rangkaian luaran. Adakah anda mahu meneruskan?', showIgnore: 'Lihat aplikasi yang diabaikan', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 98a52763e..7411759df 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -2383,7 +2383,7 @@ const message = { takeDown: 'Retirar', allReadyInstalled: 'Instalado', installHelper: 'Se houver problemas ao puxar a imagem, configure a aceleração da imagem.', - sortMode: 'Ordenar', + sortMode: 'Ordenar', upgradeHelper: 'Coloque aplicativos anormais de volta ao estado normal antes de atualizar. Se a atualização falhar, vá para "Logs > Logs do Sistema" para verificar a razão da falha.', installWarn: `O acesso externo não foi habilitado, o que impede que o aplicativo seja acessado via redes externas. Deseja continuar?`, diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index 73b1357c9..f0ff2fda3 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -2381,7 +2381,7 @@ const message = { takeDown: 'Отключить', allReadyInstalled: 'Установлено', installHelper: 'Если есть проблемы с загрузкой образа, настройте ускорение образов.', - sortMode: 'Сортировка', + sortMode: 'Сортировка', installWarn: 'Внешний доступ не включен, что делает приложение недоступным через внешние сети. Хотите продолжить?', showIgnore: 'Просмотреть игнорируемые приложения', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 152f9e6f9..1d353773d 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -2426,7 +2426,7 @@ const message = { takeDown: 'Kaldır', allReadyInstalled: 'Kurulu', installHelper: 'Görüntü çekme sorunlarınız varsa, görüntü hızlandırmasını yapılandırın.', - sortMode: 'Sırala', + sortMode: 'Sırala', installWarn: 'Dış erişim işaretlenmedi, bu uygulama dış ağ üzerinden erişilemez hale getirecek. Devam etmek istiyor musunuz?', showIgnore: 'Yoksayılan uygulamaları görüntüle', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 19b71024f..11f3e5943 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -2235,7 +2235,7 @@ const message = { takeDown: '已廢棄', allReadyInstalled: '已安裝', installHelper: '配置鏡像加速可以解決鏡像拉取失敗的問題', - sortMode: '排序', + sortMode: '排序', installWarn: '目前未勾選埠外部訪問,將無法透過外網IP:埠訪問,是否繼續? ', showIgnore: '查看忽略應用', cancelIgnore: '取消忽略', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index bda7aae5e..a13dee2e0 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -2232,7 +2232,7 @@ const message = { takeDown: '已废弃', allReadyInstalled: '已安装', installHelper: '配置镜像加速可以解决镜像拉取失败的问题', - sortMode: '排序', + sortMode: '排序', installWarn: '当前未勾选端口外部访问,将无法通过外网IP:端口访问,是否继续?', showIgnore: '查看忽略应用', cancelIgnore: '取消忽略',