ethervault

EtherVault - ローカルパスワード管理ツール

EtherVault は、頑強なセキュリティとシームレスなユーザー体験を提供するように設計された、モダンなマルチプラットフォーム対応のパスワードマネージャーです。デスクトップおよびモバイル (Android/iOS) プラットフォームをサポートし、機密性の高い資格情報の安全な保存、管理、同期を支援します。

English 中文 日本語 한국어

preview

📖 プロジェクト概要

EtherVault は Monorepo 構成を採用し、コアとなるビジネスロジックを UI レイヤーから分離することで、クロスプラットフォームにおける高いコード再利用性と一貫性を実現しています。強力なローカル暗号化 (AES-256) を内蔵し、Google ドライブなどの主要なクラウドストレージサービスとのエンドツーエンドの暗号化同期をサポートしているほか、生体認証によるロック解除やパスワードの健全性分析などの高度な機能を備えています。ユーザーにとって最も安全なデジタル金庫を提供することを目指しています。

🚀 主な機能

🔐 コア保管庫

🛡️ セキュリティダッシュボード

🎲 パスワードジェネレーター

⚙️ 設定とエコシステム

🛠️ 技術スタック

このプロジェクトは、モダンなフロントエンド技術スタックで構築されています:

💻 開発ガイド

前提条件

1. Google Console のセットアップ (クラウド同期用)

アプリを実行する前に、Google ドライブ同期を有効にするために Google Cloud Console でプロジェクトをセットアップする必要があります。

  1. Google Cloud Console にアクセスします。
  2. 新しいプロジェクトを作成します (例: ethervault-dev)。
  3. API の有効化:
    • API とサービス > ライブラリ に移動します。
    • Google Drive API を検索して有効にします。
  4. OAuth 同意画面の設定:
    • API とサービス > OAuth 同意画面 に移動します。
    • 外部 (External) を選択します。
    • 必要なアプリ情報を入力します。
    • テストユーザー として自分のメールアドレスを追加します。
  5. 認証情報の作成 (Web クライアント):
    • API とサービス > 認証情報 に移動します。
    • 認証情報を作成 > OAuth クライアント ID をクリックします。
    • アプリケーションの種類: ウェブ アプリケーション
    • 承認された JavaScript 生成元を追加: http://localhost:3000 (必要に応じて http://localhost:5173)。
    • 承認されたリダイレクト URI を追加: http://localhost:3000 (必要に応じて http://localhost:5173)。
    • クライアント ID をコピーします。
  6. 認証情報の作成 (iOS クライアント):
    • API とサービス > 認証情報 に移動します。
    • 認証情報を作成 > OAuth クライアント ID をクリックします。
    • アプリケーションの種類: iOS
    • Bundle ID を追加: com.ethervault.app
    • クライアント ID をコピーします。
  7. 環境変数の設定:
    • packages/app/.env ファイルを作成します (.env.example からコピー)。
    • 認証情報を追加します:
      # ローカル開発用
      VITE_GOOGLE_CLIENT_ID=your_client_id_here
      # iOS、Android、デスクトップのネイティブアプリ用
      VITE_GOOGLE_CLIENT_ID_IOS=your_client_id_here
      

2. 依存関係のインストール

プロジェクトのルートディレクトリで実行します:

npm install

3. 開発環境の起動

Web モード (ブラウザ):

npm run dev

デスクトップモード (Electron):

npm run dev:desktop

モバイル同期 (Capacitor):

npm run mobile:sync

4. ビルドとパッケージング

Web アセットのビルド:

npm run build

デスクトップアプリのビルド:

npm run dist:desktop

iOS/Android のビルド:

# iOS
npm run build:ios

# Android
npm run build:android

5. その他のコマンド

プロジェクトのクリーン:

npm run clean

型チェック:

npm run type-check

📄 ライセンス

このプロジェクトは MIT ライセンス の下でライセンスされています。特に明記されていない限り、このプロジェクトのコードを自由に使用、変更、配布することができます。

🤝 貢献

貢献は大歓迎です!提案がある場合やバグを見つけた場合は、以下の手順に従ってください:

  1. リポジトリをフォークします。
  2. フィーチャーブランチを作成します (git checkout -b feature/AmazingFeature)。
  3. 変更をコミットします (git commit -m 'Add some AmazingFeature')。
  4. ブランチにプッシュします (git push origin feature/AmazingFeature)。
  5. プルリクエストを作成します。

EtherVault — ローカルで安全に、世界と同期。