{"adoption": {"forks": 398, "observed_at": "2026-08-28T04:05:55.167917+00:00", "stars": 1920}, "canonical_url": "https://ross.abutalabs.com/products/aspia", "card": {"archived": false, "artifact_type": "application", "description": "Remote desktop and file transfer tool.", "domain": ["cross-platform", "developer-tools", "self-hosted", "networking", "security"], "enriched": true, "function": ["file-system", "cryptography", "auth", "authorization", "gui", "networking"], "health_score": 84, "homepage": "https://aspia.org", "language": "C++", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["dchapyshev/aspia"], "name": "dchapyshev/aspia", "platform": ["windows", "cpp", "cross-platform"], "pushed_at": "2026-08-03T08:10:19+00:00", "repo": "dchapyshev/aspia", "stars": 1920, "tags": ["remote-access", "remote-control", "nat-traversal", "file-transfer", "teamviewer-alternative", "anydesk-alternative", "vnc", "rdp", "qt", "system-information", "open-source", "remote-desktop", "linux", "macos", "android"], "topics": ["remote-desktop", "cpp", "remote-control", "qt", "qt5", "protobuf", "linux", "macos", "windows", "teamviewer", "remote-access", "anydesk", "rdp", "vnc"], "urls": [], "use_cases": ["remotely control another computer's desktop", "transfer files to a remote machine", "self-host a TeamViewer or AnyDesk alternative", "provide remote IT support and assistance", "view system information on a remote computer", "connect to machines by ID through NAT traversal", "run an encrypted remote terminal session"], "what_it_is": "Aspia is a free open-source remote desktop application with file transfer, remote terminal, system information, text chat, and video recording. It supports direct connections or a self-hosted NAT traversal infrastructure using Router and Relay servers with connection by ID.", "when_to_avoid": ["you need a lightweight CLI-only remote access tool", "you require enterprise features like session recording for compliance or multi-tenant management at scale", "you need official mobile apps beyond Android or web-browser-based remote access"], "when_to_choose": ["you want an open-source, self-hosted alternative to TeamViewer or AnyDesk", "you need cross-platform remote desktop across Windows, Linux, macOS, and Android", "you require encrypted connections with per-user access rights and encrypted address books", "you want to run your own Router/Relay infrastructure instead of relying on third-party clouds"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aspia", "repo": "dchapyshev/aspia", "role": "main", "score": 66}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "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:55.167917+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:55.167917+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:09:48.691170+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d71ad2188c509a59cb9dbcf0f1e0ab1dfcca8822923910fe069cf825051c3232", "fetched_at": "2026-08-28T04:05:55.167917+00:00", "kind": "readme", "missing": false, "url": "https://github.com/dchapyshev/aspia"}, {"content_hash": "d937b14393c0f8f0f4ae46122dd2973ad06a277f7b51074dc43cea7dcb65bb5c", "fetched_at": "2026-08-29T10:49:09.527359+00:00", "kind": "homepage", "missing": false, "url": "https://aspia.org"}, {"content_hash": "b2e9e66f31925f863fbdcab921bdb88c20905540e547096ae6416a445df3fd22", "fetched_at": "2026-08-29T10:49:09.536188+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/documentation.html"}, {"content_hash": "edd0d4fa803f416a08af4e5d7790a6b5263fe189248d0da8039b26a447672069", "fetched_at": "2026-08-29T10:49:09.538020+00:00", "kind": "site_page", "missing": false, "url": "https://aspia.org/changelog"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3598, "days_push": 30, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 66, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}