Envii - 暗号化環境変数バックアップ チートシート
Envii - 暗号化環境変数バックアップ チートシート
Section titled “Envii - 暗号化環境変数バックアップ チートシート”マシン間で.envファイルを安全にバックアップおよび復元するCLIツール。12ワードのリカバリフレーズでエンドツーエンド暗号化(AES-256-GCM)を使用 — サーバーはプレーンテキストの秘密を見ることはありません。
インストール
Section titled “インストール”npmから(グローバル)
Section titled “npmから(グローバル)”npm install -g envii
git clone https://github.com/akinloluwami/envii.git
cd envii/envii-cli
npm install
npm run build
npm link
必要条件: Node.js 18+
初期化(初回のみ)
Section titled “初期化(初回のみ)”envii init
これにより12ワードのリカバリフレーズが生成されます。安全に保存してください — これがバックアップを復号化する唯一の方法です。パスワード、メール、アカウントはありません。
重要: リカバリフレーズを書き留めて安全な場所に保存してください(パスワードマネージャー、物理的なバックアップ)。紛失すると、バックアップは永久に復元不可能になります。
コアコマンド
Section titled “コアコマンド”| コマンド | 説明 |
|---|---|
envii init | enviiを初期化、リカバリフレーズを生成 |
envii backup | カレントディレクトリツリーをスキャンしてすべての.envファイルをバックアップ |
envii restore | バックアップされたすべての.envファイルをダウンロードして復号化 |
envii restore --force | プロンプトなしで既存の.envファイルを上書きして復元 |
envii list | アクティブなバックアップを持つすべてのプロジェクトをリスト表示 |
バックアップフロー
Section titled “バックアップフロー”cd ~/projects # プロジェクトのルートに移動
envii backup # サブディレクトリ内のすべての.envファイルをスキャン
- Enviiはカレントディレクトリツリーをプロジェクト(
.git、package.jsonなどで識別)についてスキャン - すべての
.env*ファイルが検出されます(.env、.env.local、.env.productionなど) - 各ファイルはPBKDF2鍵導出(600,000反復)を使用してAES-256-GCMでローカルに暗号化されます
- 暗号化されたデータのみがサーバーに送信されます
- プロジェクトはGitリモートURL、パッケージ名、またはフォルダ名で識別されます
cd ~/projects # 新しいマシンで
envii restore # すべてのバックアップをダウンロードして復号化
- Enviiは暗号化されたバックアップをダウンロード
- リカバリフレーズを使用してローカルで復号化
.envファイルを元のプロジェクトパスに配置- 既存のファイルを上書きする前にプロンプト(スキップするには
--forceを使用)
セキュリティアーキテクチャ
Section titled “セキュリティアーキテクチャ”| 機能 | 詳細 |
|---|---|
| 暗号化 | AES-256-GCM |
| 鍵導出 | 600,000反復のPBKDF2 |
| ユニークIV | 各バックアップには一意の初期化ベクトル |
| 認証タグ | すべてのバックアップで改ざん検出 |
| ゼロ知識 | サーバーはリカバリフレーズ、プレーンテキスト、暗号化鍵を見ることはない |
| リカバリ | 12ワードフレーズが唯一の認証方法 |
| コマンド | 説明 |
|---|---|
envii init --dev | ローカルAPI(localhost:4400)に対して初期化 |
envii backup --dev | ローカルAPIサーバーを使用してバックアップ |
envii restore --dev | ローカルAPIサーバーから復元 |
envii list --dev | ローカルAPIからバックアップをリスト表示 |
Enviiは設定を以下の場所に保存します:
| アイテム | 場所 |
|---|---|
| 設定ファイル | ~/.envii/config.json |
| リカバリフレーズハッシュ | 設定に保存(フレーズ自体は保存されない) |
一般的なワークフロー
Section titled “一般的なワークフロー”# メインマシンでの初期セットアップ
envii init
# ⚠️ 12ワードのリカバリフレーズを保存!
# プロジェクトディレクトリからすべてのenvファイルをバックアップ
cd ~/projects
envii backup
# 新しいマシンをセットアップ
envii init # 同じリカバリフレーズを入力
cd ~/projects
envii restore # すべての.envファイルが復元される
# バックアップされているものを確認
envii list
# 環境変数を変更した後にバックアップを更新
envii backup # 更新されたファイルを再暗号化してアップロード
バックアップされるもの
Section titled “バックアップされるもの”Enviiは一般的なパターンに一致するすべての環境ファイルをスキャンします:
.env.env.local.env.development.env.production.env.staging.env.test- その他の
.env*バリアント
プロジェクトは以下の存在により検出されます:
.gitディレクトリ(識別子としてリモートURLを使用)package.json(パッケージ名を使用)- フォルダ名にフォールバック
トラブルシューティング
Section titled “トラブルシューティング”| 問題 | 解決策 |
|---|---|
| 「プロジェクトが見つかりません」 | プロジェクトのあるディレクトリにいることを確認(.gitまたはpackage.jsonが必要) |
| 復元が失敗 | 元のinitと同じリカバリフレーズを使用していることを確認 |
| リカバリフレーズを紛失 | バックアップは復元不可能 — 再initして再バックアップ |
| 権限が拒否された | ~/.envii/ディレクトリが書き込み可能であることを確認 |
| ネットワークエラー | インターネット接続を確認; enviiはAPIサーバーへのアクセスが必要 |
ベストプラクティス
Section titled “ベストプラクティス”- リカバリフレーズを保存:パスワードマネージャー(1Password、Bitwardenなど)に保存
- マシンを切り替える前またはフォーマット前に
envii backupを実行 .envファイルをGitにコミットしない — 代わりにenviiを使用- 環境変数の更新後に定期的なバックアップを実行
envii listを使用してバックアップが最新であることを確認