ezshare:752⭐的局域网文件共享神器
手机想传个大文件到电脑,却找不到数据线?
同事之间想快速分享一堆照片,又不想上传云端?
ezshare 就是为解决这些场景而生的。
项目概览
| 属性 | 内容 |
|---|---|
| GitHub | mifi/ezshare |
| Stars | 752 |
| 语言 | TypeScript |
| 特点 | 局域网共享、双向传输、二维码、剪贴板同步 |
| 最后更新 | 2 天前 |
它解决了什么问题
日常工作中这些场景你一定遇到过:
- 跨设备传文件:手机拍的照片想传到电脑,微信压缩画质、QQ需要登录、AirDrop仅限苹果生态
- 大文件分享:视频素材太大, exceeds网盘免费额度,U盘又不在手边
- 临时共享:访客需要下载一些资料,不想给WiFi密码,更不想让他们登录什么账号
- 剪贴板同步:手机上复制了一段文字,想粘贴到电脑上
ezshare 的解决方案:
- 纯局域网传输:不经过互联网,速度只受限于你的路由器
- 零客户端:接收方只需要浏览器,无需安装任何APP
- 双向传输:既能下载也能上传,还能同步剪贴板
- 开箱即用:一条命令启动,自动生成二维码
核心特性
1. 一键启动
npx @ezshare/cli
或者全局安装:
npm install -g @ezshare/cli
cd /path/to/share
ezshare
启动后,终端会显示访问地址和二维码,手机扫一扫即可访问。
2. 文件浏览与下载
Web 界面会列出当前目录的所有文件和文件夹:
- 单文件下载:点击即可下载
- 整目录下载:自动打包成 ZIP,边压缩边下载
- 在线预览:支持图片、视频的直接播放和幻灯片模式
3. 文件上传
接收方不仅能下载,还能上传文件到服务器所在的目录。这意味着:
- 手机可以快速传照片到电脑
- 多人可以互相交换文件
- 无需配置,浏览器里直接拖拽上传
4. 剪贴板同步
这是我最喜欢的一个功能:
- 服务端→客户端:在电脑上复制文字,手机上直接粘贴
- 客户端→服务端:在手机上复制文字,电脑上直接粘贴
临时传个密码、地址、链接,再也不用发给自己了。
5. 二维码支持
启动后自动生成二维码,手机相机一扫就能打开网页。再也不用因为输错 URL 而抓狂。
快速上手
安装
# 使用 npx(推荐,无需安装)
npx @ezshare/cli
# 或全局安装
npm install -g @ezshare/cli
基本用法
# 在当前目录启动共享
cd ~/Documents
ezshare
# 指定目录启动
ezshare /path/to/share
# 查看帮助
ezshare --help
Docker 部署
如果你不想装 Node.js:
# 使用 Docker Compose
docker compose up --build
# 或手动运行
docker run -p 3003:3003 -v $(pwd)/shared:/shared mifi/ezshare
同类对比
| 工具 | 特点 | 限制 |
|---|---|---|
| 微信文件传输 | 人人有微信 | 压缩图片/视频,大小限制 |
| AirDrop | 苹果生态体验好 | 仅限苹果设备 |
| Snapdrop | 类似 ezshare 的网页工具 | 依赖公共服务器 |
| LocalSend | 开源跨平台传输工具 | 需要安装客户端 |
| ezshare | 浏览器访问,双向传输 | 需要 Node.js 或 Docker |
ezshare 的核心优势在于接收方零负担——对方只需要一个浏览器,不需要安装任何东西。这在给不太懂技术的人传文件时特别有用。
适用场景
推荐使用
- 开发者在多设备间快速传输文件
- 办公室内临时共享资料给同事
- 给客户/访客展示文件,不想给 WiFi 密码
- 手机电脑间传大文件(不经过云端)
- 临时搭建一个简单的文件服务器
不推荐
- 需要长期运行的文件服务器(功能太简单)
- 公网访问(虽有 Ngrok/Cloudflare Tunnel 方案,但不如专业方案安全)
- 复杂权限管理(目前只有简单的目录共享)
高级技巧
配合 Ngrok 公网访问
如果需要让外网访问:
# 启动 ezshare
ezshare
# 另开终端,使用 Ngrok
ngrok http 8080
然后分享 Ngrok 生成的 URL 即可。
局域网内固定地址
如果经常需要在固定机器上访问,可以配置路由器的 DHCP 保留,让服务器有固定 IP,甚至配置 hosts 文件给个好记的域名。
技术亮点
- TypeScript:类型安全,维护性好
- 纯 HTTP:不依赖 WebSocket,兼容性极佳
- 即时模式 ZIP:大目录边压缩边传输,无需等待打包完成
- Electron 打包:提供独立的桌面应用版本(无需 Node.js)
总结
ezshare 是一个典型的小而美工具——它不做太多功能,但把「局域网文件共享」这一件事做到了极致。752 stars 的数量级正好说明它解决了真实痛点,又不会太过臃肿。
如果你也经常需要在设备间传文件,或者临时给同事分享资料,这个工具值得加入你的工具箱。毕竟,在不需要互联网的情况下就能完成文件传输,这种「离线自由」本身就是一种安全感。
| 属性 | 内容 |
|---|---|
| 仓库 | https://github.com/mifi/ezshare |
| 许可证 | MIT |
| 语言 | TypeScript |
| 维护者 | @mifi |