# FileShareEXE **Repository Path**: hhh917/file-share-exe ## Basic Information - **Project Name**: FileShareEXE - **Description**: 本项目Tauri 版本,可以打包成 Windows EXE 文件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-12 - **Last Updated**: 2025-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FileShare - 局域网文件共享服务 一个基于 Node.js 的局域网文件共享服务,支持文件、文件夹和文本的共享。 > **📢 重要**: 本项目已升级为 **Tauri 版本**,可以打包成 Windows EXE 文件! > > 详见 [GETTING_STARTED.md](./GETTING_STARTED.md) 或 [TAURI_BUILD_GUIDE.md](./TAURI_BUILD_GUIDE.md) ## 功能特性 1. **多平台支持** - 支持 Windows、macOS 和 Linux 2. **多种共享类型** - 支持文件、文件夹和文本共享 3. **二维码访问** - 自动生成二维码,方便移动设备扫描访问 4. **密码保护** - 可选的密码保护功能 5. **拖拽上传** - 支持拖拽文件上传 6. **响应式设计** - 适配手机和电脑端 7. **多IP支持** - 自动检测并支持本机所有可用IP地址 8. **服务控制** - 本地用户可以启动/停止整个服务 9. **文本分享** - 支持创建和分享文本内容,可在弹窗中查看和复制 10. **文件名修复** - 自动修复中文文件名编码问题 11. **实时统计** - 显示文件、文件夹和文本的数量及总大小 ## 安装与启动 ### 安装依赖 ```bash npm install ``` ### 启动服务 ```bash # 使用默认配置启动 (端口 5321, 共享目录 ./shared) npm start # 自定义端口和共享目录 node server.js --port 8080 --dir ./my-shared-files # 启用密码保护 node server.js --port 5321 --dir ./shared --password mysecretpassword ``` ### 快捷启动脚本 - Windows: 双击 `start.bat` 或在命令行运行 `start.bat` - Linux/macOS: 在终端运行 `./start.sh` ## 使用说明 1. 启动服务后,会在控制台输出访问地址和二维码 2. 在浏览器中打开该地址即可访问文件共享页面 3. 可以通过以下方式添加共享内容: - 点击"上传文件"按钮选择文件上传 - 拖拽文件到页面底部的上传区域 - 点击"分享文本"按钮创建文本共享 4. 所有共享内容会显示在表格中,可以进行下载或删除操作 5. 本地用户(访问本机地址的用户)拥有完整权限: - 可以上传、删除文件 - 可以设置/修改密码保护 - 可以启动/停止服务 - 可以清空所有共享内容 6. 远程用户需要密码才能访问(如果启用了密码保护) 7. 文本内容可以在弹窗中查看,并支持一键复制标题和内容 ## 命令行参数 - `-p, --port` - 指定服务端口 (默认: 5321) - `-d, --dir` - 指定共享目录路径 (默认: ./shared) - `--password` - 设置访问密码 (可选) ## 目录结构 ``` . ├── server.js # 服务端主程序 ├── package.json # 项目配置和依赖 ├── README.md # 说明文档 ├── start.bat # Windows启动脚本 ├── start.sh # Linux/macOS启动脚本 ├── public/ # 前端静态资源 │ ├── index.html # 主页面 │ ├── password.html # 密码输入页面 │ ├── styles.css # 样式表 │ ├── vue.global.js # Vue.js框架 │ └── app.js # 前端逻辑 └── shared/ # 默认共享目录 ``` ## 权限说明 系统区分本地用户和远程用户: - **本地用户**:访问本机地址(如 localhost、127.0.0.1 或本机IP)的用户 - 拥有完整权限 - 可以上传、删除文件 - 可以设置/修改密码保护 - 可以启动/停止服务 - 可以清空所有共享内容 - **远程用户**:通过网络访问的其他设备用户 - 仅能查看和下载文件 - 需要正确密码才能访问(如果启用了密码保护) - 无法执行管理操作 ## 安全提示 1. 此工具仅适用于可信的局域网环境 2. 如需在公网使用,请增加额外的安全措施 3. 密码以明文形式传递,实际部署时建议使用加密存储 4. 服务停止时,远程用户将无法访问 ## 效果 ![img.png](img.png) ![img_1.png](img_1.png) ![img_2.png](img_2.png) --- ## 🚀 Tauri 版本(新) 本项目已升级为 **Tauri 版本**,提供以下优势: ### 优势 - ✅ **轻量级** - 比 Electron 更小的应用体积 - ✅ **高性能** - 使用 Rust 后端,性能优异 - ✅ **跨平台** - 支持 Windows、macOS、Linux - ✅ **易于打包** - 支持 EXE、MSI、DMG、AppImage 等格式 - ✅ **系统集成** - 支持系统托盘、快捷方式等 ### 快速开始 ```bash # 1. 安装依赖 npm install # 2. 启动开发服务器 npm run tauri-dev # 3. 构建 EXE npm run tauri-build ``` ### 文档 - 📖 [开始使用指南](./GETTING_STARTED.md) - 新用户必读 - 📖 [快速开始指南](./QUICK_START.md) - 5 分钟快速上手 - 📖 [详细安装指南](./INSTALL.md) - 从源代码构建 - 📖 [Tauri 构建指南](./TAURI_BUILD_GUIDE.md) - 构建和发布 - 📖 [项目架构文档](./ARCHITECTURE.md) - 理解项目结构 - 📖 [项目总结](./PROJECT_SUMMARY.md) - 项目概览 - 📖 [文档索引](./INDEX.md) - 快速查找文档 ### 项目结构 ``` FileShareEXE/ ├── src-tauri/ # Rust 后端代码 │ ├── src/ │ │ ├── main.rs # 应用入口 │ │ ├── commands.rs # Tauri 命令 │ │ ├── server.rs # HTTP 服务器 │ │ └── utils.rs # 工具函数 │ └── Cargo.toml # Rust 依赖 ├── public/ # 前端代码 │ ├── index.html │ ├── app.js │ └── styles.css ├── tauri.conf.json # Tauri 配置 ├── package.json # Node.js 配置 └── 📖 文档文件... ``` ### 技术栈 - **后端**: Rust + Tauri + Axum - **前端**: Vue.js 3 - **构建**: Cargo + npm + Tauri CLI ### 构建输出 ``` src-tauri/target/release/bundle/ ├── nsis/ │ └── FileShare_1.0.0_x64-setup.exe # NSIS 安装程序 ├── msi/ │ └── FileShare_1.0.0_x64_en-US.msi # MSI 安装程序 └── ... ``` ### 系统要求 - **操作系统**: Windows 10 或更高版本 - **Rust**: 1.70 或更高版本 - **Node.js**: 16 或更高版本 - **Visual Studio Build Tools**: 用于编译 Rust 详见 [INSTALL.md](./INSTALL.md) ### 常见问题 **Q: 如何快速开始?** A: 阅读 [GETTING_STARTED.md](./GETTING_STARTED.md) **Q: 如何从源代码构建?** A: 阅读 [INSTALL.md](./INSTALL.md) **Q: 如何修改应用?** A: 阅读 [ARCHITECTURE.md](./ARCHITECTURE.md) **Q: 如何发布应用?** A: 阅读 [PROJECT_SUMMARY.md](./PROJECT_SUMMARY.md) ### 获取帮助 - 📖 查看 [文档索引](./INDEX.md) 快速查找 - 📖 查看 [完成清单](./CHECKLIST.md) 了解项目状态 - 📖 查看 [交付报告](./DELIVERY_REPORT.md) 了解项目详情 --- ## 📝 版本说明 - **原始版本**: Node.js 服务器版本(见 [README.md](./README.md) 原始内容) - **Tauri 版本**: 轻量级桌面应用版本(本版本) 两个版本都可以使用,选择适合您的版本: - **Node.js 版本**: 适合在服务器上运行,支持命令行启动 - **Tauri 版本**: 适合在桌面上运行,支持 GUI 和系统集成 --- ## 📄 许可证 MIT License - 详见 LICENSE 文件 ## 🙏 致谢 感谢以下项目的支持: - [Tauri](https://tauri.app/) - 桌面应用框架 - [Rust](https://www.rust-lang.org/) - 编程语言 - [Vue.js](https://vuejs.org/) - UI 框架 --- **最后更新**: 2024年 **当前版本**: 1.0.0 (Tauri)