-
Notifications
You must be signed in to change notification settings - Fork 0
Release Notes
licco edited this page Aug 2, 2026
·
2 revisions
发布日期: 2026-05-31
🎉 SSH LICCO v1.0.0 正式发布! 这是首个主要版本,标志着项目从 Alpha 阶段进入生产就绪状态。
v1.0.0 是 SSH LICCO 的首个主要版本,代表项目已具备:
- ✅ 完整的功能集 — SSH 连接、命令执行、文件传输、Docker 管理、密钥管理
- ✅ 生产级安全 — 三级安全策略、命令白名单、路径验证、速率限制
- ✅ 全面的测试覆盖 — 402 个测试用例,17 个源模块 100% 覆盖
- ✅ 完善的文档 — API 参考、使用指南、快速开始、贡献指南
- ✅ CLI 命令行工具 — exec / upload / download / docker-build / list-hosts
- ✅ 企业级特性 — 审计日志、看门狗监控、连接池、批量执行
新增完整的 CLI 子命令支持,可直接在终端执行 SSH 操作:
ssh-licco exec --host 192.168.1.100 -u root --password pwd "ls -la"
ssh-licco upload ./local.txt /remote/path.txt
ssh-licco download /remote/log.txt ./local.log
ssh-licco docker-build myapp:latest --context /app
ssh-licco list-hosts- 任务注册、心跳检测、进度更新
- 异常捕获和事件历史记录
- 恢复回调机制
- 全局异常处理器(GlobalExceptionHandler)
- 异步监控循环
- JSON 结构化审计记录
- 连接/断开、命令执行、文件传输、认证事件
- 额外字段支持
- 文件日志处理器
- 高性能连接复用
- 最大连接数限制
- 空闲连接超时回收
- 连接健康检查
- 同步批量执行器(BatchExecutor)
- 异步批量执行器(AsyncBatchExecutor)
- 多主机并行命令执行
- 可配置工作线程数
- 单例模式线程池
-
async_exec装饰器,将同步函数转为异步 -
get_executor()便捷函数
| 级别 | 适用场景 | 说明 |
|---|---|---|
| STRICT | 生产环境 | 禁止管道、重定向、命令替换等所有危险操作 |
| BALANCED | 开发环境(默认) | 允许基础命令,禁止危险字符 |
| RELAXED | 测试环境 | 允许管道和重定向,仍禁止路径遍历 |
- 命令白名单验证(60+ 基础命令 + Docker + 系统管理)
- 危险字符检测(管道
|、重定向><、反引号`、命令替换$()、后台&) - 危险关键字检测(passwd、shadow)
- 命令长度限制(默认 4096 字符)
- 相似命令提示
- 路径遍历攻击防护(
../检测) - 敏感路径保护(/etc、/root、/var/log)
- 基础目录限制
- 环境变量创建验证器(
create_validators_from_env())
| 指标 | 数值 |
|---|---|
| 总测试用例 | 402 |
| 通过 | 402 |
| 跳过 | 3 |
| 失败 | 0 |
| 源模块覆盖 | 17/17(100%) |
| 模块 | 用例数 | 覆盖内容 |
|---|---|---|
| exceptions | 7 | 异常层次结构、消息、属性、异常链 |
| connection_config | 8 | Pydantic 模型、默认值、验证 |
| security | 24 | 三级策略、命令验证、路径验证、环境变量 |
| logging_config | 8 | 单例、级别、文件处理器 |
| audit_logger | 12 | 连接/命令/传输/认证日志 |
| executor | 8 | 单例、线程池、async_exec |
| watchdog | 18 | 任务管理、心跳、异常捕获、全局处理 |
| key_manager | 6 | RSA/Ed25519 生成、保存、加载 |
| config_manager | 10 | 配置 CRUD、默认值、磁盘隔离 |
| clients | 28 | Paramiko 连接/执行/传输、工厂模式 |
| session_manager | 18 | 会话 CRUD、限制、委托 |
| connection_pool | 10 | 获取/归还、超时、健康检查 |
| batch_executor | 10 | 同步/异步批量执行 |
| cli | 10 | 参数解析、安全验证、配置加载 |
| server | 30+ | 速率限制、Docker、后台任务、主机管理 |
| service | 14 | 连接/断开/执行/健康检查 |
所有全局组件统一使用 __new__ + _initialized 单例模式:
-
SSHLogger— 日志管理 -
AuditLogger— 审计日志 -
ThreadPoolExecutor— 线程池 -
Watchdog— 看门狗
-
ConnectionConfig— 连接配置(含端口范围验证、认证方法枚举) -
SSHConfig/SSHHost/ServerConfig— 配置管理模型
-
SSHClientFactory— SSH 客户端工厂(Paramiko / AsyncSSH / Fabric) -
create_validators_from_env()— 安全验证器工厂
SSHException (基类)
├── ConnectionException
│ ├── TimeoutException
│ └── NetworkException
├── AuthenticationException
│ ├── PasswordAuthenticationException
│ └── KeyAuthenticationException
├── CommandExecutionException
├── FileTransferException
└── SessionException
├── SessionNotFoundException
└── SessionTimeoutException
- README.md — 新增 CLI 章节、测试状态、特性亮点更新
- USAGE.md — 新增 CLI、连接池、批量执行、看门狗、审计日志章节
- QUICKSTART.md — 新增 CLI 命令示例、环境变量
- TEST_REPORT.md — 完整测试报告(16 个模块详情)
- docs/API_REFERENCE.md — 新增 10 个 API 章节
- docs/CONTRIBUTING.md — 测试要求更新
无。v1.0.0 与 v0.5.5 完全向后兼容。
从 v0.5.x 升级到 v1.0.0 无需任何代码修改:
# pip 升级
pip install --upgrade ssh-licco
# npm 升级
npm update -g ssh-licco感谢所有在 0.x 阶段提供反馈和贡献的开发者。v1.0.0 的发布标志着 SSH LICCO 已准备好用于生产环境。
完整变更日志: https://github.com/Echoqili/ssh-licco/compare/v0.5.5...v1.0.0