Skip to content

Trying to write a torrent client to learn Go (and about bittorrent).

License

Notifications You must be signed in to change notification settings

sjaensch/storrent

Repository files navigation

storrent

Go workflow badge

This is a small project for learning Go. I've read the excellent blog post by Jesse Li about building a BitTorrent client from the ground up in Go. I haven't really done much in Go previously, nor do I know much about the BitTorrent protocol. So this will serve as my playground for learning more about both.

I'm starting off of the minimalistic client Jesse built, and the plan is to improve it. The first task will be to add multi-file torrent support - it currently only supports downloading torrents that contain exactly one file. Afterwards, we'll want to work on the fact that this client is strictly leeching. We need support for uploading data.

I highly suspect that I won't even finish these two tasks, as it so often goes with learning projects. However, if I do stick with this project, one thing that always interested me were text-based user interfaces (TUIs). Maybe adding one to this client could be nice. And we'd probably want magnet link support, limiting upload and download bandwidth etc. pp.

About

Trying to write a torrent client to learn Go (and about bittorrent).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages