jp2195/pyre

GitHub: jp2195/pyre

pyre 是一款 Palo Alto 防火墙的终端 UI 工具,将原本需要在 PAN-OS Web 界面多次点击才能获取的信息整合到统一的终端视图中,帮助网络工程师快速获得答案。

Stars: 0 | Forks: 1

pyre

Go Version License Release

一个用于 Palo Alto 防火墙的终端 UI。 帮你解答那些原本需要在 PAN-OS Web UI 中点开三十个标签页才能找到的问题。

## 为什么选择 pyre? PAN-OS Web 界面把每个问题都变成了一系列的点击 —— 系统信息,接着是策略,然后是会话,再是日志。每个视图都是 一次单独的页面加载。 pyre 将这些调用整合到了统一的终端视图中:在一个仪表板中展示系统健康状况、 HA、资源使用情况以及会话;支持对策略、会话和对象进行即时过滤和 排序;无需切换上下文。专为追求快速获取答案的 网络工程师而打造。 ## 功能 - **仪表板** — 一目了然地查看系统、网络、安全和 VPN 状态 - **策略、NAT、对象** — 浏览、过滤、排序、命中计数分析, 内联详情 - **会话、路由、接口** — 实时状态,支持子字符串过滤和 按视图排序 - **VPN** — IPSec 隧道状态 + 已连接的 GlobalProtect 用户 - **日志** — 系统 / 流量 / 威胁,支持按键循环切换 - **Panorama** — 连接到 Panorama 并定位受管理的防火墙; 相同的视图,按设备进行范围划分 - **多防火墙** — 连接中心 + 快速选择器 (`:`) - **命令面板** — `Ctrl+P` 模糊跳转至任意视图 - **10 种主题** — dark、light、nord、dracula、solarized、gruvbox、 tokyonight、catppuccin、onedark、monokai(参见 [docs/configuration.md](docs/configuration.md#global-settings)) ## 安装 从 [Releases](https://github.com/jp2195/pyre/releases) 下载二进制文件。 压缩包内附有 SPDX SBOM 和一个通用的 `checksums.txt`。 ``` # macOS / Linux tar -xzf pyre___.tar.gz chmod +x pyre sudo mv pyre /usr/local/bin/pyre ``` Windows:解压 `.zip` 文件,将 `pyre.exe` 放入你的 `PATH` 中。 或者从源码构建(需要 Go 1.26+): ``` go install github.com/jp2195/pyre/cmd/pyre@latest ``` ## 验证发布版本 每个版本在构建时都经过了校验和计算、签名和认证: - `checksums.txt` — 覆盖每个压缩包的 SHA-256 校验和。 - `checksums.txt.bundle` — [Sigstore cosign](https://docs.sigstore.dev/) 无密钥签名包(包含签名、证书和透明日志条目于一个文件中),与本仓库的发布工作流身份绑定。 - GitHub 构建来源 (SLSA) — 将每个压缩包与构建它的确切 Actions 运行记录绑定。 ``` # 1. 验证 checksum 文件的签名(对于 # Sigstore bundle 格式,需要 cosign 2.6+) cosign verify-blob \ --bundle checksums.txt.bundle \ --certificate-identity-regexp 'https://github.com/jp2195/pyre/.*' \ --certificate-oidc-issuer https://token.actions.githubusercontent.com \ checksums.txt # 2. 根据已签名的 checksums 验证已下载的 archive sha256sum --check --ignore-missing checksums.txt # 3.(可选)使用 GitHub CLI 验证 build provenance gh attestation verify pyre___.tar.gz --repo jp2195/pyre ``` ## 快速开始 ``` # 一次性 pyre --host firewall.example.com --api-key YOUR_API_KEY # env var export PYRE_API_KEY=... pyre --host firewall.example.com # 已保存的连接 cat > ~/.pyre.yaml <<'YAML' default: 10.0.0.1 connections: 10.0.0.1: insecure: true YAML pyre -c 10.0.0.1 ``` 对于私有 CA 的防火墙,请在连接配置中使用 `ca_cert_path: /path/to/ca.pem` 而不是 `--insecure`。 ## 界面展示