{"adoption": {"forks": 188, "observed_at": "2026-08-28T04:05:40.092958+00:00", "stars": 1817}, "canonical_url": "https://ross.abutalabs.com/products/rqbit", "card": {"archived": false, "artifact_type": "application", "description": "A bittorrent client in Rust", "domain": ["developer-tools", "media", "self-hosted", "cross-platform"], "enriched": true, "function": ["http-server", "web-framework", "cli", "streaming", "sdk"], "health_score": 99, "homepage": null, "language": "Rust", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["ikatson/rqbit"], "name": "ikatson/rqbit", "platform": ["windows", "rust", "cli", "self-hosted"], "pushed_at": "2026-08-20T18:12:05+00:00", "repo": "ikatson/rqbit", "stars": 1817, "tags": ["bittorrent", "torrent-client", "web-ui", "upnp", "mdns", "streaming", "magnet-links", "tauri-desktop-app", "linux", "macos", "desktop", "tauri"], "topics": [], "urls": [], "use_cases": ["download torrents from magnet links or .torrent files from the command line", "run a self-hosted torrent server with a web UI and HTTP API", "stream video torrents directly to VLC or other players while downloading", "serve torrents to LAN devices like TVs via an integrated UPnP media server", "embed torrent downloading into a Rust application as a library", "automatically add torrents by watching a folder for .torrent files"], "what_it_is": "rqbit is a BitTorrent client written in Rust, available as a CLI tool, a server with an HTTP API and Web UI, a desktop app built with Tauri, and a reusable library (librqbit). It supports streaming torrents with piece prioritization, an integrated UPnP media server, mDNS advertising, IPv6, SOCKS proxy, and folder watching.", "when_to_avoid": ["you need a full-featured GUI torrent client with extensive plugin ecosystems like qBittorrent or Deluge", "you require transcoding when streaming to media devices", "you need Windows-only or highly specialized torrent client features not supported by rqbit"], "when_to_choose": ["you want a fast, lightweight torrent client written in Rust", "you need torrent streaming with seeking support for media playback", "you want a self-hosted torrent server with a web UI and HTTP API", "you need a programmable torrent library for Rust projects", "you want to stream torrents to UPnP-compatible devices on your LAN"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rqbit", "repo": "ikatson/rqbit", "role": "main", "score": 90}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:40.092958+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:20:11.564005+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f9ecae11feba7ff899c072d2bc8413f9001ba2d72e3ed17bc0320a0f0c39bb91", "fetched_at": "2026-08-28T04:05:40.092958+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ikatson/rqbit"}, {"content_hash": "1c4df17b14e3dcbd4527e60e2410d630490830b6a8d518f937fca0884a22322a", "fetched_at": "2026-08-29T10:59:12.674657+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/rqbit"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 74}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1895, "days_push": 13, "days_rel": 13, "gap_med": 149, "n_releases_24m": 6}, "score": 90, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}