基于golang cobra包的命令行运维工具
git clone https://github.com/yourusername/godo.git
cd godo
make buildUsage:
godo [command]
Available Commands:
help Help about any command.
net Network-related commands.
set Set YUM source for CentOS systems.
Flags:
-h, --help help for godoping命令用于测试IP是否可达,支持单IP和YAML文件批量测试 示例:
- 测试单个IP:
godo net ping 8.8.8.8 - 测试多个IP,将需要测试的IP写入YAML文件,如host.yaml:
godo net ping -f hosts.yamlhost.yaml:
hosts:
- 8.8.8.8
- 114.114.114.114
- 223.5.5.5
- 180.76.76.76聚合多个公共 DNS 服务器(如 8.8.8.8、114.114.114.114)解析同一域名,对比响应时间及结果,检测 DNS 劫持或污染。
示例:
godo net dns -f hosts.yaml
host.yaml:
hosts:
- 8.8.8.8
- 114.114.114.114
- 223.5.5.5
- 180.76.76.76yum命令用于设置YUM源,支持CentOS系统,默认为阿里云源
示例:
会根据系统自动选择对应的YUM源,支持CentOS6/7/8
godo set yum
godo/
├── cmd/ # 命令行实现
│ ├── net/ # 网络相关的命令实现
│ │ ├── net.go # net命令逻辑
│ ├── set/ # 设置相关的命令实现
│ │ ├── set.go # set命令逻辑
├── pkg/ # 包含可重用的功能模块
│ ├── net/ # 网络相关的功能模块
│ └── set/ # 设置相关的功能模块
├── response/ # 可能包含响应处理相关的代码(当前为空)
├── util/ # 工具函数
│ └── command_executor.go # 命令执行器
├── go.mod # 依赖管理
├── go.sum # 依赖校验和
├── hosts.yaml # 主机配置文件
├── LICENSE # 许可证文件
├── main.go # 程序入口
└── README.md # 项目文档