zrnge/p2p-chat

GitHub: zrnge/p2p-chat

一款基于 WebRTC 的无服务器、端到端加密浏览器点对点消息与文件传输应用,消除中心化服务器以实现绝对隐私。

Stars: 0 | Forks: 0

Ephemeral

一个去中心化、无状态且端到端加密的点对点(P2P)通信协议。

Live Demo Cryptography WebRTC License: MIT

## 🌐 概述 Ephemeral 是一个工业级、serverless 的通信平台,其核心设计理念是绝对的隐私和匿名性。Ephemeral 完全在客户端浏览器中运行,利用 WebRTC Data Channels 建立直接的点对点(P2P)连接。 通过消除中心化基础设施,Ephemeral 确保不会有任何中间服务器处理、记录或路由您的通信。 由 **Zrnge** 构建。 ## 🛡️ 隐私与匿名 传统的消息传递应用程序依赖于中心化服务器,这些服务器天生就会追踪元数据、IP 地址和用户行为。Ephemeral 的构建方式与众不同,可提供 **100% 隐私**: - **绝对无状态**:没有数据库,没有用户账户,也没有身份验证日志。您的身份在我们的系统上根本不存在。 - **零元数据保留**:由于连接是纯 P2P 的,因此没有中心服务器来路由您的消息。我们无法看到您正在与谁交谈、何时交谈或发送了多少数据。 - **完全临时性**:对话仅存在于易失性内存(RAM)中。应用程序关闭或会话终止的那一刻,加密密钥即被销毁,对话将永久不复存在。 - **去中心化信令**:初始的 Session Description Protocol (SDP) payload 完全通过带外(通过二维码或手动复制粘贴)进行交换,确保初始握手不会被中心化信令服务器拦截。 ## 🔐 加密架构 Ephemeral 采用军用级加密技术来保护 P2P 传输层免受窃听和中间人攻击(MITM)。 - **密钥交换**:使用基于 NIST P-256 曲线的椭圆曲线 Diffie-Hellman(ECDH)来安全地协商对等点之间的共享密钥。 - **密钥派生**:协商好的密钥通过利用 SHA-256 的基于 HMAC 的提取和扩展密钥派生函数(HKDF)进行处理,以生成会话密钥。 - **身份验证加密**:所有 payload(文本和文件)均使用 AES-256-GCM 加密。每次传输都会生成一个全新的、加密安全的 12 字节初始化向量(IV)。 - **前向保密**:密钥在每个会话期间本地生成,且永远不会触及持久化存储。 - **带外身份验证**:该协议提供一个可视化的“安全号码”指纹(派生自公钥),用于相互验证连接并防止活动拦截。 ## ✨ 技术特性 - **直接 P2P 架构**:真正的零信任、serverless 基础设施。 - **加密文件传输(100MB 限制)**:一个定制的 WebRTC 分块引擎将大文件分割成数以千计的 16KB 加密数据包,并通过 `Uint8Array` Blob 拼接在接收方的内存中安全地重新组装它们。 - **高级流控制**:内置的网络背压算法监控 WebRTC Data Channel 的 `bufferedAmount`,自动暂停和恢复上传,以防止缓冲区溢出和浏览器崩溃。 - **实时传输 UI**:动态进度条可追踪发送方和接收方精确的分块进度。 - **严格的 Payload 校验**:通过严格的 Data URI 过滤,自动缓解基于 DOM 的跨站脚本攻击(XSS)和协议注入向量。 - **响应式 UI/UX**:采用最先进的玻璃拟态界面,针对桌面和移动环境进行了优化。 - **离线弹性**:能够完全通过本地网络信令运行,无需外部依赖。 ## 🚀 部署与使用 ### 本地环境 要审核或在本地运行环境: ``` git clone https://github.com/zrnge/p2p-chat.git cd p2p-chat npx http-server -p 8080 ``` ### 连接流程 1. **初始化**:主机发起会话,生成一个编码为二维码 payload 的本地化 SDP offer。 2. **扫描**:对等方扫描二维码(或处理文本 payload),生成 SDP 应答。 3. **确认**:主机扫描生成的应答。 4. **建立**:WebRTC 隧道通过身份验证,加密通道开启。 ## ⚖️ 法律与免责声明 本应用程序按“原样”提供,严格仅用于合法和教育目的。**对于任何个人或实体的非法活动、犯罪或滥用此软件的行为,开发者 (Zrnge) 绝对不承担任何责任或义务。** 使用 Ephemeral 即表示您承认,您对确保您的通信符合所有适用的地方、州和国际法律负有全部责任。在任何情况下,开发者均不对因使用本软件而产生的任何索赔、损害或其他责任负责。

Zrnge 用 ❤️ 构建

代码库实时环境

标签:WebRTC, Web通信, 即时通讯, 多模态安全, 数据可视化, 点对点网络, 端到端加密, 网络安全, 自定义脚本, 隐私保护