ethervault

EtherVault - 本地密码管理工具

EtherVault 是一款现代化的跨平台密码管理器,专为工业级安全和无缝用户体验而设计。它支持桌面端以及移动端 (Android/iOS) 平台,帮助您安全地存储、管理和同步敏感凭证。

English 中文 日本語 한국어

preview

📖 项目概述

EtherVault 采用 Monorepo(单仓)架构构建,将核心业务逻辑与 UI 层分离,以确保跨平台的高度代码复用性与一致性。该项目内置了强大的本地加密(AES-256),支持与主流云存储服务(如 Google Drive)进行端到端加密同步,并集成了生物识别解锁、密码健康度分析等高级功能。它致力于为用户打造最安全的数字保险库。

🚀 功能特性

🔐 核心保险库

🛡️ 安全仪表盘

🎲 密码生成器

⚙️ 设置与生态

🛠️ 技术栈

本项目构建于现代化的前端技术栈之上:

💻 开发指南

前置准备

1. Google Console 配置 (用于云同步)

在运行应用程序之前,您需要在 Google Cloud Console 中设置一个项目以启用 Google Drive 同步:

  1. 访问 Google Cloud Console
  2. 创建一个新项目 (例如 ethervault-dev)。
  3. 启用 API
    • 前往 APIs & Services > Library
    • 搜索 Google Drive API 并启用它。
  4. 配置 OAuth 同意屏幕
    • 前往 APIs & Services > OAuth consent screen
    • 选择 External (除非您是 G-Suite 用户)。
    • 填写所需的应用程序信息。
    • 添加您的电子邮件作为 测试用户
  5. 创建凭证 (Web 客户端)
    • 前往 APIs & Services > Credentials
    • 点击 Create Credentials > OAuth Client ID
    • 应用程序类型选择:Web application
    • 添加授权的 JavaScript 来源:http://localhost:3000(如果需要,也可添加 http://localhost:5173)。
    • 添加授权的重定向 URI:http://localhost:3000(如果需要,也可添加 http://localhost:5173)。
    • 复制 Client ID
  6. 创建凭证 (iOS 客户端)
    • 前往 APIs & Services > Credentials
    • 点击 Create Credentials > OAuth Client ID
    • 应用程序类型选择:iOS
    • 添加 Bundle ID:com.ethervault.app
    • 复制 Client ID
  7. 配置环境变量
    • packages/app/.env 中创建一个 .env file 文件(如果存在 .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 许可证 开源。除非另有说明,您可以自由地使用、修改和分发此项目的代码。

🤝 参与贡献

欢迎大家贡献代码!如果您有任何建议或发现了 Bug,请按照以下步骤操作:

  1. Fork 本仓库。
  2. 创建您的特性分支 (git checkout -b feature/AmazingFeature)。
  3. 提交您的修改 (git commit -m 'Add some AmazingFeature')。
  4. 将修改推送到该分支 (git push origin feature/AmazingFeature)。
  5. 提交 Pull Request。

EtherVault - 本地密码管理工具 — 本地安全,全球同步。