Metadata-Version: 2.4
Name: harbor-check-cli
Version: 0.1.15
Summary: CLI for Harbor Check review status and rubric summaries
License: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: httpx>=0.27
Requires-Dist: rich>=13.7

# harbor-check-cli：SSH 隧道快速上手

这个 CLI 用于在本地电脑上访问远程服务器上的 Harbor Check 服务。适用于
Harbor Check 只监听服务器 `127.0.0.1:8000`、不直接暴露到公网的情况。

## 1. 安装

```bash
python -m pip install --upgrade harbor-check-cli
```

你需要拥有远程服务器的 SSH 账号，并确认 Harbor Check 已在服务器的
`127.0.0.1:8000` 运行。

## 2. 建立 SSH 隧道

在本地电脑执行以下命令，并保持这个终端运行：

```bash
ssh -N -L 8000:127.0.0.1:8000 YOUR_SERVER_USERNAME@YOUR_SERVER_HOST
```

这会把本地的 `http://127.0.0.1:8000` 转发到远程服务器的 `8000` 端口。
如果本地 `8000` 端口已被占用，可以换一个本地端口，并在后续命令中统一使用
这个端口。

## 3. 通过隧道登录

打开第二个终端，执行：

```bash
harbor-check login \
  --server http://127.0.0.1:8000 \
  --username YOUR_SERVER_USERNAME
```

根据提示输入密码。登录令牌会保存到
`~/.config/harbor-check/credentials.json`，文件权限为仅当前用户可读写。

## 4. 使用 CLI

```bash
harbor-check tasks
harbor-check folders
harbor-check folder-tasks FOLDER_NAME
harbor-check task USER/FOLDER/TASK_NAME --detail
harbor-check stop USER/FOLDER/TASK_NAME
harbor-check restart USER/FOLDER/TASK_NAME
```

通过同一条 SSH 隧道上传任务目录：

```bash
harbor-check upload ./my-task \
  --username YOUR_SERVER_USERNAME \
  --server http://127.0.0.1:8000
```

脚本需要机器可读输出时，把 `--json` 放在子命令前，例如：

```bash
harbor-check --json tasks
```

## 常见问题

- `Connection refused`：SSH 隧道已关闭、本地端口不匹配，或服务器上的
  Harbor Check 没有监听 `127.0.0.1:8000`。
- 返回 HTML 错误页：确认 CLI 使用的是隧道地址
  `http://127.0.0.1:8000`，而不是服务器公网地址。
- 登录失败：确认使用的是 Harbor Check 部署所接受的 SSH/服务器用户名和密码。
