yclgkd/ZeroLink

GitHub: yclgkd/ZeroLink

一款零知识、端到端加密的一次性秘密分享工具,确保服务器永远无法获取明文内容。

Stars: 1 | Forks: 0

# ZeroLink **🌟 在线演示**: [zerolink.dev](https://zerolink.dev) ## 概述 ZeroLink 是一个安全至上的秘密分享工具,具有以下特性: - **零知识架构**:服务器从不存储明文或任何私钥 - **端到端加密**:只有接收者才能解密内容 - **双创建模式**:快速分享 (密码) / 安全分享 (Passkey) - **WebAuthn 管理**:安全分享使用系统/硬件密钥实现不可导出的管理权限 - **TOFU 保护**:URL Fragment + Lock Challenge 防止竞态条件的锁劫持 - **密文长度保护**:填充机制减少基于长度的信息泄露 - **当前产品模式**:仅限快速分享 / 安全分享 ## 核心流程 ``` 1. Sender → Create (Quick Share password mode / Secure Share Passkey mode) → Share link: /s/:uuid#k=[&af=] 2. Receiver → Lock (enter password → generate RSA keypair → store locally) → Display Safety Code (Emoji/Color) 3. Sender → Verify Safety Code (out-of-band) → Deliver (hybrid encryption + Padding → deliver ciphertext) 4. Receiver → Enter password → Decrypt and view ``` ## 文档 ### 入门指南 - [快速入门指南](./docs/QUICK_START.md) - 从零开始搭建运行开发环境 - [部署指南](./docs/DEPLOYMENT.md) - 手动部署到 Cloudflare Workers - [自托管部署指南](./docs/SELF_HOSTED_DEPLOYMENT.md) - 运行已发布的 Docker Compose 栈或本地构建覆盖 - [技术栈规范](./docs/TECH_STACK.md) - 完整的技术栈与工具链 ### 设计文档 - [完整 PRD v3.0](./docs/PRD.md) - 产品需求文档 - [架构概述](./docs/ARCHITECTURE.md) - 技术架构与核心协议 - [安全模型](./docs/SECURITY.md) - 威胁模型与安全保障 ### 导航 - [文档索引](./docs/INDEX.md) - AI 助手与开发者快速导航 ## 技术栈 ### 前端 - React 19 + Vite 7 + React Router - Tailwind CSS v4 + shadcn/ui (基于 Radix 原语) - Zustand + Zod - Web Crypto API (AES-GCM, RSA-OAEP, SHA-256) - WebAuthn (FIDO2) - Argon2id (KDF) ### 后端 - Cloudflare Workers + Durable Objects (提供免费套餐,支持 SQLite 后端) - 可选:通过已发布的 GHCR 镜像或本地构建覆盖实现 Docker Compose 自托管栈 ## 浏览器兼容性 | 浏览器 | 最低版本 | 发布日期 | |---------|-----------------|--------------| | Chrome / Edge | 93+ | 2021 年 9 月 | | Firefox | 92+ | 2021 年 9 月 | | Safari | 15.4+ | 2022 年 3 月 | **注意**: - WebAuthn (硬件密钥) 需要 HTTPS;本地开发时可使用 `localhost` - Ed25519 签名验证:Chrome 113+ / Safari 16.4+ 使用原生 WebCrypto;旧版本自动回退到纯 JS 实现 (`@noble/ed25519`) - 不提供 polyfills;不支持 Internet Explorer ## 安全特性 ### v3.0 当前重点 1. **Lock Secret (URL Fragment)**:防止预加载爬虫劫持锁 2. **填充 (4KB 块)**:减少基于密文长度的信息泄露 3. **强制 Argon2id**:接收者私钥包装 (目标耗时 250-500ms) 4. **双创建模式**:快速分享 (密码) / 安全分享 (Passkey) 5. **可验证的发布链**:签名 Manifest + 运行时哈希验证 ### 安全保障 - 服务器零知识 - 端到端机密性 - 更新/销毁操作不可伪造 (WebAuthn 或 ECDSA) - 防重放/重排/并发覆盖 (DO 原子性) - 最小化的元数据泄露 - 前端完整性可验证 (CSP + 签名 Manifest) - 安全分享管理私钥不可导出 (WebAuthn);快速分享管理密钥编码在管理链接中 ## 部署 ZeroLink 支持两种部署路径: - Cloudflare Workers 手动部署,详见 [部署指南](./docs/DEPLOYMENT.md) - Docker Compose 自托管,详见 [自托管部署指南](./docs/SELF_HOSTED_DEPLOYMENT.md) ### Cloudflare 部署前置条件 - Cloudflare 账户 (免费套餐即可;支持 Durable Objects 免费额度) - Node.js 22+ · pnpm 9+ · Wrangler CLI 4+ 完整的逐步流程请参阅 [部署指南](./docs/DEPLOYMENT.md)。使用 Docker Compose 进行自托管不需要 Cloudflare 工具链。 ### 自托管快速开始 使用已发布的镜像标签,以确保下载的 Compose 文件和拉取的镜像保持一致: ``` export ZEROLINK_VERSION=YOUR_RELEASE_VERSION mkdir zerolink-selfhost cd zerolink-selfhost curl -fsSLO "https://raw.githubusercontent.com/yclgkd/ZeroLink/v${ZEROLINK_VERSION}/deploy/selfhost/docker-compose.yml" curl -fsSLO "https://raw.githubusercontent.com/yclgkd/ZeroLink/v${ZEROLINK_VERSION}/deploy/selfhost/garage.toml" curl -fsSLO "https://raw.githubusercontent.com/yclgkd/ZeroLink/v${ZEROLINK_VERSION}/deploy/selfhost/garage-init.sh" curl -fsSLo .env.example "https://raw.githubusercontent.com/yclgkd/ZeroLink/v${ZEROLINK_VERSION}/deploy/selfhost/.env.example" cp .env.example .env sed -i.bak "s/^ZEROLINK_IMAGE_TAG=.*/ZEROLINK_IMAGE_TAG=${ZEROLINK_VERSION}/" .env && rm .env.bak docker compose --profile storage up -d ``` 默认栈会拉取 `${ZEROLINK_IMAGE_REPOSITORY:-ghcr.io/yclgkd}/zerolink-api` 和 `${ZEROLINK_IMAGE_REPOSITORY:-ghcr.io/yclgkd}/zerolink-web`。 当使用来自 fork 或组织镜像的图像时,请在 `.env` 中设置 `ZEROLINK_IMAGE_REPOSITORY`, 或使用 [自托管部署指南](./docs/SELF_HOSTED_DEPLOYMENT.md) 进行本地构建覆盖。 ## 快速开始 (本地开发) ``` git clone https://github.com/yclgkd/ZeroLink.git cd ZeroLink pnpm install pnpm dev ``` ## 安全 ZeroLink 是一个高度重视安全的项目。如果您发现漏洞,**请不要公开提交 issue**。请参阅我们的 [安全政策](./SECURITY.md) 了解负责任的披露说明。 有关技术安全模型和威胁分析,请参阅 [安全模型](./docs/SECURITY.md)。 ## 许可证 本项目基于 GNU Affero General Public License v3.0 (AGPL-3.0) 授权。有关详细信息,请参阅 [LICENSE](./LICENSE)。
标签:Cryptography, Docker, Docker Compose, FIDO2, IP 地址批量处理, Passkey, RSA加密, TOFU, WebAuthn, 加密通信, 安全防御评估, 开源, 无密码认证, 机密分享, 混合加密, 版权保护, 程序员工具, 端到端加密, 网络安全, 网络安全, 自动化攻击, 自托管, 蓝队防御, 赛博安全, 防中间人攻击, 防御绕过, 隐私保护, 隐私保护, 零知识架构, 零知识证明