All Projects → anacrolix → Torrent

anacrolix / Torrent

Licence: mpl-2.0
Full-featured BitTorrent client package and utilities

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Torrent

Bt
BitTorrent library and client with DHT, magnet links, encryption and more
Stars: ✭ 2,011 (-51.4%)
Mutual labels:  p2p, streaming, torrent, bittorrent, magnet-link
Webtorrent
⚡️ Streaming torrent client for the web
Stars: ✭ 25,554 (+517.54%)
Mutual labels:  p2p, streaming, torrent, bittorrent
Torrent Discovery
Discover BitTorrent and WebTorrent peers
Stars: ✭ 177 (-95.72%)
Mutual labels:  p2p, torrent, bittorrent, tracker
Diffy
🎞️💓🍿 Love streaming - It's always best to watch a movie together ! 🤗
Stars: ✭ 37 (-99.11%)
Mutual labels:  torrent, streaming, bittorrent, p2p
torrent-spider
基于DHT的p2p网络资源爬虫
Stars: ✭ 65 (-98.43%)
Mutual labels:  torrent, bittorrent, p2p, magnet-link
Snail
基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。人家才不要你的⭐⭐呢,哼
Stars: ✭ 102 (-97.54%)
Mutual labels:  p2p, torrent, bittorrent, tracker
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (-96.52%)
Mutual labels:  p2p, torrent, bittorrent, tracker
Instant.io
🚀 Streaming file transfer over WebTorrent (torrents on the web)
Stars: ✭ 2,954 (-28.61%)
Mutual labels:  p2p, streaming, bittorrent
Bt Btt
磁力網站U3C3介紹以及域名更新
Stars: ✭ 261 (-93.69%)
Mutual labels:  bittorrent, tracker, magnet-link
Tribler
Privacy enhanced BitTorrent client with P2P content discovery
Stars: ✭ 3,915 (-5.39%)
Mutual labels:  p2p, streaming, bittorrent
Transgui
🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
Stars: ✭ 2,488 (-39.87%)
Mutual labels:  p2p, torrent, bittorrent
Magnetissimo
Web application that indexes all popular torrent sites, and saves it to the local database.
Stars: ✭ 2,551 (-38.35%)
Mutual labels:  p2p, torrent, bittorrent
Bittorrent Protocol
Simple, robust, BitTorrent peer wire protocol implementation
Stars: ✭ 279 (-93.26%)
Mutual labels:  p2p, torrent, bittorrent
Dottorrent Gui
An advanced GUI torrent file creator with batch functionality, powered by PyQt and dottorrent
Stars: ✭ 175 (-95.77%)
Mutual labels:  p2p, torrent, bittorrent
Nyaa
Bittorrent software for cats
Stars: ✭ 2,899 (-29.94%)
Mutual labels:  torrent, bittorrent, tracker
Torrentpier
Main project repository
Stars: ✭ 166 (-95.99%)
Mutual labels:  p2p, torrent, bittorrent
torrent-hound
Search torrents from multiple websites via the CLI
Stars: ✭ 28 (-99.32%)
Mutual labels:  torrent, bittorrent, magnet-link
privtracker
Private BitTorrent tracker generator
Stars: ✭ 84 (-97.97%)
Mutual labels:  tracker, torrent, bittorrent
Pytorrent
Simple and functional BitTorrent client made in Python - Use for learning
Stars: ✭ 135 (-96.74%)
Mutual labels:  p2p, torrent, bittorrent
Autodl Irssi
A community-driven fork of autodl-irssi
Stars: ✭ 315 (-92.39%)
Mutual labels:  p2p, torrent, bittorrent

torrent

PkgGoDev

This repository implements BitTorrent-related packages and command-line utilities in Go. The emphasis is on use as a library from other projects. It's been used 24/7 in production by downstream services since late 2014. The implementation was specifically created to explore Go's concurrency capabilities, and to include the ability to stream data directly from the BitTorrent network. To this end it supports seeking, readaheads and other features exposing torrents and their files with the various Go idiomatic io package interfaces. This is also demonstrated through torrentfs.

There is support for protocol encryption, DHT, PEX, uTP, and various extensions. There are several data storage backends provided: blob, file, bolt, mmap, and sqlite, to name a few. You can write your own to store data for example on S3, or in a database.

Some noteworthy package dependencies that can be used for other purposes include:

Installation

Install the library package with go get github.com/anacrolix/torrent, or the provided cmds with go install github.com/anacrolix/torrent/cmd/...@latest.

Library examples

There are some small examples in the package documentation.

Mentions

Downstream projects

There are several web-frontends and Android clients among the known public projects:

Help

Communication about the project is primarily through Discussions and the issue tracker.

Command packages

Here I'll describe what some of the packages in ./cmd do. See installation to make them available.

torrent

torrent download

Downloads torrents from the command-line.

$ torrent download 'magnet:?xt=urn:btih:KRWPCX3SJUM4IMM4YF5RPHL6ANPYTQPU'
... lots of jibba jabber ...
downloading "ubuntu-14.04.2-desktop-amd64.iso": 1.0 GB/1.0 GB, 1989/1992 pieces completed (1 partial)
2015/04/01 02:08:20 main.go:137: downloaded ALL the torrents
$ md5sum ubuntu-14.04.2-desktop-amd64.iso
1b305d585b1918f297164add46784116  ubuntu-14.04.2-desktop-amd64.iso
$ echo such amaze
wow

torrent metainfo magnet

Creates a magnet link from a torrent file. Note the extracted trackers, display name, and info hash.

$ torrent metainfo testdata/debian-10.8.0-amd64-netinst.iso.torrent magnet
magnet:?xt=urn:btih:4090c3c2a394a49974dfbbf2ce7ad0db3cdeddd7&dn=debian-10.8.0-amd64-netinst.iso&tr=http%3A%2F%2Fbttracker.debian.org%3A6969%2Fannounce

See torrent metainfo --help for other metainfo related commands.

torrentfs

torrentfs mounts a FUSE filesystem at -mountDir. The contents are the torrents described by the torrent files and magnet links at -metainfoDir. Data for read requests is fetched only as required from the torrent network, and stored at -downloadDir.

$ mkdir mnt torrents
$ torrentfs -mountDir=mnt -metainfoDir=torrents &
$ cd torrents
$ wget http://releases.ubuntu.com/14.04.2/ubuntu-14.04.2-desktop-amd64.iso.torrent
$ cd ..
$ ls mnt
ubuntu-14.04.2-desktop-amd64.iso
$ pv mnt/ubuntu-14.04.2-desktop-amd64.iso | md5sum
996MB 0:04:40 [3.55MB/s] [========================================>] 100%
1b305d585b1918f297164add46784116  -
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].