# LanBird2 **Repository Path**: null_465_7266/lan-bird2 ## Basic Information - **Project Name**: LanBird2 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-28 - **Last Updated**: 2026-05-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # LAN Chat - 局域网即时通信与文件传输工具 [![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) 一款基于 Electron 开发的局域网即时通信与文件传输工具,无需服务器支持,直接在局域网内实现即时消息和高速文件传输。 主要特性: 既然是文件传输工具,就要快快快,一个大文件能用最快的速度发送完成,多个文件发送也不能等待。 便捷,可以安装或者不安装软件,解决的痛点就是对方一般没有安装你的软件可以方便的通过web浏览器访问传输文件,只是给对方一个二维码和一个链接。 操作简单,约定大于配置, 界面简洁,去除一切复杂的操作步骤,直接进入传输状态。 支持文件夹发送 在个人网站,第三方网站,我开发的应用商店推广 增加安卓端 推荐题目:局域网消息和文件传递系统 难度:中,起评分:85分,易于实现且文档完备性高 选择理由 维度 分析 技术栈成熟 Python/Java Socket编程,资料丰富 功能边界清晰 需求明确,易写需求文档 模块划分自然 天然分为多个独立模块 测试用例好写 功能点明确,测试场景丰富 开发周期短 1-2周可完成基本功能 实现内容 在局域网内能够动态看到正在在线的系统,能够针对指定个人的在线系统发送消息或发送文件。要求能够使用聊天模式与多个人同时进行消息发生,能够同时发生和接受多个文件(包括针对文件夹内所有文件的发生和接受)。具体可参考飞鸽传书的程序功能。 ## ✨ 功能特点 - **局域网即时通信** - 自动发现局域网内的在线用户,实时发送消息 - **高速文件传输** - 支持大文件传输,断点续传,多线程传输 - **无需服务器** - 纯P2P架构,数据不经过第三方服务器 - **开机自启动** - 支持设置开机自动运行 - **快捷键支持** - 丰富的快捷键操作 - **系统通知** - 消息和文件传输通知提醒 ## 🛠️ 技术栈 - **框架**: Electron 42.0.1 - **前端**: React 19 + TypeScript - **构建工具**: Vite 5 - **样式**: TailwindCSS 3 - **数据库**: SQL.js(嵌入式数据库) - **UI组件**: Lucide React ## 📁 项目结构 ``` source/ ├── src/ │ ├── main/ # 主进程代码 │ │ ├── db/ # 数据库管理 │ │ ├── ipc/ # IPC通信管理 │ │ ├── network/ # 网络模块(发现、消息、文件传输) │ │ ├── notifications/ # 通知管理 │ │ ├── utils/ # 工具函数 │ │ └── index.ts # 主进程入口 │ ├── renderer/ # 渲染进程代码 │ │ ├── components/ # React组件 │ │ ├── ipc/ # IPC客户端 │ │ └── App.tsx # 应用入口 │ └── shared/ # 共享代码(常量、类型) ├── resources/ # 资源文件(图标等) ├── dist/ # 构建输出目录 └── package.json # 项目配置 ``` ## 🚀 快速开始 ### 环境要求 - Node.js >= 18.x - npm >= 9.x ### 安装依赖 ```bash cd source npm install ``` ### 开发模式 ```bash npm start ``` ### 构建生产版本 ```bash # 构建代码 npm run build # Windows 打包(NSIS安装程序 + 便携版) npm run electron:build:win # 或使用 electron-forge npm run make ``` ## 📖 使用说明 ### 基本使用 1. **启动应用**: 运行安装后的 `LAN Chat.exe` 2. **自动发现**: 应用会自动发现局域网内的其他在线用户 3. **发送消息**: 点击在线用户即可开始聊天 4. **发送文件**: 使用文件发送功能选择文件进行传输 ### 快捷键 | 快捷键 | 功能 | |--------|------| | `Ctrl + N` | 新建聊天 | | `Ctrl + W` | 关闭当前窗口 | | `Ctrl + Shift + I` | 打开开发者工具 | ### 设置 - **文件保存路径**: 设置接收文件的默认保存位置 - **开机自启动**: 开启/关闭开机自动运行 ## 🔧 网络配置 应用使用以下端口进行通信: | 端口 | 用途 | |------|------| | 2425 | UDP 广播发现端口 | | 2426 | TCP 消息端口 | | 2427 | TCP 文件传输端口 | 确保防火墙允许这些端口的通信。 ## 🧪 测试 ```bash # 运行测试 npm test # 监听模式 npm run test:watch # 覆盖率报告 npm run test:coverage ``` ## 📝 开发指南 ### 代码规范 - 使用 ESLint 进行代码检查 - TypeScript 类型检查 - 遵循项目现有的代码风格 ### 提交规范 ``` feat: 添加新功能 fix: 修复bug docs: 更新文档 style: 代码格式调整 refactor: 代码重构 test: 添加测试 chore: 构建/工具相关 ``` ## 📄 许可证 MIT License - 详见 [LICENSE](LICENSE) ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📧 联系方式 作者: GKLBB 邮箱: 15709482489@189.cn