ct
github.com/lkslts64/charo-torrent
go get github.com/lkslts64/charo-torrent
ct

github.com/lkslts64/charo-torrent

BitTorrent client/library written in Go

by Lucas Litsos

v0.4.0 (see all)License:MIT
go get github.com/lkslts64/charo-torrent
Readme

charo logo

charo-torrent

GoDoc Join the chat at https://gitter.im/lkslts64/charo-torrent

This repository implements the BitTorrent protocol and comes with a minimal CLI BitTorrent client.

The torrent package is written with focus on scalability, it is well documented and can be used by other projects as well. Interfaces like PieceSelector make this package configurable and distinct from others. Aside from the core protocol specification, charo implements:

As a side note, charo doesn't support IPv6 yet.

Install

Go >= 1.13 is required

  1. Library:

    • go get -d github.com/lkslts64/charo-torrent/torrent
    • go install github.com/lkslts64/charo-torrent/torrent@latest
  2. Client:

    • go get -d github.com/lkslts64/charo-torrent/cmd/charo-download
    • go install github.com/lkslts64/charo-torrent/cmd/charo-download@latest

Client Usage

To download a torrent from a file:

The following command assumes that the client is installed and the executable 'charo-download' is in $PATH (because $GOPATH/bin should be in $PATH). <file> is propably a file with .torrent extension.
$ charo-download -torrentfile <file>
The downloaded files will be available under the current working directory.

To download a torrent from a magnet:

<magnet> is a magnet URI
$ charo-download -magnet <magnet>

Library Usage

Read the docs or check the minimal cli client.

Other notable Go torrent packages

Contribute

Contributions are welcome! Come to chat on gitter

Credits

Logo designed by Leia

GitHub Stars

11

LAST COMMIT

1yr ago

MAINTAINERS

0

CONTRIBUTORS

4

OPEN ISSUES

1

OPEN PRs

0
VersionTagPublished
v0.4.1-0.20210625084230-939dd7cec45c
9mos ago
v0.4.1-0.20200605155124-3efc67ea8707
1yr ago
v0.2.0
1yr ago
v0.4.0
1yr ago
No alternatives found
No tutorials found
Add a tutorial