sjaensch / storrent

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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).

License:GNU General Public License v3.0


Languages

Language:Go 100.0%