# opsxcli **Repository Path**: zhugaotao/opsxcli ## Basic Information - **Project Name**: opsxcli - **Description**: 一个集成了 MySQL、Redis、SSH、HTTP 请求等常用运维操作的命令行工具,在本地与远程服务器上高效执行命令。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2025-12-17 - **Last Updated**: 2025-12-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # opsxcli - 运维工具界的瑞士军刀 一个统一的运维工具集,整合了多种常用运维工具。 ## 功能特性 - **ssh**: SSH连接、命令执行、文件传输、端口转发 - **mysql**: MySQL数据库操作工具(支持交互式shell) - **redis**: Redis操作工具(支持单机和集群) - **request**: 高级HTTP请求工具 - **wget**: 文件下载工具(支持断点续传) - **sys**: 系统监控可视化(类似htop) - **net**: 网络流量监控 - **nc**: 网络连接工具(端口监听、内网反弹) ## 安装 ### 快速下载(推荐) 自动检测平台并下载最新版本: ```bash # 使用 wget wget "https://gitee.com/opsx-tools/opsxcli/releases/download/latest/opsxcli-$(uname -s)-$(uname -m).tar.gz" # 或使用 curl curl -L -o opsxcli-$(uname -s)-$(uname -m).tar.gz \ "https://gitee.com/opsx-tools/opsxcli/releases/download/latest/opsxcli-$(uname -s)-$(uname -m).tar.gz" ``` **注意**: - Linux/macOS 用户下载 `.tar.gz` 文件 - Windows 用户请访问 [Releases 页面](https://gitee.com/opsx-tools/opsxcli/releases) 下载对应的 `.zip` 文件 **手动安装** ```bash # Linux/macOS tar -xzf opsxcli-*.tar.gz chmod +x opsxcli sudo mv opsxcli /usr/local/bin/ # Windows # 解压 zip 文件后直接运行 ``` ### 从源码构建 ```bash # 克隆仓库 git clone https://gitee.com/opsx-tools/opsxcli.git cd opsxcli # 构建 ./build.sh # 或使用go build go build -o opsxcli . ``` ## 使用示例 ### SSH工具 ```bash # 交互式登录 opsxcli ssh root@172.16.1.123 # 执行命令 opsxcli ssh root@172.16.1.123 "ls -la" # 上传文件 opsxcli ssh put /local/file.txt root@172.16.1.123:/remote/file.txt # 下载文件 opsxcli ssh get root@172.16.1.123:/remote/file.txt /local/file.txt # 端口转发 opsxcli ssh forward local 8080:localhost:80 root@172.16.1.123 ``` ### MySQL工具 ```bash # 交互式shell opsxcli mysql -u root -p "password" -h localhost # 执行SQL opsxcli mysql -u root -p "password" -h localhost -e "SELECT VERSION()" ``` ### Redis工具 ```bash # 交互式shell opsxcli redis interactive -h 127.0.0.1 -a password # 获取键值 opsxcli redis get mykey -h 127.0.0.1 # 设置键值 opsxcli redis set mykey "myvalue" -h 127.0.0.1 ``` ### 系统监控 ```bash # 进入系统监控界面 opsxcli sys ``` ### 网络监控 ```bash # 进入网络监控界面 opsxcli net ``` ### 网络连接查看 (ss) ```bash # 查看所有TCP和UDP连接 opsxcli ss -tunap # 查看TCP状态统计(类似: ss -ant | awk '{++s[$1]} END {for(k in s) print k,s[k]}') # 用于查看本机并发和超时等TCP状态 opsxcli ss -ant --stats # 查看TIME_WAIT状态的目标地址TOP 10 # 类似: ss -tan | awk '/TIME-WAIT/ {print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -rn | head -n5 opsxcli ss -tan --timewait # 查看目标地址TOP 10 # 类似: opsxcli ss -an|awk '{print $5}'|awk -F: '{print $1}'|sort|egrep -o '[0-9]{1,3}(\.[0-9]{1,3}){3}'|uniq -c|sort -nr|head -n 10 opsxcli ss -an --top 10 # 只显示监听状态的连接 opsxcli ss -l # 显示所有连接(包括监听) opsxcli ss -a ``` ## 目录结构 ``` opsxcli/ ├── cmd/ # 命令定义 ├── internal/ # 内部核心模块 │ ├── config/ # 配置管理 │ ├── logger/ # 日志系统 │ └── ui/ # UI框架 ├── plugins/ # 工具插件 │ ├── ssh/ # SSH工具 │ ├── mysql/ # MySQL工具 │ ├── redis/ # Redis工具 │ ├── wget/ # 下载工具 │ ├── nc/ # 网络连接工具 │ ├── request/ # HTTP请求工具 │ ├── sys/ # 系统监控 │ └── net/ # 网络监控 ├── docs/ # 工具文档(详见 docs/README.md) ├── main.go # 入口文件 └── go.mod # 依赖管理 ``` ## 文档 详细工具文档请查看 [docs/README.md](./docs/README.md) ## 开发 ### 添加新工具 1. 在 `plugins/` 目录下创建新的工具目录 2. 实现工具的核心功能 3. 在 `cmd/` 目录下添加命令定义 4. 在 `cmd/root.go` 中注册新命令 ### 代码规范 - 单个文件代码量不超过600行 - 尽量模块化拆分 - 遵循Go代码规范 ## 离线/内网环境支持 ✅ **完全支持离线/内网环境运行**,所有功能都无需网络连接。 - 所有保护机制都是纯本地运行 - 所有工具都支持内网环境 - 支持内网调试(设置 `OPSXCLI_ALLOW_DEBUG=1`) 详见 [OFFLINE_SUPPORT.md](./OFFLINE_SUPPORT.md) ## 许可证 MIT License