ZLL - SSH Connection Manager
一个简单高效的 SSH 连接管理工具,帮助你快速管理和连接到远程服务器。
特性
- 🔒 安全优先: 仅支持 SSH 密钥认证,不存储密码
- 📋 连接管理: 保存和管理 SSH 连接信息
- 🔍 智能搜索: 支持通过主机名、IP 或描述快速查找连接
- ⚡ 快速连接: 通过序号或关键字快速连接到服务器
- 📝 简单配置: 使用 CSV 格式存储连接信息,易于编辑和备份
安装
使用 pip 安装
pip install zll
从源码安装
git clone https://github.com/bigzhu/zll.git
cd zll
poetry install
使用方法
启动 zll:
zll
主要功能
- 添加连接: 输入
a添加新的 SSH 连接信息 - 退出程序: 输入
q退出 - 数字连接: 输入对应序号直接连接到服务器
- 搜索连接: 输入主机名、IP 或描述关键字进行搜索
- 删除连接: 输入
d然后输入要删除的连接序号
使用示例
# 启动 zll
$ zll
# 显示所有连接列表
Number User Host Port Description
0 root 192.168.1.100 22 Web Server
1 admin db.example.com 22 Database Server
2 user staging.app.com 2222 Staging Environment
# 直接连接
Input number, IP, or hostname (q to quit, a to add, d to delete): 0
# 连接到 192.168.1.100
# 搜索连接
Input number, IP, or hostname (q to quit, a to add, d to delete): web
# 显示包含 "web" 关键字的连接
# 添加新连接
Input number, IP, or hostname (q to quit, a to add, d to delete): a
Input username: myuser
Input ip or hostname: newserver.com
Input port (default 22): 2222
Input comment: My New Server
Added successfully!
配置文件
连接信息存储在 CSV 格式的配置文件中,位置:
- macOS:
~/Library/Application Support/zll/hosts.csv - Linux:
~/.local/share/zll/hosts.csv - Windows:
%APPDATA%\zll\hosts.csv
文件格式:
User,Host,Port,Description
root,192.168.1.100,22,Web Server
admin,db.example.com,22,Database Server
开发
环境设置
# 克隆项目
git clone https://github.com/bigzhu/zll.git
cd zll
# 安装 Poetry(如果未安装)
curl -sSL https://install.python-poetry.org | python3 -
# 安装依赖
poetry install
# 激活虚拟环境
poetry shell
运行测试
# 运行所有测试
poetry run pytest
# 运行测试并生成覆盖率报告
poetry run pytest --cov=zll --cov-report=html
# 运行类型检查
poetry run mypy zll
# 代码格式化
poetry run black zll tests
poetry run isort zll tests
# 代码检查
poetry run ruff zll tests
安装 pre-commit hooks
poetry run pre-commit install
许可证
MIT License - 详见 LICENSE 文件
贡献
欢迎提交 Issue 和 Pull Request!
变更日志
v0.2.0
- 重大代码质量改进
- 修复测试导入问题,将测试文件移至正确目录
- 添加完整的类型注解和文档字符串
- 改进异常处理和输入验证
- 添加开发工具配置(Black, isort, mypy, ruff, pytest)
- 配置 pre-commit hooks
- 更新所有依赖包到最新版本
- 完全重写 README 文档
- 添加贡献指南(CONTRIBUTING.md)
- 提升代码格式化和质量标准
v0.1.11
- 基础功能实现
Metadata
Release files for zll 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| zll-0.2.0.tar.gz | 5.8 kB | Without provenance | Details for zll-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| zll-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for zll-0.2.0-py3-none-any.whl |
Total release size: 11.6 kB
Release files / zll-0.2.0.tar.gz
| Download URL | zll-0.2.0.tar.gz |
|---|---|
| Size | 5.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5b151fb628374e1ce8d5919fd3654df90347e9bb1894d55a539531e88dfe85d
|
|
BLAKE2b-256 checksum How to use checksums |
979a6967ad2744796c89a9536c25b5c19a18159d24f4a81b6702ce1b8c30f644
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.12.11 Darwin/24.5.0
|
Release files / zll-0.2.0-py3-none-any.whl
| Download URL | zll-0.2.0-py3-none-any.whl |
|---|---|
| Size | 5.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fdae30585bb9787085dae04c7beb97a511170563a15d9285beafcdb7fb1a1aaf
|
|
BLAKE2b-256 checksum How to use checksums |
d37ad9f723f17f7a9ba9780d62258a4c5bf1798d19cd006ddb5d8a3b05ce1001
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.12.11 Darwin/24.5.0
|
Security for zll 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.