opt-nc/geol

GitHub: opt-nc/geol

geol 是一个基于 Go 的命令行工具,通过 endoflife.date API 帮助用户在终端和 CI 中高效查看与监控软件产品的生命周期终止日期。

Stars: 12 | Forks: 3

# `geol` ![GitHub Downloads](https://img.shields.io/github/downloads/opt-nc/geol/total?logo=github) ![GitHub release (latest by date)](https://img.shields.io/github/v/release/opt-nc/geol) ![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/opt-nc/geol) ![GitHub License](https://img.shields.io/github/license/opt-nc/geol) ![GitHub Repo stars](https://img.shields.io/github/stars/opt-nc/geol) [![Powered By: GoReleaser](https://img.shields.io/badge/powered%20by-goreleaser-green.svg)](https://github.com/goreleaser) [![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org) [![GoReportCard](https://goreportcard.com/badge/github.com//opt-nc/geol)](https://goreportcard.com/report/github.com/opt-nc/geol) [![GoDoc](https://godoc.org/github.com/opt-nc/geol?status.svg)](https://pkg.go.dev/github.com/opt-nc/geol) [![lint-workflow](https://github.com/opt-nc/geol/actions/workflows/golangci-lint.yml/badge.svg)](https://github.com/opt-nc/geol/actions/workflows/golangci-lint.yml) [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/11239/badge)](https://www.bestpractices.dev/projects/11239) [![📊 OSS Insights](https://img.shields.io/badge/OSS%20Insights-%F0%9F%93%8A-blue)](https://ossinsight.io/analyze/opt-nc/geol#overview) ## ❔ 关于 `geol` 是基于 Go 的替代方案,用于替代著名的基于 Python 的 [`hugovk/norwegianblue`](https://github.com/hugovk/norwegianblue) `cli`。 它的目标是: 1. 提供至少与 `hugovk/norwegianblue` 也就是现在的 `geol` 一样优秀的用户体验 2. 一流的基于终端的用户体验 3. 让交付更简单、更安全 4. 通过备受期待的新自定义功能进行增强 5. 为所有人创造更安全、创新的 EOL 管理方式 ## 📑 资源 - [endoflife API](https://endoflife.date/docs/api/v1/) - [⌛ 使用 endoflife.date 像高手一样管理 EoL 🛑](https://dev.to/adriens/manage-eols-like-a-boss-with-endoflifedate-2ikf) - [🍃 你的手机将被制造商支持多久 📅](https://dev.to/adriens/how-long-your-phone-will-be-supported-by-the-manufacturer-3elf) - [♾️ 在 GitHub 上使用 eol 高效管理技术栈 🧑‍🤝‍🧑](https://dev.to/optnc/efficient-stack-management-with-eol-on-github-24g8) - [🔬 使用 endoflife.date、grype、(x)eol 分析 Gitlab 15.8 🐋](https://dev.to/optnc/gitlab-158-analysis-w-endoflifedate-grype-xeol-24b0) - [endoflife.date 系列文章](https://dev.to/adriens/series/21232) - [⏳ 使用 `geol` 管理 EOL:不可能的 `1'` Mux 演示](https://dev.to/adriens/managing-eols-w-geol-the-impossible-1-mux-demo-cnl) ## 🚀 快速开始 安装方式: - **手动安装**:前往 [releases](https://github.com/opt-nc/geol/releases) 页面并下载与您操作系统对应的版本 - **自动安装**:通过 `brew` 安装,请参阅 [homebrew-tap](https://github.com/opt-nc/homebrew-tap) 1. 安装 `geol` 使用 `brew`: ``` brew install curl brew install --cask opt-nc/homebrew-tap/geol ``` 或者直接使用 `go`: ``` go install github.com/opt-nc/geol/v2@latest ``` 或者使用 shell 脚本: ``` curl -fsSL https://raw.githubusercontent.com/opt-nc/geol/main/install.sh | bash ``` 2. 更新: ``` brew update && brew upgrade --cask geol version ``` ## 自动补全 如果自动补全尚未生效,您需要更新您的 fpath。 对于 `zsh`,您需要在 `.zshrc` 文件中添加以下行: ``` # === Homebrew completions === # 将 Homebrew completions 添加到 fpath fpath=(/home/linuxbrew/.linuxbrew/share/zsh/site-functions $fpath) # 激活 Homebrew completions autoload -Uz compinit compinit # (可选)禁用重复 completions 的警告 zstyle ':completion:*' verbose yes ``` 然后重启终端或重新加载您的 `.zshrc` 文件: ``` source ~/.zshrc ``` ## 🧑‍💻 文档 您可以使用 `help` 子命令或通过 man page 来查看帮助。 ``` geol help man geol ``` ## 🤓 自行构建 要自行构建: ``` go build -o geol ./cmd/geol ``` ## 🍿 观看演示 geol-unboxing-video-thumbnail ## 💡 更多关于 `endoflife.date` 生态系统的内容 `endoflife` 是一个不断增长的生态系统,以下是一些帮助您了解它的资源: - 官方 [`endoflife.date` 已知用户](https://github.com/endoflife-date/endoflife.date/wiki/Known-Users) - [`hugovk/norwegianblue`](https://github.com/hugovk/norwegianblue) - [`xeol`](https://github.com/xeol-io/xeol) _“一款用于扫描容器镜像、文件系统和 SBOM 中生命周期终止 (EOL) 的软件及其依赖项的工具”_ ## 📈 Star History [![Star History Chart](https://api.star-history.com/svg?repos=opt-nc/geol&type=date&legend=top-left)](https://www.star-history.com/#opt-nc/geol&type=date&legend=top-left)
标签:Go, Ruby工具, 后端开发, 日志审计, 生命周期管理, 运维监控