How yunuseeeeeeee/yunze-transfer works
Yunze is a browser-based peer-to-peer file-sharing app. A user creates or joins a room; PeerJS signaling helps establish a WebRTC connection, then files and chat messages travel over its DataChannel. The app also supports QR pairing, batch transfers, previews, wake lock, and optional cloud sharing. The runtime is concentrated in app.js; the README documents several capabilities whose implementation excerpts were not shown, so those links are cited to the README rather than inferred from unsampled code.
Main entry points: app.js Room Controls · manifest.json PWA Install
Components 15
Room Pairing
- Room Controls
app.js - QR Pairing
app.js - PeerJS Signaling
Transfer Session
- WebRTC Connection
- DataChannel
- Chunked File Transfer
app.js - Batch Transfers
app.js
Session Features
- In-session Chat
app.js - Inline Previews
app.js - Cloud Share
app.js - gofile.io
- Screen Wake Lock
app.js
App Shell
- PWA Install
manifest.json
Other components
- Sending User
- Receiving User
Connections 16
- Sending User → Room Controls: creates room
README.md - Receiving User → Room Controls: joins room
README.md - Room Controls → PeerJS Signaling: registers or connects
README.md - Room Controls → QR Pairing: shows pairing code
README.md - QR Pairing → Room Controls: fills room code
app.js - PeerJS Signaling → WebRTC Connection: signals handshake
README.md - WebRTC Connection → DataChannel: establishes channel
README.md - Chunked File Transfer → DataChannel: sends chunks
app.js - DataChannel → Chunked File Transfer: delivers chunks
README.md - Batch Transfers → DataChannel: sends batch metadata
app.js - In-session Chat → DataChannel: exchanges messages
README.md - Chunked File Transfer → Inline Previews: renders received media
README.md - Sending User → Cloud Share: requests fallback share
README.md - Cloud Share → gofile.io: uploads file
README.md - Screen Wake Lock → WebRTC Connection: keeps screen awake
app.js - Receiving User → PWA Install: installs app
README.md