# fshare **Repository Path**: luckythc/fshare ## Basic Information - **Project Name**: fshare - **Description**: Go语言编写的电脑/手机文件传输应用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-11 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FShare - 跨平台文件共享工具 FShare是一款轻量级的跨平台文件共享工具,允许您在同一局域网内轻松地在手机和电脑之间传输文件。 ## 功能特点 - 📁 **简单易用**:通过系统托盘图标控制,无需复杂配置 - 🌐 **跨平台支持**:支持Windows和macOS系统 - 📱 **无线传输**:通过二维码连接,无需数据线 - 📊 **传输记录**:自动记录所有传输历史,支持实时刷新 - 🖱️ **右键菜单**:支持通过右键菜单快速发送文件 - 🀄 **中文支持**:内置中文字体,完美支持中文显示 - 📁 **文件与文件夹**:支持传输单个文件和整个文件夹 - 📊 **传输进度**:实时显示文件传输进度 - 🌍 **Web界面**:通过浏览器访问,支持多设备连接 - 💾 **自动保存**:下载的文件自动保存到默认目录 - 🔄 **后台运行**:可最小化到系统托盘,不占用桌面空间 ## 安装方法 ### Windows 安装 1. 下载最新版本的FShare安装包 2. 运行安装程序,按照提示完成安装 3. 安装完成后,FShare会自动启动并显示在系统托盘中 ### macOS 安装 1. 下载最新版本的FShare.dmg文件 2. 双击打开.dmg文件,将FShare拖入Applications文件夹 3. 在Applications文件夹中双击FShare启动程序 4. 首次启动时,系统可能会提示"无法打开FShare",请在"系统偏好设置" → "安全性与隐私"中点击"仍要打开" ## 使用方法 ### 发送文件到手机 1. 确保手机和电脑连接在同一WiFi网络下 2. 点击系统托盘中的FShare图标,选择"显示二维码" 3. 用手机扫描二维码,连接到FShare 4. 在电脑上选择要发送的文件: - 方法一:右键点击文件/文件夹,选择"发送到手机" - 方法二:点击系统托盘图标,选择"打开主界面",然后点击"添加文件" 5. 文件会自动传输到手机上 ### 从手机发送文件到电脑 1. 确保手机和电脑连接在同一WiFi网络下 2. 点击系统托盘中的FShare图标,选择"显示二维码" 3. 用手机扫描二维码,连接到FShare 4. 在手机应用中选择要发送的文件 5. 文件会自动传输到电脑上,默认保存路径为:`~/Documents/FShare/` ## 主界面功能 主界面提供了以下功能: - 📋 **传输列表**:显示当前和历史传输记录 - 📊 **服务器状态**:显示FShare服务器的运行状态 - ⏰ **定时刷新**:自动刷新传输记录列表 - 🗑️ **清空历史**:一键清空所有传输历史记录 ## 系统托盘菜单 系统托盘菜单包含以下选项: - 📱 **显示二维码**:生成并显示连接二维码 - 🖥️ **打开主界面**:显示FShare主界面 - 📋 **查看传输记录**:快速查看传输历史 - 🚪 **退出**:关闭FShare应用 ## 常见问题 ### Q: 为什么手机扫描二维码后无法连接? A: 请确保手机和电脑连接在同一WiFi网络下,并且防火墙没有阻止FShare的网络访问。 ### Q: 如何更改文件保存路径? A: 当前版本暂不支持自定义保存路径,默认保存路径为:`~/Documents/FShare/` ### Q: 为什么右键菜单没有显示"发送到手机"选项? A: 请尝试重新启动FShare应用,或者手动重新注册右键菜单:在系统托盘菜单中选择"重新注册右键菜单"。 ## 版本更新 ### v1.0.0 (2025-12-11) - ✨ 首次发布 - 📁 支持文件和文件夹传输 - 🌐 跨平台支持(Windows/macOS) - 📱 二维码连接功能 - 🖱️ 右键菜单发送文件 - 📊 传输记录管理 ## 开发说明 ### 技术栈 - **后端**:Go语言 - **GUI框架**:Fyne (跨平台GUI) - **系统托盘**:github.com/getlantern/systray - **网络通信**:WebSocket - **二维码生成**:github.com/skip2/go-qrcode ### 项目结构 ```dir fshare/ ├── README.md # 项目说明文档 ├── main.go # 主程序入口 ├── go.mod # Go 模块定义 ├── go.sum # Go 依赖校验和 ├── build/ # 编译脚本和临时文件目录 │ ├── output/ # 编译临时文件 │ ├── tools/ # 辅助工具脚本 │ │ └── update_fyne_metadata.go # 图标元数据更新工具 │ ├── build_windows.bat # Windows 编译脚本 │ ├── build_macos.sh # macOS 编译脚本 │ └── README.md # 编译指南文档 ├── dist/ # 编译输出目录 │ ├── windows/ # Windows 平台编译结果 │ └── macos/ # macOS 平台编译结果 ├── contextmenu/ # 右键菜单功能 │ ├── contextmenu.go # 通用右键菜单逻辑 │ ├── contextmenu_darwin.go # macOS右键菜单实现 │ ├── contextmenu_windows.go # Windows右键菜单实现 │ └── installer.go # 右键菜单安装器 ├── pipe/ # 命名管道通信 │ ├── pipe.go # 通用管道操作 │ ├── pipe_windows.go # Windows平台特定实现 │ ├── pipe_unix.go # Unix/Linux/macOS平台特定实现 ├── fonts/ # 字体文件 │ └── simhei.ttf # 中文字体 ├── gui/ # 主界面 │ ├── fonts/ # GUI专用字体 │ │ └── simhei.ttf │ ├── gui.go # 主界面实现 │ └── icon.png # 应用图标 ├── qrcode/ # 二维码生成 │ └── qrcode.go # 二维码生成逻辑 ├── records/ # 传输记录管理 │ ├── records.go # 记录管理逻辑 │ └── transfer_records.json # 传输记录存储 ├── server/ # 本地服务器 │ └── server.go # 服务器实现 ├── tray/ # 系统托盘 │ ├── tray.go # 系统托盘实现 │ └── icon.ico # 托盘图标 └── web/ # Web界面资源 └── index.html # Web界面 ``` ## 许可证 本项目采用MIT许可证,详见LICENSE文件。 ## 编译与开发 关于项目的编译指南、环境准备、脚本使用等详细信息,请参阅 `build/README.md` 文件。 ## 联系方式 如有问题或建议,请通过以下方式联系我们: - 📧 Email: support@fshare.com - 🐛 Gitee Issues: https://gitee.com/luckythc/fshare/issues --- **FShare - 让文件传输更简单!** 🚀