MCPcopy Index your code
hub / github.com/WCY-dt/EasyTransfer

github.com/WCY-dt/EasyTransfer @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
103 symbols 259 edges 41 files 25 documented · 24% updated 7d ago★ 689
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

logo

EasyTransfer

English | 简体中文

GitHub issues GitHub pull requests GitHub license GitHub package.json version

立即体验

样例

EasyTransfer 是一款免费、匿名、加密且易于使用的 E2EE 文件传输工具。您只需访问一个简单的网页,即可使用设备代码连接到任何网络中的任何设备

本项目使用 WebRTC 和 Vue.js 构建。

使用方法

  1. 在需要传输文件的两台设备上访问 EasyTransfer
  2. 将任意一台设备的四位设备代码输入到另一台设备的设备代码输入框中,并点击连接按钮。
  3. 等待连接成功后,您可以将文件拖放到网页上的文件区域,或者点击文件区域选择文件。支持一次性发送多个文件。
  4. 在设置中,可以自定义 STUN 服务器和 TURN 服务器,或者指定最大连接数。

[!NOTE]

更推荐您自行部署一个 STUN/TURN 服务器,以获得更快的速度和更高的稳定性。

功能特点

是什么让 EasyTransfer 与众不同?

  • 🫣 匿名:不需要注册账号,不需要登录,不需要提供任何个人信息
  • 🔒 加密:默认加密,确保文件传输的安全性
  • 🔄 端到端:文件直接从发送方传输到接收方,不经过服务器[^1]
  • 🌐 跨网络:同时支持局域网和公网之间的文件传输
  • 🛠️ 易用:使用四位设备代码连接设备,无任何多余操作
  • 📎 多媒体消息:支持发送文字及多种文件类型,还支持拍照发送
  • ⚙️ 自定义设置:所有模块均可以自定义及自行部署

自行部署

具体部署方法请参照项目 Wiki

贡献本项目

如果您想为本项目贡献代码,请参照贡献指南

更新日志

请参照 CHANGELOG

[^1]: 在通信双方需要内网穿透时,文件可能会上传到本项目提供的免费 TURN 服务器。您可以自行部署一个可信的 TURN 服务器来避免这种情况。

Extension points exported contracts — how you extend this code

Window (Interface)
(no doc)
client/src/types.ts
Clients (Interface)
(no doc)
server/src/utils.ts
Process (Interface)
(no doc)
client/src/types.ts
Clients (Interface)
(no doc)
server/src/server.ts
IceServer (Interface)
(no doc)
client/src/types.ts
MaxConnectionNumbers (Interface)
(no doc)
server/src/server.ts
PeerConnectionConfig (Interface)
(no doc)
client/src/types.ts
RTCSessionDescriptionInit (Interface)
(no doc)
client/src/types.ts

Core symbols most depended-on inside this repo

applyTheme
called by 29
client/src/utils/themeManager.ts
isLinkMessage
called by 18
client/src/utils/msgType.ts
isImageType
called by 17
client/src/utils/msgType.ts
decideFileType
called by 16
client/src/utils/msgType.ts
isVideoType
called by 14
client/src/utils/msgType.ts
encodeMetaMessage
called by 13
client/src/utils/fileProtocol.ts
startTimeoutCheck
called by 10
client/src/utils/retryManager.ts
sendData
called by 10
client/src/stores/send.ts

Shape

Function 46
Method 28
Interface 17
Class 12

Languages

TypeScript100%

Modules by API surface

client/src/stores/send.ts15 symbols
client/src/utils/retryManager.ts12 symbols
client/src/utils/fileChunk.ts11 symbols
client/src/stores/receive.ts11 symbols
client/src/utils/fileProtocol.ts9 symbols
client/tests/webrtc.test.ts8 symbols
client/src/types/fileTransfer.ts8 symbols
client/src/stores/connect.ts8 symbols
client/src/types.ts6 symbols
client/src/utils/msgType.ts4 symbols
server/src/utils.ts3 symbols
client/src/utils/themeManager.ts3 symbols

For agents

$ claude mcp add EasyTransfer \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page