Comprehensive protocol documentation for the WebTorrent ecosystem. This documentation serves two purposes:
- Internal reference for the SpawnDev.WebTorrent C# implementation
- Community documentation - clear, complete protocol docs that the WebTorrent community currently lacks
| # | Document | Description | Status |
|---|---|---|---|
| 00 | README.md | This index | Complete |
| 01 | 01-wire-protocol.md | BitTorrent wire protocol (BEP 3, 6, 10) | Complete |
| 02 | 02-webtorrent-protocol.md | WebTorrent-specific: tracker, WebRTC, data channels | Complete |
| 03 | 03-extension-protocols.md | BEP 9 (ut_metadata), BEP 11 (ut_pex), lt_donthave | Complete |
| 04 | 04-tracker-protocols.md | HTTP, UDP, WebSocket tracker protocols | Complete |
| 05 | 05-dht-protocol.md | DHT (BEP 5), mutable items (BEP 44/46) | Complete |
| 06 | 06-web-seeds.md | BEP 17, BEP 19 web seed protocols | Complete |
| 07 | 07-lifecycle.md | Master lifecycle - full order of operations | Complete |
| 08 | 08-sipsorcery-interop.md | SipSorcery/browser WebRTC interop analysis | Complete |
| 09 | 09-sipsorcery-dtls-analysis.md | SipSorcery DTLS/SRTP fork rationale (why we fork vs upstream) | Complete |
Captured protocol data from instrumented JS WebTorrent sessions lives at:
../Docs/protocol-reference/- 7 documents with raw capture data from 2026-04-14
- BEP specifications: bittorrent.org/beps/
- JS WebTorrent source:
webtorrentnpm package - JS simple-peer source:
@thaunknown/simple-peernpm package - JS bittorrent-tracker source:
bittorrent-trackernpm package - JS bittorrent-protocol source:
bittorrent-protocolnpm package - SpawnDev.RTLink SipSorcery patterns: proven WebRTC browser interop
- Captured protocol data from live sessions
This documentation is maintained alongside the SpawnDev.WebTorrent project. If you find errors or want to add detail, contributions are welcome.
This documentation is part of the SpawnDev.WebTorrent project and is provided under the same license.