{"adoption": {"forks": 35, "observed_at": "2026-08-28T04:04:29.161925+00:00", "stars": 1355}, "canonical_url": "https://ross.abutalabs.com/products/wireguard-fpga", "card": {"archived": false, "artifact_type": "library", "description": "Full-throttle, wire-speed hardware implementation of Wireguard VPN, using low-cost Artix7 FPGA with opensource toolchain. If you seek security and privacy, nothing is private in our codebase. Our door is wide open for backdoor scrutiny, be it related to RTL, embedded, build, bitstream or any other aspect of design and delivery package. Bujrum!", "domain": ["security", "networking", "privacy", "hardware", "embedded-systems"], "enriched": true, "function": ["vpn", "cryptography", "networking", "security", "embedded"], "health_score": 97, "homepage": "https://nlnet.nl/project/KlusterLab-Wireguard", "language": "Verilog", "license": "BSD-3-Clause", "license_family": "permissive", "maturity": "active", "member_repos": ["chili-chips-ba/wireguard-fpga"], "name": "chili-chips-ba/wireguard-fpga", "platform": ["embedded", "self-hosted"], "pushed_at": "2026-08-26T13:57:15+00:00", "repo": "chili-chips-ba/wireguard-fpga", "stars": 1355, "tags": ["wireguard", "fpga", "verilog", "risc-v", "rtl", "cocotb", "verilator", "open-source-hardware", "artix-7", "nlnet", "linux"], "topics": ["cocotb", "embedded", "fpga", "iss", "risc-v", "rtl", "verilator", "verilog", "vpn", "wireguard", "vproc"], "urls": [], "use_cases": ["implement wireguard vpn in hardware on an fpga", "line-rate encrypted vpn tunneling beyond software performance", "open-source verilog wireguard gateware for security auditing", "learn fpga networking and rtl design with a real project", "build a low-cost hardware vpn appliance with 1g ethernet ports", "verify no backdoors in a vpn implementation via open rtl"], "what_it_is": "An open-source, wire-speed hardware implementation of the WireGuard VPN protocol on a low-cost Artix-7 FPGA, written in Verilog with an open-source toolchain (OpenXC7, Verilator, cocotb). It builds a complete hardware-software SoC including a RISC-V CPU and open Ethernet IP for secure, high-throughput tunneling.", "when_to_avoid": ["you just need a working VPN on general-purpose hardware - use standard WireGuard software", "you need a turnkey product with vendor support or certification", "you lack FPGA hardware or interest in working with HDL toolchains", "you need multi-100G throughput like the proprietary Alveo-based solutions"], "when_to_choose": ["you need wireguard throughput that software implementations cannot reach", "you require a fully open, auditable hardware VPN stack with no proprietary IP blocks", "you want an affordable FPGA platform (Artix-7) supported by open-source tooling", "you are studying or teaching hardware security and RTL networking"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/wireguard-fpga", "repo": "chili-chips-ba/wireguard-fpga", "role": "main", "score": 68}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "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:04:29.161925+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:29.161925+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:57.441146+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6b2fe4be5877acce5ca9d06afd547cba7ec4037823eb7a658d2e70fabcb25cf6", "fetched_at": "2026-08-28T04:04:29.161925+00:00", "kind": "readme", "missing": false, "url": "https://github.com/chili-chips-ba/wireguard-fpga"}, {"content_hash": "2b47fb3736e652596f1c21edd431392d80a321e496cd6b108f515e191af4b1d7", "fetched_at": "2026-08-29T12:00:14.324825+00:00", "kind": "homepage", "missing": false, "url": "https://nlnet.nl/project/KlusterLab-Wireguard"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 55, "rhythm": 36}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 781, "days_push": 7, "days_rel": 218, "gap_med": null, "n_releases_24m": 1}, "score": 68, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}