zrnge/p2p-chat
GitHub: zrnge/p2p-chat
一款基于 WebRTC 的无服务器、端到端加密浏览器点对点消息与文件传输应用,消除中心化服务器以实现绝对隐私。
Stars: 0 | Forks: 0
## 🌐 概述
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 即表示您承认,您对确保您的通信符合所有适用的地方、州和国际法律负有全部责任。在任何情况下,开发者均不对因使用本软件而产生的任何索赔、损害或其他责任负责。
标签:WebRTC, Web通信, 即时通讯, 多模态安全, 数据可视化, 点对点网络, 端到端加密, 网络安全, 自定义脚本, 隐私保护