joeldavid-dev/sanctuary
GitHub: joeldavid-dev/sanctuary
一款基于 Electron 构建的本地密码与笔记管理桌面应用,采用 AES-256 加密保护用户隐私。
Stars: 0 | Forks: 0
# Sanctuary
使用 ElectronJS 构建的桌面应用程序,用于存储密码和笔记,通过 AES-256 对称加密进行保护,注重用户隐私和优秀的用户体验。
## 预览

## 功能
- AES-256 对称加密。
- 使用 hash 进行密码验证。
- HTML 配置以防止 XSS 攻击。
- 配置存储。
- 将事件日志记录到日志文件。
- 多语言支持。
- 单命令打包配置。
- 单命令发布配置。
- 自动更新。
- 使用图像或视频生成颜色。
## 项目结构
```
├── src/
│ ├── main.js # Main Electron app code (Main Process)
│ ├── preload.js # Code executed before loading the window (Preload Script)
│ ├── assets/ ... # Static assets like images, icons, videos, and fonts
│ ├── config/ # Constant values used by the application
│ │ ├── constants.json
│ │ ├── defaultSettings.json
│ │ ├── globalConfig.json
│ ├── locales/ ... # Language/Localization files
│ ├── renderer/
│ │ ├── homeRenderer.js # Renderer process for the main view
│ │ ├── idRenderer.js # Renderer process for the login view
│ │ ├── lockRenderer.js # Renderer process for the lock view
│ │ ├── splashRenderer.js # Renderer process for the splash view
│ │ ├── components/ ... # Interface components
│ │ ├── utils/ ... # Utilities for renderer processes
│ ├── styles/
│ │ ├── home.css # Specific styles for the main view
│ │ ├── id.css # Specific styles for the login view
│ │ ├── lock.css # Specific styles for the lock view
│ │ ├── splash.css # Specific styles for the splash view
│ │ ├── styles.css # General styles for the entire application
│ ├── utils/
│ │ ├── colorGenerator.js # Predominant color calculation based on an image
│ │ ├── crypto.js # Data encryption
│ │ ├── database.js # Data storage with SQLite
│ │ ├── oldCrypto.js # Encryption for legacy application data
│ │ ├── settings.js # Settings storage
│ ├── views/
│ │ ├── home.html # Main view
│ │ ├── id.html # Login view
│ │ ├── lock.html # Lock view
│ │ ├── splash-screen.html # Splash/Initial view
│ ├── workers/
│ │ ├── passwordChange-worker.js # Worker thread that changes the encryption password for all stored data
│ │ ├── prepareElements-worker.js # Worker thread that decrypts data needed to display the main view
├── package.json
```
## 前置条件
在运行此项目之前,请确保您具备:
- **Node.js**
- 代码编辑器(推荐使用 VS Code)
## 运行项目
克隆代码:
```
git clone https://github.com/joeldavid-dev/sanctuary.git
```
安装 Node 依赖:
```
cd sanctuary
npm install
```
在 debug 模式下运行:
```
npm start
```
构建安装程序:
```
npm run build
```
## 支持的语言
英语、西班牙语、德语、法语、意大利语、日语、韩语、挪威语、葡萄牙语、俄语、芬兰语、瑞典语和简体中文。
标签:AES加密, Electron, IPv6支持, MITM代理, 多模态安全, 密码管理器, 数据加密, 数据可视化, 桌面应用, 笔记, 自定义脚本