π§ BitTorrent client and library in Go
github.com/cenkalti/rainIndexed at 697380fUp to date with upstream
Rain is a BitTorrent client that ingests torrent metadata and download targets (e.g., .torrent files or magnet links/trackers), runs protocol interactions through a layered session (tracker/DHT/PEX/webseeds, handshakes, piece selection, and resource management), and outputs persistent resume state plus the assembled files while exposing a JSON-RPC 2.0 control surface and an interactive console UI. In practice, developers or operators use `rain` to start the server, add torrents, monitor progress, and control downloads via CLI or RPC; if no config is present, Rain uses defaults with the default config location `~/rain/config.yaml`.
Written by gpt-5.4-nano from the index
248 files and 1,536 symbols in 4 modules, written in Go.
Code health
This codebase scores 6.9 out of 10 for code health, which we rate fair. It also scores maintainability 7.8 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 2 of 248 files are git hotspots, and they average 5.2 β which is where the fixes pay off most.
On the leaderboards:#8 of 19 Go repos
Nothing stands out in the week to Aug 23, the last indexed commit.
Add a test coverage report
Without one, Repowise cannot tell tested code from untested code, so every test-related action says βunknownβ.
Point Claude Code, Cursor, Codex or VS Code at this repository. Your agent gets the index this page is built from: cited answers, callers, history and health for any file.
https://api.repowise.dev/mcp/cenkalti/rainOne command, run anywhere. Adds the server to your local Claude Code config.
Docsclaude mcp add --transport http repowise https://api.repowise.dev/mcp/cenkalti/rain \ --header "Authorization: Bearer rw_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
This repo is public, so anyone with a Repowise account and an API key can connect.
Try asking
Prefer local? pip install repowise && repowise init indexes your own checkout, no account needed.
Sign in with GitHub and we check that you are an admin or maintainer of cenkalti/rain. Then add a badge to the README that links readers here.
Add this URL as a custom connector and sign in with repowise when asked. No API key to copy.
https://api.repowise.dev/mcp/cenkalti/rainFor maintainers
Every badge is public, cached, and updates on its own after every index. Nothing to install.
Links to this page, with no score on it. Adding it also re-indexes the repo every week.
[](https://repowise.dev/repo/cenkalti/rain?src=badge_wiki)The repo's health score out of 10, from the latest index.
[](https://repowise.dev/repo/cenkalti/rain?src=badge_health)A larger card with the score, its change since the last index, and when it was measured. The HTML version follows the reader's light or dark theme.
[](https://repowise.dev/repo/cenkalti/rain?src=badge_card)π§ BitTorrent client and library in Go This page is a map of the cenkalti/rain repository, written primarily in Go, rebuilt from the source each time it is indexed. Repowise parses every symbol, computes a dependency graph, scores per-file code health from complexity, duplication, test coverage and churn, mines git history for hotspots and ownership, and lifts the architectural decisions into documentation you can read here or query through MCP.
The codebase has 248 files and 1,536 symbols in 4 modules, led by Go. Code health is 6.9 out of 10, rated fair.
Use the links above to open each view, or connect this repository to your agent for grounded answers inside Claude, Cursor, Codex or VS Code.