巴山夜语
|
6b379389d3
|
WIP: refactor(service): Refactor OpenRC service manager (#8416)
SonarCloud Scan / SonarCloud (push) Has been cancelled
* refactor(service): 重构 OpenRC 服务管理器
- 更新 IsEnabled 和 IsActive 检查逻辑,使用更可靠的命令
- 修复 ServiceExists 检查,直接使用文件路径判断
- 优化 FindServices 函数,扫描 /etc/init.d 目录
- 调整 BuildCommand 函数,支持 OpenRC 特定操作
- 修改 ParseStatus 函数,使用更新后的正则表达式
* feat(backend): 优化 Fail2ban 初始化配置以支持 Alpine 系统
- 增加对 Alpine 系统的特殊配置支持
- 改进防火墙类型检测逻辑,支持多种防火墙服务
- 增加 SSH 端口和认证日志路径的自动检测
- 优化配置文件模板,提高兼容性和安全性
* refactor(backend): 重构 SSH 日志解析功能
- 改进了对不同日志格式的支持,包括 secure, auth 和 messages 文件
- 优化了日志解析逻辑,提高了代码的可读性和可维护性
- 增加了对 RFC3339 时间格式的支持
- 改善了对失败登录尝试的解析,包括无效用户和连接关闭的情况
- 重构了日期解析和 IP 地址验证的逻辑
* refactor(upgrade): 优化升级服务中的初始化脚本选择逻辑
- 新增 selectInitScript 函数,根据系统初始化管理器类型选择合适的初始化脚本
- 支持 systemd、openrc 和 sysvinit 三种初始化管理器
- 对于 sysvinit,增加对 /etc/rc.common 文件存在性的判断,以区分不同的初始化脚本
- 默认情况下使用当前服务名称作为初始化脚本名称
* fix(upgrade): 修复升级时初始化脚本更新问题
- 修改了 criticalUpdates 数组中的服务脚本更新逻辑
- 在 selectInitScript 函数中增加了复制脚本文件的逻辑,以应对服务名和脚本名不一致的情况
* feat(snap): 添加初始化脚本到快照
- 在创建快照时,将服务脚本复制到 initscript 目录
- 然后将整个 initscript 目录复制到快照的目标目录
- 添加了日志输出,便于调试和记录
* refactor(backend): 重构快照恢复流程
- 移除了未使用的 import 语句
- 删除了注释掉的代码块
- 修改了 1Panel 服务恢复的逻辑,增加了对当前服务名称的获取
- 快照恢复过程中,根据宿主机类型,自动选择初始化服务脚本
- 添加了日志输出以提高可追踪性
- 优化了文件路径的处理方式
---------
Co-authored-by: gcsong023 <gcsong023@users.noreply.github.com>
|
2025-04-23 17:04:08 +08:00 |
|
巴山夜语
|
79020abb1c
|
feat(systemctl): implement service manager initialization and command execution (#8380)
* feat(systemctl): 实现服务管理器初始化和命令执行
- 新增 systemctl 包,实现对 systemd、openrc 和 sysvinit 三种服务管理器的支持
- 添加服务状态检查、启动、停止、重启和启用/禁用功能
- 实现服务发现和智能服务名处理
- 添加配置文件查看功能
- 优化错误处理和日志记录
* refactor(system): 重构系统服务管理逻辑
- 引入 systemctl 工具包以统一处理系统服务
- 优化服务状态获取、配置文件路径解析等逻辑
- 重构 HostToolService 中的 GetToolStatus 方法
- 更新 DockerService、SettingService 等相关服务的处理方式
- 调整快照创建和恢复过程中的服务处理逻辑
* feat(utils): 添加目录复制功能并优化文件复制逻辑
- 新增 CopyDirs 函数,用于复制整个目录及其内容
- 添加对符号链接的复制支持
- 实现通用的 Copy 函数,根据文件类型自动选择 CopyFile 或 CopyDirs
- 在 CopyFile 函数中增加对源文件是目录的检查和错误提示
* refactortoolbox: 重构 Fail2ban 和 Pure-FTPd 的管理逻辑
- 优化了 Fail2ban 和 Pure-FTPd 的启动、停止、重启等操作的实现
- 改进了 Fail2ban 版本信息的获取方法
- 统一了错误处理和日志记录的格式
- 调整了部分导入的包,提高了代码的可维护性
* build: 禁用 CGO 以提高构建性能和兼容性
- 在 Linux 后端构建命令中添加 CGO_ENABLED=0 环境变量
- 此修改可以提高构建速度,并确保生成的二进制文件在没有 C 库依赖的环境中也能运行
* refactor(docker): 重构 Docker 服务的重启和操作逻辑
- 添加 isDockerSnapInstalled 函数来判断 Docker 是否通过 Snap 安装
- 在 OperateDocker 和 restartDocker 函数中增加对 Snap 安装的处理
- 移除未使用的 getDockerRestartCommand 函数
* fix(service): 优化快照恢复后的服务重启逻辑
- 在使用 systemd 管理服务时,增加 daemon-reload 操作以确保服务配置更新
- 重启 1panel 服务,以应用快照恢复的更改
* refactor(server): 支持非 systemd 系统的恢复操作
- 增加 isSystemd 函数判断系统是否为 systemd 类型
- 根据系统类型选择性地恢复服务文件
- 兼容 systemd 和非 systemd 系统的恢复流程
* fix(upgrade): 优化升级过程中的服务重启逻辑
- 移动服务重启逻辑到版本号更新之后,修复因提前重启导致的版本号未更新BUG。
- 在 systemctl 重启之前添加 daemon-reload 命令
---------
Co-authored-by: gcsong023 <gcsong023@users.noreply.github.com>
|
2025-04-17 10:26:13 +08:00 |
|
ShuBo6
|
064fddb2ee
|
fix: 一些被忽略的句柄关闭问题 (#5552)
|
2024-06-24 15:29:19 +08:00 |
|
ssongliu
|
65f92bf0c3
|
feat: FTP 增加状态及日志 (#5065)
Build / SonarCloud (push) Failing after 3s
Build Test / build-linux-binary (push) Failing after -4m24s
sync2gitee / repo-sync (push) Failing after 1s
|
2024-05-20 10:48:42 +00:00 |
|
ssongliu
|
d626b2f4bd
|
feat: 适配 Fail2ban 0.10.2 版本 (#3503)
Refs #3490
|
2024-01-02 13:56:28 +00:00 |
|
ssongliu
|
733889407e
|
feat: 优化文本域换行符校验 (#3399)
|
2023-12-20 05:46:09 +00:00 |
|
ssongliu
|
0931395c09
|
fix: 快速跳转样式调整 (#3270)
|
2023-12-11 10:08:07 +00:00 |
|
ssongliu
|
504d5f8596
|
feat: 优化 Fail2ban 禁用方式错误返回 (#3227)
|
2023-12-08 07:40:07 +00:00 |
|
ssongliu
|
bd2003c1b6
|
fix: 修改部分表单校验方法 (#3217)
|
2023-12-07 11:02:07 +00:00 |
|
ssongliu
|
a6e12d88a3
|
fix: 工具箱管理防止命令注入 (#3215)
|
2023-12-07 06:40:07 +00:00 |
|
ssongliu
|
8a24342b85
|
fix: Fail2ban 配置文件区分系统 (#3202)
|
2023-12-06 09:22:11 +00:00 |
|
ssongliu
|
1df4a870a0
|
fix: Fail2ban 名称修改 (#3071)
|
2023-11-27 06:04:08 +00:00 |
|
ssongliu
|
49d8582658
|
feat: 工具箱增加 Fail2Ban 管理 (#2966)
Refs #2209 #1643 #1787 #2645
|
2023-11-16 06:40:08 +00:00 |
|