{"adoption": {"forks": 223, "observed_at": "2026-08-28T04:06:13.815491+00:00", "stars": 2105}, "canonical_url": "https://ross.abutalabs.com/products/esim-tools", "card": {"archived": false, "artifact_type": "application", "description": "专为已有 Giffgaff 和 Simyo 号码的用户设计的现代化 eSIM 管理工具集，支持将物理 SIM 卡转换为 eSIM、设备更换和二维码生成。(A modern set of eSIM management tools designed specifically for users who already have Giffgaff and Simyo numbers, offering support for converting physical SIM cards to eSIMs, device replacements, and QR code generation.)", "domain": ["self-hosted", "privacy"], "enriched": true, "function": ["web-framework", "http-client", "workflow-automation"], "health_score": 80, "homepage": "http://esim.cosr.eu.org", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["Silentely/eSIM-Tools"], "name": "Silentely/eSIM-Tools", "platform": ["browser"], "pushed_at": "2026-08-24T11:32:42+00:00", "repo": "Silentely/eSIM-Tools", "stars": 2105, "tags": ["esim", "giffgaff", "simyo", "qr-code-generation", "sim-conversion", "unofficial-api", "telecom-automation", "telecom", "automation", "web-server", "javascript", "nodejs"], "topics": ["esim", "giffgaff", "tools", "simyo"], "urls": [], "use_cases": ["convert my giffgaff physical sim to esim", "transfer esim to a new phone on giffgaff", "generate an esim qr code for simyo", "reactivate giffgaff esim without calling support", "get esim activation code for simyo nl", "move my simyo number to a new device"], "what_it_is": "A free web-based toolset for existing Giffgaff (UK) and Simyo (NL) subscribers to convert physical SIM cards to eSIMs, transfer eSIMs between devices, and generate activation QR codes. It automates carrier flows via OAuth 2.0 PKCE and GraphQL APIs, processing all data locally in the browser.", "when_to_avoid": ["you are a new customer trying to get a number for the first time", "you cannot risk violating carrier terms of service with an unofficial tool", "you use a carrier other than Giffgaff or Simyo"], "when_to_choose": ["you already have a Giffgaff or Simyo number and need eSIM conversion or device transfer", "you want a browser-based, no-install flow that processes data locally", "Simyo's official app cannot generate QR codes and you need one"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/esim-tools", "repo": "Silentely/eSIM-Tools", "role": "main", "score": 62}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "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:06:13.815491+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:13.815491+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:54:01.226122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b7971e6b9d722c6bf744733e0b78ec42731ab101064771ce39abb8470b68cf4e", "fetched_at": "2026-08-28T04:06:13.815491+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Silentely/eSIM-Tools"}, {"content_hash": "139496a0e8025d65dfd41c9f38a4431f282fd68a1057ff1ac1068fe1d7e8889a", "fetched_at": "2026-08-29T10:34:33.741077+00:00", "kind": "homepage", "missing": false, "url": "http://esim.cosr.eu.org"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 28, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 397, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 62, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}