dweb-webtorrent

0.0.4 • Public • Published

dweb

Mitra's DWeb build, test, deploy repo

TODO will need something on 5000

Webtorrent tracker / super-seeder

Actors: client (on users' machine); metadata service (Gateway or GUN); Tracker and Seeder (in K8 on K8-IP-ADDRESS)

  • UI retrieves metadata for a file
    • Gateway or GUN delivers metadata to client including a magnet link (see ipfs or nginx as well)
    • UI -> dweb-transports:Transports -> dweb-transports:TransportWEBTORRENT
    • The magnet link includes a number of trackers, including "wss://dweb.archive.org:6969"
  • A webtorrent client contacts the tracker
  • Bittorrent clients can also use https or wss or udp calls to dweb.archive.org:6969,
    • I'm not sure if UDP connections ignored or proxied
  • Client asks Tracker for BTIH
  • Tracker responds with:
    • Any other tracked clients,
    • webrtc:K8-IP-ADDRESS:6881 which is the seeder.
    • Optionally Tracker can deny tracking unless BTIH is present on Archive - presently turned off (BK decision)
  • The client sends the BTIH to the seeder
    • Client uses WebRTC to contact seeder at K8-IP-ADDRESS:6881
  • The seeder is complex, if I understand how it works then ...
    • Seeder is split into two parts (front & back)
    • Front side thinks it has all the blocks, sitting in the back side, and tells the client it has
    • Front side then asks the back side for the blocks
    • Back side (initially) thinks it has no blocks, but that there is a store on IA URL
    • Back side calls https://www-dev-cors.dev.archive.org/btih/$INFOHASH?output=torrent to get torrentfile
  • https://www-dev-cors.dev.archive.org/btih/$INFOHASH?output=torrent
  • Seeder Backside

TODO - obtain test URLS for all of - there are some in email from Feross for webtorrrent

Readme

Keywords

none

Package Sidebar

Install

npm i dweb-webtorrent

Weekly Downloads

2

Version

0.0.4

License

AGPL-3.0

Unpacked Size

123 kB

Total Files

30

Last publish

Collaborators

  • mitraardron