{"adoption": {"forks": 389, "observed_at": "2026-08-28T04:06:29.053479+00:00", "stars": 2230}, "canonical_url": "https://ross.abutalabs.com/products/getssl", "card": {"archived": false, "artifact_type": "cli-tool", "description": "obtain free SSL certificates from letsencrypt ACME server  Suitable for automating the process on remote servers. ", "domain": ["security", "web-development", "self-hosted"], "enriched": true, "function": ["security", "workflow-automation", "developer-tools", "cli"], "health_score": 97, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["srvrco/getssl"], "name": "srvrco/getssl", "platform": ["bsd", "cli"], "pushed_at": "2026-07-31T12:12:11+00:00", "repo": "srvrco/getssl", "stars": 2230, "tags": ["letsencrypt", "acme", "ssl-certificates", "certificate-renewal", "shell-script", "remote-servers", "cron", "devops", "linux", "macos"], "topics": ["getssl", "certificate", "ssl-certificate", "acme-server", "ssh", "ftp", "remote", "letsencrypt", "acme"], "urls": [], "use_cases": ["obtain free ssl certificates from letsencrypt", "automate certificate renewal on remote servers", "issue wildcard certificates via dns challenge", "manage certificates for shared hosting without server access", "automatically reload nginx or apache after cert renewal", "deploy ssl certs to multiple servers via ssh"], "what_it_is": "A Bash-based CLI tool for obtaining and automatically renewing free SSL/TLS certificates from the Let's Encrypt ACME server. It can deploy certificates and validation tokens to remote servers via ssh, sftp, or ftp, making it suitable for shared hosting environments.", "when_to_avoid": ["you are on Windows without a unix-like environment (limited IIS support)", "you prefer an integrated solution like certbot with official package support", "you need a GUI or managed certificate lifecycle platform"], "when_to_choose": ["you need a lightweight, dependency-free shell script for ACME certificate management", "certificates must be installed on remote servers you can only reach via ssh/sftp/ftp", "you want cron-based automatic renewal with post-install verification and service reloads"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/getssl", "repo": "srvrco/getssl", "role": "main", "score": 95}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "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:29.053479+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:29.053479+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:44:38.853557+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "80dea288ffd08be96d50a3152cc33d230209f4778224d8a186f2ffbe22b04d0f", "fetched_at": "2026-08-28T04:06:29.053479+00:00", "kind": "readme", "missing": false, "url": "https://github.com/srvrco/getssl"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 95, "longevity": 100, "rhythm": 93}, "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": 3887, "days_push": 33, "days_rel": 50, "gap_med": 20.0, "n_releases_24m": 3}, "score": 95, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}