# ShareMouse **Repository Path**: lg10/share-mouse ## Basic Information - **Project Name**: ShareMouse - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-07 - **Last Updated**: 2026-01-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ShareMouse
基于 Tauri + Rust 实现的高性能跨平台键鼠共享工具
--- ShareMouse 是一款开源的跨平台(Windows/macOS)软件,允许你通过一套键盘和鼠标无缝控制多台电脑。它通过局域网实现极低延迟的输入流传输,并提供直观的可视化屏幕布局配置。 ## ✨ 核心特性 - **🚀 极速体验**:基于 Rust & UDP 协议,实现几乎无感的键鼠同步延迟。 - **🖥️ 可视化布局**:支持通过拖拽自由定义多台电脑的相对位置,支持上下左右全维度吸附。 - **🔍 自动发现**:利用 mDNS 技术实现局域网设备自动扫描与连接,配合 TCP 握手验证,确保连接安全可靠。 - **📋 剪贴板同步**:支持跨设备的文字、图片、文件剪贴板实时共享。 - **🛡️ 系统级权限**:运行时自动请求管理员(Windows)或 Root(macOS)权限,确保在 UAC 或系统级窗口中依然可用。 - **📦 轻量安静**:关闭窗口自动最小化至系统托盘,不占用任务栏空间。 ## 🛠️ 技术栈 - **Frontend**: React, TypeScript, TailwindCSS - **Backend**: Tauri v2, Rust - **Runtime**: Tokio (Async IO) - **Key Libraries**: - `rdev` & `enigo` (输入捕获与注入) - `mdns-sd` (设备发现) - `arboard` (剪贴板管理) ## 🚀 快速开始 ### 环境准备 确保你已经安装了以下开发环境: - [Rust](https://www.rust-lang.org/tools/install) (最新稳定版) - [Node.js](https://nodejs.org/) (v18+) - **Windows 用户**: 需安装 Visual Studio C++ 生成工具。 - **macOS 用户**: 需安装 Xcode Command Line Tools。 ### 运行步骤 1. **克隆项目** ```bash git clone https://github.com/your-username/ShareMouse.git cd ShareMouse ``` 2. **安装依赖** ```bash npm install ``` 3. **启动开发模式** ```bash npm run tauri dev ``` 4. **构建正式包** ```bash npm run tauri build ``` ## 📖 使用指南 1. **主控设置**:在布局编辑器中,右键点击你的物理主机对应的屏幕,选择“设为主控电脑”。 2. **位置排列**:拖动其他电脑图标,将其放置在相对于主控的物理位置。 3. **穿透控制**:将鼠标移动到主控屏幕边缘,鼠标会自动“穿透”到相邻的电脑。 4. **系统权限**:首次运行或执行注入操作时,软件会请求系统辅助功能权限,请务必授权以确保正常工作。 ## 🗺️ 任务路线图 - [x] 核心输入捕获与注入引擎 - [x] 基于 mDNS 的设备发现与握手 - [x] 可视化屏幕布局配置系统 - [x] 基础剪贴板文字同步 - [x] 系统托盘与最小化逻辑 - [x] 跨屏幕文件拖拽传输 - [x] 图片剪贴板同步支持 - [ ] 传输加密 (AES/TLS) ## 🤝 贡献建议 我们非常欢迎 Issue 和 Pull Request!如果你有任何好的想法,请随时提交。 ## 📄 开源协议 本项目采用 [MIT License](LICENSE) 开源。