{"adoption": {"forks": 297, "observed_at": "2026-08-28T04:06:37.775923+00:00", "stars": 2331}, "canonical_url": "https://ross.abutalabs.com/products/evilsocket-xray", "card": {"archived": true, "artifact_type": "cli-tool", "description": "XRay is a tool for recon, mapping and OSINT gathering from public networks.", "domain": ["security", "osint", "networking", "developer-tools"], "enriched": true, "function": ["osint", "search-engine", "http-client", "web-scraping", "security", "networking", "cli"], "health_score": 10, "homepage": null, "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "abandoned", "member_repos": ["evilsocket/xray"], "name": "evilsocket/xray", "platform": ["windows", "go", "cli"], "pushed_at": "2024-07-10T09:43:56+00:00", "repo": "evilsocket/xray", "stars": 2331, "tags": ["network-recon", "subdomain-enumeration", "shodan", "banner-grabbing", "network-mapping", "legacy", "superseded-by-legba", "linux", "macos", "docker"], "topics": ["osint", "security", "network", "shodan", "intelligence", "mapping"], "urls": [], "use_cases": ["enumerate subdomains of a target domain via DNS wordlist bruteforcing", "gather open ports and service fingerprints for discovered hosts using Shodan", "grab banners from HTTP, HTTPS, SSH, FTP, SMTP, MySQL, POP and IRC services", "collect historical DNS data for a domain via ViewDNS", "map a public network's attack surface during initial recon", "inspect HTTPS certificate chains to discover additional subdomains"], "what_it_is": "XRay is a Go-based CLI tool for network reconnaissance and OSINT that enumerates subdomains via DNS bruteforcing, gathers open-port intelligence from Shodan, grabs service banners, and presents results in a web UI. The repository is legacy code, as the project has been reimplemented and expanded in Rust as 'legba'.", "when_to_avoid": ["you want active development or new features - use the successor project legba instead", "you need stealth or anonymity - connections are made directly from your host and may be flagged", "you require port scanning without third-party API dependencies", "unauthorized scanning may be illegal or against the target's policies"], "when_to_choose": []}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/evilsocket-xray", "repo": "evilsocket/xray", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "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:37.775923+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.775923+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:37:59.028149+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c1862bed013dee2452bf0c5667c5bca62ca7ad590fb3c316b92f32c2fa4d5090", "fetched_at": "2026-08-28T04:06:37.775923+00:00", "kind": "readme", "missing": false, "url": "https://github.com/evilsocket/xray"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "archived"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3343, "days_push": 784, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}