Oleander Chat

基于 IPv6 的端到端加密即时通讯应用

项目简介

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

  1. 运行主程序: python app/main.py
  2. 选择“创建新用户”,输入用户名和密码。
  3. 系统会生成 ECC 密钥对,并在服务器注册用户 ID 和 IPv6 地址。
  4. 本地将生成 user.zip 文件存储加密凭证。

好友添加采用“交换名片”机制:

  1. 从好友处获取其 me.zip 公共信息文件。
  2. 在应用中右键点击好友列表区域,选择“加好友”。
  3. 导入好友的 me.zip 文件。
  4. 好友将出现在列表中,双方互为好友后即可通信。

选择好友,输入消息(支持最多 128 字符),点击发送或按 Enter 键。

注意:消息在发送前已在本地加密,传输过程中不可被窃听。

注意事项
  • 网络要求: 双方需支持 IPv6 且网络通畅。
  • 好友机制: 必须先导入好友的 me.zip 文件才能发送消息。
  • 合规性: 在中国使用需遵守相关法律法规。