コンテンツにスキップ

Envii - 暗号化環境変数バックアップ チートシート

Envii - 暗号化環境変数バックアップ チートシート

Section titled “Envii - 暗号化環境変数バックアップ チートシート”

マシン間で.envファイルを安全にバックアップおよび復元するCLIツール。12ワードのリカバリフレーズでエンドツーエンド暗号化(AES-256-GCM)を使用 — サーバーはプレーンテキストの秘密を見ることはありません。

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+

envii init

これにより12ワードのリカバリフレーズが生成されます。安全に保存してください — これがバックアップを復号化する唯一の方法です。パスワード、メール、アカウントはありません。

重要: リカバリフレーズを書き留めて安全な場所に保存してください(パスワードマネージャー、物理的なバックアップ)。紛失すると、バックアップは永久に復元不可能になります。

コマンド説明
envii initenviiを初期化、リカバリフレーズを生成
envii backupカレントディレクトリツリーをスキャンしてすべての.envファイルをバックアップ
envii restoreバックアップされたすべての.envファイルをダウンロードして復号化
envii restore --forceプロンプトなしで既存の.envファイルを上書きして復元
envii listアクティブなバックアップを持つすべてのプロジェクトをリスト表示
cd ~/projects      # プロジェクトのルートに移動
envii backup       # サブディレクトリ内のすべての.envファイルをスキャン
  1. Enviiはカレントディレクトリツリーをプロジェクト(.gitpackage.jsonなどで識別)についてスキャン
  2. すべての.env*ファイルが検出されます(.env.env.local.env.productionなど)
  3. 各ファイルはPBKDF2鍵導出(600,000反復)を使用してAES-256-GCMでローカルに暗号化されます
  4. 暗号化されたデータのみがサーバーに送信されます
  5. プロジェクトはGitリモートURL、パッケージ名、またはフォルダ名で識別されます
cd ~/projects      # 新しいマシンで
envii restore      # すべてのバックアップをダウンロードして復号化
  1. Enviiは暗号化されたバックアップをダウンロード
  2. リカバリフレーズを使用してローカルで復号化
  3. .envファイルを元のプロジェクトパスに配置
  4. 既存のファイルを上書きする前にプロンプト(スキップするには--forceを使用)
機能詳細
暗号化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
リカバリフレーズハッシュ設定に保存(フレーズ自体は保存されない)
# メインマシンでの初期セットアップ
envii init
# ⚠️ 12ワードのリカバリフレーズを保存!

# プロジェクトディレクトリからすべてのenvファイルをバックアップ
cd ~/projects
envii backup

# 新しいマシンをセットアップ
envii init          # 同じリカバリフレーズを入力
cd ~/projects
envii restore       # すべての.envファイルが復元される

# バックアップされているものを確認
envii list

# 環境変数を変更した後にバックアップを更新
envii backup        # 更新されたファイルを再暗号化してアップロード

Enviiは一般的なパターンに一致するすべての環境ファイルをスキャンします:

  • .env
  • .env.local
  • .env.development
  • .env.production
  • .env.staging
  • .env.test
  • その他の.env*バリアント

プロジェクトは以下の存在により検出されます:

  • .gitディレクトリ(識別子としてリモートURLを使用)
  • package.json(パッケージ名を使用)
  • フォルダ名にフォールバック
問題解決策
「プロジェクトが見つかりません」プロジェクトのあるディレクトリにいることを確認(.gitまたはpackage.jsonが必要)
復元が失敗元のinitと同じリカバリフレーズを使用していることを確認
リカバリフレーズを紛失バックアップは復元不可能 — 再initして再バックアップ
権限が拒否された~/.envii/ディレクトリが書き込み可能であることを確認
ネットワークエラーインターネット接続を確認; enviiはAPIサーバーへのアクセスが必要
  • リカバリフレーズを保存:パスワードマネージャー(1Password、Bitwardenなど)に保存
  • マシンを切り替える前またはフォーマット前にenvii backupを実行
  • .envファイルをGitにコミットしない — 代わりにenviiを使用
  • 環境変数の更新後に定期的なバックアップを実行
  • envii listを使用してバックアップが最新であることを確認