{"adoption": {"forks": 349, "observed_at": "2026-08-28T04:07:32.663769+00:00", "stars": 2971}, "canonical_url": "https://ross.abutalabs.com/products/torrserver", "card": {"archived": false, "artifact_type": "service", "description": "Torrent stream server", "domain": ["media", "self-hosted", "web-development"], "enriched": true, "function": ["streaming", "http-server", "caching", "search-engine"], "health_score": 99, "homepage": "https://yourok.ru", "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["YouROK/TorrServer"], "name": "YouROK/TorrServer", "platform": ["windows", "self-hosted", "cross-platform"], "pushed_at": "2026-08-17T21:45:38+00:00", "repo": "YouROK/TorrServer", "stars": 2971, "tags": ["torrent-streaming", "torrent-client", "dlna", "torznab", "hls", "gstreamer", "media-server", "linux", "macos", "android", "docker"], "topics": [], "urls": [], "use_cases": ["stream torrents online without downloading", "watch torrent videos on multiple devices", "self-host a torrent streaming media server", "integrate torrent streaming into other apps via API", "search torrents through Jackett or Prowlarr indexers", "transcode torrents to HLS for playback", "serve media to DLNA-compatible devices"], "what_it_is": "TorrServer is a self-hosted torrent streaming server written in Go that lets users watch torrent content online without downloading files first. It caches torrent data and serves it over HTTP, with a web interface, API integration, Torznab search, optional DLNA server, and optional GStreamer-based HLS transcoding.", "when_to_avoid": ["you need a traditional download-first torrent client with fine-grained control", "you only need a lightweight torrent client without streaming or web UI", "your use case involves private trackers with clients that require specific peer behavior the server may not support"], "when_to_choose": ["you want to stream torrents directly without waiting for full downloads", "you need a self-hosted media server that plays torrent content on TVs and mobile devices", "you want API access to torrent streaming for integration into media apps", "you use Torznab indexers and want built-in torrent search"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/torrserver", "repo": "YouROK/TorrServer", "role": "main", "score": 94}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "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:07:32.663769+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:32.663769+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:31:39.092554+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff0d6fa753a256a0f5ee02a0c1a9e9337db11b1fdee35a4fe56f4fec9ece0eb6", "fetched_at": "2026-08-28T04:07:32.663769+00:00", "kind": "readme", "missing": false, "url": "https://github.com/YouROK/TorrServer"}, {"content_hash": "08672633c5ae171fd021eef2a0d80f5077c1906f77306e49fa596f120cee1e63", "fetched_at": "2026-08-29T09:46:56.053366+00:00", "kind": "homepage", "missing": false, "url": "https://yourok.ru"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 100, "rhythm": 86}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2926, "days_push": 16, "days_rel": 16, "gap_med": 52.0, "n_releases_24m": 9}, "score": 94, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}