| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
经典局域网聊天软件飞秋 (FeiQ) 的现代跨平台增强版本,兼容飞鸽传书 (IP Messenger) 协议。
| 平台 | 状态 |
|---|---|
| macOS | ✅ |
| Windows | ✅ |
| Linux | ✅ |
| 层 | 技术 | 说明 |
|---|---|---|
| 协议引擎 | Rust + tokio | IPMSG v9 完整协议实现 |
| 编码 | encoding_rs (Mozilla) | 纯 Rust GBK/UTF-8 |
| 加密 | ring 0.17 | AES-256-GCM + ECDH |
| 存储 | rusqlite (bundled) | SQLite 内嵌,无系统依赖 |
| 桌面壳 | Tauri 2 | ~5MB 二进制,三平台原生 |
| 前端 | React 18 + TypeScript | Vite 构建 |
| 样式 | Tailwind CSS 3 | 工具类优先 |
feiq-plus-plus/ ├── packages/ │ ├── feiq-core/ # Rust: 协议引擎 + 网络 + 存储 + 加密 │ │ └── src/ │ │ ├── protocol/ # IPMSG 协议常量、类型、编解码、解析链 │ │ ├── network/ # UDP/TCP/Relay 通信、加密 │ │ ├── engine/ # 引擎控制器 + 事件系统 + 文件任务 │ │ ├── model/ # 联系人簿 (线程安全) │ │ └── storage/ # SQLite 聊天记录 + INI 配置 │ ├── feiq-app/ # Tauri 2 桌面壳 │ │ └── src/ # commands (36), events, state, tray │ ├── feiq-relay/ # Rust WebSocket 中继服务器 │ │ └── src/ # server, main, lib │ └── feiq-gui/ # React 前端 │ └── src/ │ ├── components/ # Sidebar, ChatPanel, MessageBubble, InputArea, │ │ # EmojiPicker, SettingsDialog, CreateGroupDialog, │ │ # FileTransferPanel, DoodleDialog, RemoteFileBrowser │ └── stores/ # Zustand: contactStore, messageStore, │ # fileTransferStore, groupStore, typingStore ├── docs/ │ ├── PLAN.md # 完整实现计划 │ ├── phase-execution-plan.md # 详细执行方案 │ ├── relay-server-design.md # 中继服务器技术方案 │ └── RELEASE_NOTES_v0.1.0.md # 发布说明 ├── README.md # 本文件 └── Cargo.toml # Rust workspace
# 克隆项目
git clone https://github.com/lulyon/feiq-plus-plus.git
cd feiq-plus-plus
# 安装前端依赖
cd packages/feiq-gui && npm install && cd ../..
# 开发模式 (前端热更新 + Rust 后端)
cargo tauri dev
# 仅编译 Rust 核心库
cargo build --workspace
# 运行全部测试 (200 Rust + 18 TypeScript)
cargo test --workspace
npm --prefix packages/feiq-gui test
# 生产构建 + 打包
cargo tauri build首次启动会自动创建 ~/.feiq_setting.ini,兼容原飞秋配置格式:
[user]
name = 你的名字
host = 你的主机名
[network]
custom_group = 192.168.74.|192.168.82.
[app]
send_by_enter = 1完全实现 IP Messenger Draft-9 (v9) 协议,可与以下客户端互通:
| 客户端 | 文本 | 文件 | 表情 | 抖动 |
|---|---|---|---|---|
| 飞鸽传书 (IPMSG) | ✅ | ✅ | — | — |
| 飞秋 (FeiQ) Windows | ✅ | ✅ | ✅ | ✅ |
| 飞秋 (FeiQ) Mac | ✅ | ✅ | ✅ | ✅ |
| feiq++ ↔ feiq++ | ✅ | ✅ | ✅ | ✅ |
feiq++ 间额外支持端到端加密通信。
feiq++ 在协议中使用的版本字符串:
feiq_plus_plus#128#MAC地址#0#0#0#1#9
通过此标识可区分 feiq++ 和对端是否支持加密。
详见 docs/PLAN.md 获取完整实现计划和技术决策记录。
cargo test --workspace # 全部 200 个 Rust 测试
cargo test -p feiq-core # 仅核心库测试
npm --prefix packages/feiq-gui test # 前端 18 个 TypeScript 测试Rust 源码: ~11,000 行 (35+ 文件, 3 crates) React/TS: ~3,000 行 (11 组件 + 5 stores) 测试覆盖: 218 个测试 (200 Rust + 18 TS), 全部通过 IPC 命令: 36 个
本项目参考了以下开源项目:
| Back | FazBrowse Home | New Git URL |