{"adoption": {"forks": 488, "observed_at": "2026-08-28T04:05:28.406209+00:00", "stars": 1728}, "canonical_url": "https://ross.abutalabs.com/products/hwdsl2-openvpn-install", "card": {"archived": false, "artifact_type": "cli-tool", "description": "OpenVPN server installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS, Fedora, openSUSE, Amazon Linux and Raspberry Pi OS. Includes interactive setup and client management.", "domain": ["security", "privacy", "networking", "self-hosted", "censorship-circumvention"], "enriched": true, "function": ["vpn", "security", "networking", "cli", "self-hosted", "cryptography"], "health_score": 80, "homepage": null, "language": "Shell", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["hwdsl2/openvpn-install"], "name": "hwdsl2/openvpn-install", "platform": ["cli", "self-hosted"], "pushed_at": "2026-08-26T07:14:54+00:00", "repo": "hwdsl2/openvpn-install", "stars": 1728, "tags": ["openvpn", "vpn-server", "installer", "bash-script", "easyrsa", "raspberry-pi", "ipv6", "client-management", "command-line", "linux"], "topics": ["bash", "centos", "debian", "openvpn", "ubuntu", "vpn", "linux", "raspberry-pi", "encryption", "network", "security", "vpn-client", "vpn-server", "self-hosted", "openvpn-server", "easyrsa", "pki", "installer", "privacy", "ipv6"], "urls": [], "use_cases": ["set up my own OpenVPN server on a VPS", "install a VPN server on Ubuntu with one command", "manage OpenVPN users and client certificates", "self-host a VPN for privacy on a cloud server", "configure OpenVPN profiles for Windows, macOS, iOS and Android", "run a VPN server on Raspberry Pi", "enable IPv6 support for OpenVPN clients"], "what_it_is": "A Bash script that automates setting up an OpenVPN server on a wide range of Linux distributions, including Ubuntu, Debian, CentOS, Fedora, and Raspberry Pi OS. It supports both fully automated and interactive installation, and manages VPN clients and certificates after setup.", "when_to_avoid": ["you prefer WireGuard or IPsec instead of OpenVPN", "you need a GUI-based VPN management tool", "you are not running a supported Linux distribution", "you need a managed VPN service rather than self-hosting"], "when_to_choose": ["you want a fast, scriptable OpenVPN server setup on a Linux server", "you need interactive customization of VPN options during install", "you want built-in client and certificate management", "you are self-hosting a VPN for privacy or remote access"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hwdsl2-openvpn-install", "repo": "hwdsl2/openvpn-install", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "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:28.406209+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:28.406209+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:32:09.207792+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26e0ff7d3a1182b09bf14686abb1164d47c40994ea53c201508b2ffe316a8ec6", "fetched_at": "2026-08-28T04:05:28.406209+00:00", "kind": "readme", "missing": false, "url": "https://github.com/hwdsl2/openvpn-install"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "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": 1566, "days_push": 7, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}