【系统工具合集】脚本已上线【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夜)

【v2.0】 第十版,查看 iptables IPv4 Docker NAT 规则和查看 ip6tables IPv6 Docker NAT 规则,在最新的Debian版本中,无法通过POSTROUTING显示端口NAT转发明细,此版本增加DOCKER明细以显示转发。(2025.04.17午)

【v2.1】 第十一版,新版本哪吒监控服务端和被监控端共用相同的端口,本脚本设置的IP地址防火墙规则更新匹配方法,同时保留新旧版本的端口匹配。(2025.04.18午)

【v2.2】 第十二版,修正新建ssh防火墙规则脚本内容错误,原脚本没有定义丢弃规则,这属于严重功能错误,如果仅仅定义允许的规则,将毫无意义。(2025.04.21午)

【v2.3】 第十三版,删除首次创建以及修改ssh规则之后显示ip地址集相关的代码,原因是无法显示,属于无效代码。(2025.04.23午)

【v2.4】 第十四版,修复新建 ssh 脚本以及 docker ip 脚本时的三处核心关键错误,分别是网络名称获取的错误、获取容器名称的错误、ipset地址集合服务的错误。脚本作者迁移至新的 iptsh.com 网址。修复几处细节的显示颜色无效问题。(2025.05.06午)

THE END