{"repo":"cenkalti/rain","free":true,"listed":false,"github":"https://github.com/cenkalti/rain","clone":"git clone https://github.com/cenkalti/rain.git","description":"🌧 BitTorrent client and library in Go","language":"Go","stars":1144,"topics":["torrent","bittorrent","p2p","golang"],"license":"MIT","category":"security-tools","readme_excerpt":"rain ==== --- High-performance BitTorrent client and library in Go. Running in production at [put.io][putio-link] since 2019, processing thousands of torrents daily with minimal system resources. [ ][docs-link] Features -------- Protocol Support - BEP-003: Core protocol - BEP-006: Fast extension - BEP-009: Magnet links - BEP-012: Multiple trackers - BEP-015: UDP trackers - BEP-005: DHT - BEP-011: PEX - BEP-019: WebSeed - Message stream encryption Client Features - Fast resuming with BoltDB persistence - Sequential downloading for streaming - IP blocklist support - JSON-RPC 2.0 server & client - Interactive console UI - Tools for creating & reading .torrent files - Resource management (connections, memory, file handles) Screenshot ---------- Installing ---------- macOS Other Platforms Download the latest binary from the releases page. From Source Quick Start ----------- Rain operates as a client-server application with a single binary. 1. Start the Server 2. Add Your First Torrent 3. Monitor Progress 4. Control Downloads Use rain help or rain help for detailed information. Usage as library ---------------- Rain can be embedded in Go applications as a powerful BitTorrent library. More complete example can be found under handleDownload function at main.go file. See [package documentation][docs-link] for complete API. Configuration ------------- Rain works out of the box with sensible defaults, but can be customized with a YAML configuration file. Basic Configuration Default conf","default_branch":null,"files":null,"tree":[],"storefront":"/r/cenkalti","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/cenkalti/rain/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}