【系统工具合集】脚本已上线【Github】

脚本

最近一直在通过训练 ChatGPT 不断打磨脚本工具,初衷是可以快捷运行某些常用命令和程序。看似当前功能不多,实则每个细节都需要反复推敲,从最终脚本使用感受和终端交互体验来看,目前尚可中意。脚本每个细节交互逻辑层次、菜单上下先后顺序,这些都需要考虑到,每当新增菜单项目后,都需要确保尽可能无纰漏、无 BUG 问题。感觉还是很需要费些心力和时间。

安装使用方法

或者

为什么会有这个脚本

日常中发现很多命令每次都需要手动输入,非常不方便,所以整合到脚本中,易于维护和查看。这是一个非常简易化的系统工具合集,目前是初步版本,方便自己使用。全部来自 ChatGPT 的训练结果,逐步添加更多常用功能,环境为 Debian 12 系统。

更新日志

【v1.1】 第一版,查看防火墙现有入站规则,包括 Docker 端口规则和转发规则。(2024.08.16午)

【v1.2】 第二版,防火墙 SSH 管理、更新菜单、更新日志、整合 ipset 地址、删除宿主规则。(2024.08.16夜)

【v1.3】 第三版,调整细节,优化色彩,增强易读性,关键信息突出显示,会话 screen 管理,修复选择 N/n 依然更新。(2024.08.17午)

【v1.4】 第四版,修复无法完成脚本更新问题,提醒删除更新临时文件,细节美观优化,作者网站添加显示。(2024.08.17夜)

【v1.5】 第五版,添加脚本显示语言切换功能,支持中文和英文切换,脚本外观显示优化。(2024.08.20夜)

【v1.6】 第六版,管理 Docker 防火墙规则,管理单纯支持 IPv4 访问的 Docker 服务,管理同时支持 IPv4 访问和 IPv6 访问的 Docker 服务,如果是后者,需要开启 Docker 自定义网络,并且配置 IPv6 转发和访问,本脚本不会强制去要求用户如何去完成这些配置,不过就目前来看,通过 Docker 项目 robbertkl/ipv6nat 实现 Docker 网络的 IPv6 转发和访问,是比较推荐的做法,当然也可以采取别的方法。这个脚本的 Docker 服务防火墙管理功能,其实也是作者制作这个脚本的最初目的,同时也是作者认为非常有必要实现脚本化的 Docker 维护策略。两个非常重要的事情,一个是限制外界对 Docker 搭建服务的访问,另一个是实现 Docker 服务的 IPv6 访问。(2024.08.21午)

【v1.7】 第七版,修正 Docker 防火墙管理选项逻辑错误,增加询问是否创建配置文件的判断环节,增加常用系统命令子菜单,主菜单增加显示 Docker 容器信息选项,显示容器名称、容器所在网络名称、IPv4地址、IPv6地址、容器运行状态、容器端口映射信息,优化 Docker 容器信息显示的可读性以及信息输出的美观性。(2024.08.22夜)

【v1.8】 第八版,变更 Docker 容器信息显示的容器状态内容为白色,以避免手机客户端代码自动换行后,视觉上与容器名称不好区分,变更 Docker 容器信息获取的内容为空时,能够显示字符 N/A ,以代表未获取到任何信息,防止可能会造成的信息列的错乱。(2024.08.23午)

【v1.9】 第九版,修正创建 Docker 防火墙配置文件时,未判断 ipset 是否已经安装的问题,优化以及变更管理 SSH 防火墙规则以及管理 Docker 防火墙和规则时终端交互的逻辑层次,当选择未创建配置时会首先判断系统中是否已经存在配置文件,这是一种质疑逻辑,避免选择失误进而造成直接进入创建配置文件的环节,显然直接进入下一环节并不是最佳的终端交互体验方式,另外,当选择修改相应的配置文件时,也会首先判断系统中是否已经存在对应的配置文件,同样也是质疑性质的逻辑,之前的版本中,在最终创建配置文件的之前才会检测系统是否已经存在配置文件,现在这种检测被提前到交互询问的环节,这一切都时为了在创建任何配置文件之前,都能确保系统中确实没有相应的配置文件,而不是直接盲目的创建任何文件,一切都需要在透明的逻辑环境下进行脚本的敏感操作,至于之前的检测环节,变更为相应的提示语。(2024.08.25夜)

THE END