Skip to main content

ZLL - SSH Connection Manager

Python Version License Code Style

一个简单高效的 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)

Source distribution for zll 0.2.0
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)

Table of built distributions (wheels) for zll 0.2.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page