hackardoX/openv

GitHub: hackardoX/openv

Openv 通过 1Password CLI 与 Shell Hook 自动将 .env 文件中的占位符替换为安全凭据,简化密钥管理并提升安全性。

Stars: 7 | Forks: 0

# Openv Openv 是一个用于管理 **.env** 文件并提供额外安全功能的工具。它在底层使用 1password CLI,自动将环境变量替换为安全凭据。 它支持多种 Shell,并允许自定义命令允许/拒绝列表。该工具使用 1Password 进行安全的凭据管理。 ## 目录 - [Openv](#openv) - [目录](#table-of-contents) - [功能](#features) - [安装](#installation) - [Homebrew(推荐)](#homebrew-recommended) - [手动安装](#manual-installation) - [1Password CLI](#1password-cli) - [用法](#usage) - [自动 Hook 设置(推荐)](#automatic-hook-setup-recommended) - [手动 Hook 设置](#manual-hook-setup) - [命令](#commands) - [配置](#configuration) - [配置选项](#configuration-options) - [支持的 Shell](#supported-shells) - [贡献](#contributing) - [许可证](#license) ## 功能 - **命令包装**:包装 Shell 命令以使用安全凭据替换环境变量。 - **Shell 支持**:支持多种 Shell,包括 Bash、Zsh、Fish。 - **可配置**:可通过 TOML 配置文件轻松配置。 ## 安装 ### Homebrew(推荐) 要使用 Homebrew 安装 Openv,首先需要添加该仓库: `brew tap andrea11/homebrew-formulas` 然后安装 Openv: `brew install openv` ### 手动安装 要手动安装 Openv,可以从 [发布页面](https://github.com/andrea11/openv/releases) 下载二进制文件并将其放置在 PATH 包含的文件夹中(例如 `/usr/local/bin`)。 ### 1Password CLI Openv 使用 1Password CLI 获取密钥。请确保已安装并正确配置 1Password CLI。你可以在 [此处](https://developer.1password.com/docs/cli/get-started) 找到安装说明。 还建议设置 1Password 桌面应用并启用“*与 1Password CLI 集成*”选项。 否则,你需要为 1Password CLI 提供一个服务账户令牌。
1Password 设置截图 ![1Password 设置](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/31d4d064c5114611.jpg)
## 用法 ### 自动 Hook 设置(推荐) 要使用 Openv,需要为你的 Shell 设置合适的 Hook。以下是步骤: 1. **Bash**:`openv init bash` 2. **Zsh**:`openv init zsh` 3. **Fish**:`openv init fish` ### 手动 Hook 设置 如果希望手动设置 Hook,请编辑你的 Shell 配置文件(例如 `.bashrc`、`.zshrc` 或 `config.fish`),并添加以下行: 1. **Bash**: `eval $(openv hook bash)` 2. **Zsh**: `eval $(openv hook zsh)` 3. **Fish**: `openv hook fish | source` ## 命令 - **execute**:执行包装了 `op run` 的命令。 - **check**:检查命令是否需要包装。 - **hook**:打印指定 Shell 的 Hook。 - **init**:为指定 Shell 设置 Hook。 ## 配置 Openv 支持开箱即用的部分命令,并会自动调用 **op** CLI。但你可以使用配置文件自定义其行为。 Openv 使用 TOML 配置文件来管理所有设置。配置文件可以位于 `~/.openv.toml`(全局配置)或项目根目录(`.openv.toml`,本地配置)。 示例 `.openv.toml`: ``` allow_commands = [ "^(npm|pnpm) (run )?(start|dev|build)", "cargo run" ] deny_commands = [ "^python" ] disable_masking = false ``` ### 配置选项 - **allow_commands**:允许的 Shell 命令的正则表达式模式列表。 - **denyCommand**:拒绝的 Shell 命令的正则表达式模式列表。 - **disable_masking**:禁用终端输出密钥遮罩的布尔值(默认值为 `false`)。 ## 支持的 Shell Openv 支持以下 Shell: - **Bash** - **Zsh** - **Fish** ## 贡献 欢迎贡献!请打开议题或提交拉取请求。 ## 许可证 本项目采用 MIT 许可证。详细信息请参见 [LICENSE](LICENSE) 文件。
标签:1Password, Bash, CLI 工具, Cutter, DevOps 工具, .env 文件, Fish, Homebrew, Python安全, SEO: 1Password CLI 集成, SEO: openv 工具, SEO: 环境变量管理, Shell 集成, TOML 配置, XML 请求, Zsh, 二进制发布, 允许/拒绝列表, 可定制策略, 命令包装, 威胁情报, 安全凭证, 安全开发, 开发者工具, 开源工具, 环境变量管理, 自动替换, 通知系统, 钩子设置