跳转到主要内容

清理和排序FortiOS配置文件。

项目描述

FORTICLEAN

Build Tests CodQL Analysis Dependency Review PyPI - Downloads

描述

FortiClean是一个用于FortiOS配置文件管理的CLI工具,旨在提高可读性和比较性。它使用Python构建,并利用typer库的强大功能,简化了以下过程:

  • 删除末尾空格:告别配置行末尾的无关空格,这些空格会复杂化差异,但不会影响配置。
  • 删除特定部分:通过指定和删除不希望保存的部分来清理配置文件。这是一个用于整理和维护简洁配置设置的便捷功能。
  • 排序配置部分和子部分:通过排序指定的配置部分来提高可读性和结构。建议您不要对如防火墙策略等顺序重要的配置部分进行排序。

与其他网络操作系统不同,配置顺序无关的部分会随机保存为配置输入的顺序,这使得自动化和手动差异操作变得具有挑战性。

功能

  • 删除行末空格
  • 删除配置部分
  • 排序配置部分
  • 排序配置部分的下一级
  • 彩色日志
  • 使用jsonschema警告配置文件错误
  • 在测试中使用jsonschema
  • 命令行参数指定配置、路径等 即将推出
  • 防止或警告排序顺序重要的部分 即将推出

开始使用

克隆仓库,进入目录并运行以下命令之一

配置

优先级顺序:1. 在运行脚本的目录中的 .forticleaner 2. 在您的家目录中的 .forticleaner 3. 包含在包中的默认配置文件

用法

main [OPTIONS] [SRC_FILE_PATH]

参数

  • [SRC_FILE_PATH]:源文件路径

选项

  • -d, --dst_file_path TEXT:写入文件的路径 [默认: sorted_config.cfg]
  • -v, --verbose:启用详细模式级别 [默认: 0]
  • --install-completion:为当前shell安装完成。
  • --show-completion:显示当前shell的完成,以复制或自定义安装。
  • --help:显示此信息并退出。
python3 src/main.py config.cfg

详细模式(1级)

$ python3 src/main.py config.cfg -v
[13:42:07] INFO     Section 'config vpn certificate local' was DELETED.                                                                               main.py:27
           INFO     Removed trailing space(s) from 0 lines.                                                                                           main.py:40
           INFO     Section 'config system zone' was NOT SORTED                                                                                       main.py:70
           INFO     Section 'config system interface' was NOT SORTED                                                                                  main.py:70
           INFO     Section 'config firewall internet-service-name' was SORTED                                                                        main.py:70

详细模式(2级)

$ python3 src/main.py config.cfg -vv
[13:42:48] DEBUG    Config 'src/conf/default.yaml' opened successfully                                                                               utils.py:57
           DEBUG    Key 'FORTIOS_CONFIG_FILENAME_REGEX' NOT in the config file. Defaulting to (.*).cfg.                                              utils.py:63
           DEBUG    File 'config.cfg' opened successfully                                                                                            utils.py:26
           INFO     Section 'config vpn certificate local' was DELETED.                                                                               main.py:27
           INFO     Removed trailing space(s) from 0 lines.                                                                                           main.py:40
           INFO     Section 'config system zone' was NOT SORTED                                                                                       main.py:70
           INFO     Section 'config system interface' was NOT SORTED                                                                                  main.py:70
           INFO     Section 'config firewall internet-service-name' was SORTED                                                                        main.py:70
           DEBUG    File 'sorted_config.cfg' written successfully                                                                                    utils.py:38

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分布

forticlean-1.0.0.tar.gz (6.2 kB 查看散列)

上传时间

构建分布

forticlean-1.0.0-py3-none-any.whl (7.2 kB 查看散列)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面