清理和排序FortiOS配置文件。
项目描述
FORTICLEAN
描述
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 查看散列)
关闭
forticlean-1.0.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2cad0257d50fbc9ae7078935c8b2b38cb588475ce0b843d3fb3cc9da05aedb27 |
|
MD5 | 2337ea79babf752b8093e0244ff68f37 |
|
BLAKE2b-256 | e4b4d3b583d79df0b5141eb87b70f0a64b8995a278c31871122e3d0404f7bc34 |
关闭
forticlean-1.0.0-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 300996487173079d38e421de1e665a86c597f1d1ce9d76590e46e1f5def91f1e |
|
MD5 | 4c4f9ab4edc95a81a3225e0ff81c70f5 |
|
BLAKE2b-256 | 70df72ca09fb53f9de85523f0a6502e47b2f01ccd56daa66383118263b3dd925 |