{"adoption": {"forks": 11146, "observed_at": "2026-08-28T04:08:13.882820+00:00", "stars": 3703}, "canonical_url": "https://ross.abutalabs.com/products/rvg", "card": {"archived": false, "artifact_type": "service", "description": "Multi-protocol proxy management panel built with Python & FastAPI, deployable on Railway.", "domain": ["networking", "privacy", "censorship-circumvention", "self-hosted", "web-development", "security"], "enriched": true, "function": ["proxy", "web-framework", "http-server", "auth", "monitoring", "self-hosted", "api-framework"], "health_score": 80, "homepage": null, "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["arvin341az-glitch/RVG"], "name": "arvin341az-glitch/RVG", "platform": ["python", "self-hosted", "cloud"], "pushed_at": "2026-08-24T22:27:39+00:00", "repo": "arvin341az-glitch/RVG", "stars": 3703, "tags": ["vless", "trojan", "shadowsocks", "mtproto", "railway-deployment", "proxy-panel", "fastapi", "admin-dashboard", "traffic-quota", "websocket", "docker", "web-server"], "topics": ["fastapi", "gateway", "proxy", "python", "railway", "vless"], "urls": [], "use_cases": ["self-host a multi-protocol proxy server with a web dashboard", "manage VLESS over WebSocket proxy links with traffic quotas", "deploy a proxy gateway to Railway in one click", "monitor live connections and per-link usage for proxy users", "generate QR codes for sharing proxy configurations", "run a Trojan or Shadowsocks gateway with authentication"], "what_it_is": "RVG Gateway is a self-hosted multi-protocol proxy management panel built with Python and FastAPI. It provides an admin dashboard for creating and managing VLESS, Trojan, Shadowsocks, and MTProto proxy links with traffic quotas, live stats, and QR code generation, deployable to Railway in one click.", "when_to_avoid": [], "when_to_choose": ["you want a lightweight, self-hosted proxy management panel with a modern UI", "you need multi-protocol support (VLESS, Trojan, Shadowsocks, MTProto) in one service", "you prefer Python/FastAPI and easy Railway deployment", "you need per-link quotas and live connection stats"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/rvg", "repo": "arvin341az-glitch/RVG", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "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:08:13.882820+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:13.882820+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:31:00.457224+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d9364c76d69448df26350f414e26bd9861dc66be7b1b0a90d51df78732e3b144", "fetched_at": "2026-08-28T04:08:13.882820+00:00", "kind": "readme", "missing": false, "url": "https://github.com/arvin341az-glitch/RVG"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 5, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "young", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 82, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}