mcampetta/ObsidianQ

GitHub: mcampetta/ObsidianQ

一款基于 Rust 开发的本地优先加密工具,融合后量子密码学与现代加密原语,提供文件加密、安全交付和加密 Vault 等功能。

Stars: 0 | Forks: 0

filetab # ObsidianQ 本地优先、高性能的加密工具,用于文件、文本、Vault、检查以及安全交付工作流。 ObsidianQ 结合了实用的桌面用户体验与现代密码学技术,包括基于密码的保护和用于可信共享的 Secure Contacts 密钥交换。 ## 亮点 - 使用密码或 Secure Contacts 密钥模式进行文件加密/解密 - 自解压包工作流,支持便携式 ZIP 和单文件 EXE 输出 - Secure Contacts 身份和可信联系人管理 - 公开身份导入/导出 (`.obsqpub`) 及元数据 - 加密 Vault 工作流(创建、加载、添加/提取/移除、重置密钥) - 针对 `.obsq`、vault、ZIP 包和单文件 EXE 包格式的容器元数据检查 - 主要文件/Vault 传输操作的流式进度显示 - Windows Shell 集成、包创建快捷方式和文件关联 ## 安全模型(概览) ObsidianQ 围绕本地优先信任设计: - 加密/解密操作在您的机器上进行 - 私钥保留在用户控制之下 - 公开身份在用户之间直接交换 - 核心工作流无需云密钥服务器 项目使用的核心密码学构建块包括: - ML-KEM-768 (Kyber) 用于后量子密钥交换 - XChaCha20-Poly1305 用于认证加密 - Argon2id 用于密码加固 - BLAKE3 用于哈希/指纹 ## 项目结构 - `crates/obsidianq-cli` - CLI 入口和命令 - `crates/obsidianq-core` - 核心密码学/容器逻辑 - `crates/obsidianq-vault` - Vault 格式和 Vault 操作 - `crates/obsidianq-fs` - 文件系统/VFS 支持 - `tools/windows-gui` - Windows 启动器 (WinForms) - `docs/` - 规范和设计文档 - `docs/site/` - GitHub Pages 站点模板 ## 快速入门 1. 从 `tools/windows-gui` 构建或打开启动器。 2. 启动 `ObsidianQ.Launcher.exe`。 3. 首次运行时,根据提示设置或恢复本地密钥对(推荐)。 4. 使用: - `File` 用于文件加密/解密 - `Text` 用于短文本加密/解密 - `Vault` 用于加密 Vault 操作 - `Inspect` 用于元数据和完整性审查 - `Self-Extracting Package` 用于便携式密码保护交付 - `Secure Contacts` 用于基于身份/联系人的交换 重要提示: - `ObsidianQ.Launcher.exe` 和 `obsidianq.exe` 必须保留在同一文件夹中。 - 启动器调用 `obsidianq.exe` 进行运行时操作。 ## 快速入门 (CLI) 在仓库根目录下: ``` cargo build --release -p obsidianq-cli ``` 示例命令模式: ``` # 加密/解密文件(密码模式) obsidianq.exe encrypt --in "input.txt" --out "input.obsq" --password-stdin obsidianq.exe decrypt --in "input.obsq" --out "input.txt" --password-stdin # 生成密钥对 obsidianq.exe keygen --pubkey "pub.bin" --privkey "priv.bin" # 导出/导入 Public Identity obsidianq.exe key export-public --output "identity.obsqpub" obsidianq.exe contacts import "identity.obsqpub" ``` ## 构建 ### Rust workspace ``` cargo build ``` ### Windows 启动器 ``` dotnet build tools/windows-gui/ObsidianQ.Launcher.csproj -c Debug ``` ## 跨平台 CLI 构建 - GitHub Actions 矩阵构建:`.github/workflows/cli-matrix.yml` - 目标平台:Linux, macOS, Windows - 在版本标签 (`v*`) 上,CLI 二进制文件会附加到 GitHub Release 中 - 本地 Linux/macOS 验证清单:`docs/CLI_LINUX_MAC_TESTING.md` ## 截图 / 演示 站点使用的仓库媒体资源: - `docs/assets/filetab.png` - `docs/assets/securecontacts.png` - `docs/assets/vault.png` - `docs/assets/demo.mp4` GitHub Pages 模板: - `docs/index.html` 有关发布说明,请参阅 `docs/site/README.md`。 ## 版本发布与完整性 - 最新版本:`https://github.com/mcampetta/ObsidianQ/releases/latest` - 版本资产包括: - `ObsidianQBundle.zip` - `ObsidianQBundle.sha256` - 使用前验证包完整性: ``` Get-FileHash .\ObsidianQBundle.zip -Algorithm SHA256 ``` 将生成的哈希值与发布的 `.sha256` 文件进行比较。 ## 备份与恢复 - 密钥备份/恢复指南:`docs/KEY_RECOVERY_AND_BACKUP.md` - 在启动器中使用设置: - `BACKUP LOCAL KEYPAIR` - `RESTORE LOCAL KEYPAIR` ## 当前说明 - 启动器是单实例的,并将文件关联打开操作转发到正在运行的实例。 - Vault 传输工作流现在在可用的情况下使用流式进度解析。 - Secure Contacts 是 UI 中默认的基于密钥的模式标签。 - Explorer Shell 操作支持直接创建包和文件夹包工作流。 ## 安全免责声明 ObsidianQ 采用强原语和实用默认值构建,但没有任何软件是无风险的。 请验证您的威胁模型,维护备份,保护私钥,并保持依赖项/版本为最新。
标签:Argon2id, BLAKE3, ChaCha20-Poly1305, DNS 反向解析, HTTP工具, ML-KEM, Rust, Windows集成, 二进制发布, 加密保险库, 可视化界面, 后量子密码学, 多人体追踪, 安全传输, 安全容器, 开源工具, 抗量子计算, 数字身份, 数据防泄露, 文件加密, 本地优先, 桌面应用, 端到端加密, 网络安全, 网络安全, 网络流量审计, 自解压包, 通知系统, 隐私保护, 隐私保护