casey / casey/intermodal

UDP Tracker implementation

Open
#307 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Rust
Stars
659
Forks
36
Avg merge
18m
Merged PRs (30d)
2

Description

The main novel feature of Intermodal is expected to revolve around machine readable metadata manifests which enable a better user experience than existing content networks. I'd like to have sufficient infrastructure to develop features that use new data in manifests, so that everything works as expected end-to-end, and there is a compelling way to see the benefits of Intermodal.

To that end, I'd like to implement a UDP BitTorrrent tracker. Fortunately, the BitTorrent UDP tracker protocol is [extremely simple](https://imdl.io/book/bittorrent/udp-tracker-protocol.html).

Hopefully a basic implementation in async Rust won't require too much optimization to be fast.

After the basic implementation I can start to add features in tandem with manifest development, for example auto-population of an index with torrents announced to the tracker.

- [ ] connect
- [ ] announce
- [ ] scrape
- [ ] IPv6
- [ ] update readme, BEP support list
- [ ] future work: http tracker

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.