项目简介
Oleander Chat 是一个专注于提供安全、私密通信体验的即时通讯应用程序。它利用 IPv6 协议实现点对点通信,极大地减少了对中心化消息服务器的依赖,确保您的对话真正属于您自己。
该项目采用端到端加密技术,结合 ECC 和 AES-256-GCM 混合加密算法,确保消息在传输过程中的安全性与完整性。
核心优势
- 端到端加密
- 基于 IPv6 P2P
- 身份验证
核心功能
端到端加密
采用 ECC+AES-256-GCM 混合加密算法。消息在发送方设备上加密,仅接收方拥有解密密钥,中间服务器无法查看消息内容。
IPv6 点对点通信
利用 IPv6 的海量地址特性,实现设备间的直接连接(P2P)。服务器仅用于辅助发现对方的 IP 地址,不参与实际消息传输。
消息签名与验证
使用 SHA256 哈希和 PKCS1.5 签名技术,确保消息的完整性和真实性,防止消息被篡改或伪造。
好友管理
支持通过导入好友的 me.zip 公共信息文件来添加好友。好友列表及聊天记录均本地存储,保护隐私。
用户身份系统
注册时生成唯一的 ECC 密钥对和用户 ID。基于密钥对进行身份验证,确保只有持有私钥的用户才能登录。
现代化界面
基于 Tkinter 和 ttkbootstrap 构建,提供美观、直观的图形用户界面,支持 Light/Dark 模式切换。
技术架构
客户端技术栈
- 语言: Python 3.7 / 3.12
- GUI: Tkinter / ttkbootstrap
- 加密: PyCryptodome
- 网络: Socket (IPv6)
服务器端技术栈
- 后端: PHP 7.4
- 数据库: MySQL 5.6.51
- 核心服务: ID/IPv6管理
通信数据流
1. 发送方
↓ (加密: 公钥 + 签名)
2. 服务器 (查找好友IPv6)
↓ (P2P 直连)
3. 接收方 (解密验证)
快速上手指南
确保您的系统已安装 Python 3.7 或 3.12,并配置好 IPv6 网络环境。
安装所需 Python 库:
pip install pycryptodome pyzipper ttkbootstrap
- 运行主程序:
python app/main.py - 选择“创建新用户”,输入用户名和密码。
- 系统会生成 ECC 密钥对,并在服务器注册用户 ID 和 IPv6 地址。
- 本地将生成
user.zip文件存储加密凭证。
好友添加采用“交换名片”机制:
- 从好友处获取其
me.zip公共信息文件。 - 在应用中右键点击好友列表区域,选择“加好友”。
- 导入好友的
me.zip文件。 - 好友将出现在列表中,双方互为好友后即可通信。
选择好友,输入消息(支持最多 128 字符),点击发送或按 Enter 键。
注意:消息在发送前已在本地加密,传输过程中不可被窃听。
注意事项
- 网络要求: 双方需支持 IPv6 且网络通畅。
- 好友机制: 必须先导入好友的
me.zip文件才能发送消息。 - 合规性: 在中国使用需遵守相关法律法规。