{"id":50181971,"url":"https://github.com/ipanalytics/vpn-infrastructure-intelligence-lab","last_synced_at":"2026-05-25T07:05:02.334Z","repository":{"id":359747082,"uuid":"1247363232","full_name":"ipanalytics/VPN-Infrastructure-Intelligence-Lab","owner":"ipanalytics","description":"Aggregate VPN infrastructure intelligence dataset and interactive dashboard for provider, country, ASN, relationship, archetype, and hosting dependency analysis without publishing raw endpoint data.","archived":false,"fork":false,"pushed_at":"2026-05-23T08:14:22.000Z","size":242,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-23T10:09:24.671Z","etag":null,"topics":["asn","cybersecurity","data-visualization","geoip","github-pages","hosting-analysis","infrastructure-intelligence","internet-measurement","network-analysis","osint","privacy-research","static-dashboard","threat-intelligence","vpn","vpn-research"],"latest_commit_sha":null,"homepage":"https://ipanalytics.github.io/VPN-Infrastructure-Intelligence-Lab/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipanalytics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-23T07:59:03.000Z","updated_at":"2026-05-23T08:14:46.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ipanalytics/VPN-Infrastructure-Intelligence-Lab","commit_stats":null,"previous_names":["ipanalytics/vpn-infrastructure-intelligence-lab"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/ipanalytics/VPN-Infrastructure-Intelligence-Lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipanalytics%2FVPN-Infrastructure-Intelligence-Lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipanalytics%2FVPN-Infrastructure-Intelligence-Lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipanalytics%2FVPN-Infrastructure-Intelligence-Lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipanalytics%2FVPN-Infrastructure-Intelligence-Lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipanalytics","download_url":"https://codeload.github.com/ipanalytics/VPN-Infrastructure-Intelligence-Lab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipanalytics%2FVPN-Infrastructure-Intelligence-Lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33464014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T06:32:55.349Z","status":"ssl_error","status_checked_at":"2026-05-25T06:32:35.322Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asn","cybersecurity","data-visualization","geoip","github-pages","hosting-analysis","infrastructure-intelligence","internet-measurement","network-analysis","osint","privacy-research","static-dashboard","threat-intelligence","vpn","vpn-research"],"created_at":"2026-05-25T07:03:36.225Z","updated_at":"2026-05-25T07:05:02.327Z","avatar_url":"https://github.com/ipanalytics.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VPN Infrastructure Intelligence Lab\n\nPublic aggregate dataset and static dashboard for analyzing VPN infrastructure patterns.\n\nThe repository presents derived infrastructure intelligence at provider, country, ASN, relationship, archetype, and anonymized hosting-cluster levels. The published data is designed for research, comparison, and visual exploration without exposing raw endpoint inventories or operational source material.\n\n## Published Data Model\n\nThe public dataset is organized around a canonical VPN provider set.\n\nCore entities:\n\n- **Provider**: normalized VPN provider name used as the main join key across provider-level datasets.\n- **Country**: full country name used for public geo summaries and dashboard filtering.\n- **ASN**: public autonomous system number and operator label, shown only as aggregate infrastructure context.\n- **Archetype**: provider infrastructure pattern derived from geography, hosting diversity, concentration, and confidence signals.\n- **Hosting cluster**: anonymized hosting/operator fingerprint used to show dependency patterns without naming raw endpoint infrastructure.\n- **Relationship cluster**: provider grouping based on aggregate overlap evidence such as shared ASN, shared prefix, or exact-overlap counts from aggregate source layers.\n\n## Dataset Files\n\nProvider-level files:\n\n- `data/provider_fingerprints.csv`: provider infrastructure model, observed-record bucket, geography breadth, hosting diversity, shared-infrastructure score, hosting ratio, MMDB country-match rate, and confidence.\n- `data/provider_geo_truth_score.csv`: provider geo-truth score, observed country count, MMDB match rate, virtual-location likelihood, city precision quality, and confidence.\n- `data/provider_independence_index.csv`: provider independence score, grade, hosting concentration, shared-footprint level, geo-diversity level, and confidence.\n- `data/provider_archetype_map.csv`: provider-to-archetype mapping with grade, geo-truth score, and confidence.\n\nCountry and geo files:\n\n- `data/country_virtual_location_pressure.csv`: country-level pressure score, provider count, hosting-cluster count, provider examples, hosting dependency, MMDB match rate, and confidence.\n- `data/provider_country_map.csv`: provider-to-country aggregate mapping with observed-record bucket and provider-country share.\n\nInfrastructure and dependency files:\n\n- `data/hosting_dependency_index.csv`: anonymized hosting clusters with provider count, country count, dependency score, dependency class, and public examples.\n- `data/provider_hosting_cluster_map.csv`: provider-to-hosting-cluster mapping.\n- `data/external_hosting_operator_footprint.csv`: aggregate operator footprint layer with normalized provider examples.\n- `data/external_provider_hosting_dependency.csv`: provider-to-operator aggregate dependency signals.\n\nASN and Atlas files:\n\n- `data/atlas_provider_country_asn.csv`: provider-country-ASN aggregate layer used by the dashboard map and Atlas filters.\n- `data/atlas_provider_country.csv`: provider-country aggregate Atlas layer.\n- `data/atlas_provider_asn.csv`: provider-ASN aggregate Atlas layer.\n- `data/atlas_country_summary.csv`: country-level Atlas summary recalculated from the normalized provider-country-ASN layer.\n- `data/atlas_asn_summary.csv`: ASN-level Atlas summary recalculated from the normalized provider-country-ASN layer.\n- `data/external_asn_multi_provider_clusters.csv`: multi-provider ASN contexts after normalization to the canonical VPN provider set.\n\nRelationship and structure files:\n\n- `data/external_provider_overlap_signals.csv`: pair-level aggregate overlap signals.\n- `data/external_provider_relationship_clusters.csv`: provider relationship clusters with aggregate evidence counts.\n- `data/external_shared_prefix_evidence.csv`: anonymized shared-prefix evidence clusters.\n- `data/infrastructure_archetypes.csv`: archetype summaries and median signal values.\n- `data/market_structure_tiers.csv`: provider count and description for market-structure tiers.\n- `data/methodology_features.csv`: feature descriptions used by the public scoring layer.\n\nRepository summary:\n\n- `data/providers_public.csv`: public provider fingerprint export.\n- `data/public_summary.json`: generated public summary, source counts, exclusion boundary, and validation context.\n\n## Relationships Between Files\n\nMain joins:\n\n- `provider` joins provider-level files, provider-country maps, provider-hosting maps, Atlas provider files, and external provider dependency layers.\n- `country` joins country pressure data, provider-country maps, Atlas country summaries, and dashboard country filters.\n- `asn` joins Atlas ASN summaries, provider-ASN rows, provider-country-ASN rows, and ASN context panels.\n- `hosting_cluster` joins `hosting_dependency_index.csv` with `provider_hosting_cluster_map.csv`.\n- `archetype` joins `infrastructure_archetypes.csv` with `provider_archetype_map.csv`.\n- `relationship_cluster` identifies aggregate provider relationship groups in `external_provider_relationship_clusters.csv`.\n\nThe dashboard applies these relationships interactively. Selecting a provider, country, ASN, archetype, relationship cluster, or hosting cluster recalculates the visible provider table, Atlas map, ASN context, country lists, relationship panels, and hosting dependency tables.\n\n## Dashboard\n\nThe GitHub Pages entry point is the interactive dashboard:\n\n- Root page: `index.html`\n- Dashboard app: `dashboard/index.html`\n- Dashboard data source: `data/`\n\nThe dashboard includes:\n\n- world Atlas map\n- unified filters\n- provider fingerprint table\n- selected-signal dossier\n- market structure tiers\n- infrastructure archetypes\n- country geo-truth list\n- ASN/network intelligence\n- provider relationship clusters\n- hosting dependency clusters\n\n## Public Safety Boundary\n\nThe repository does not publish:\n\n- raw VPN exit IP addresses\n- endpoint or node inventories\n- CIDR/network range lists\n- OpenVPN or WireGuard configuration files\n- credentials, tokens, or provider client artifacts\n- MMDB/source databases\n- real-time detection feeds or blocklists\n\nThe public layer contains aggregates, scores, examples, buckets, and anonymized cluster identifiers only.\n\n## Interpretation and Legal Context\n\nScores and clusters are analytical infrastructure signals. They are not accusations, legal conclusions, ownership claims, affiliation claims, abuse determinations, or provider verdicts.\n\nProvider independence, geo-truth, relationship, and dependency scores describe observed infrastructure patterns within the available aggregate data. They do not establish corporate control, intent, jurisdiction, service quality, user safety, malicious activity, or legal responsibility.\n\nCountry labels represent observed or enriched infrastructure geography in the aggregate dataset. They are not statements about company jurisdiction, physical office location, ownership, or legal domicile.\n\nASN and operator labels are used as infrastructure context only. They do not imply endorsement, wrongdoing, control, cooperation, or responsibility by the named network operator.\n\nThe dataset is suitable for research, comparative analysis, methodology discussion, and visual exploration. It is not a substitute for legal review, incident response evidence, compliance decisions, or live security enforcement.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipanalytics%2Fvpn-infrastructure-intelligence-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipanalytics%2Fvpn-infrastructure-intelligence-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipanalytics%2Fvpn-infrastructure-intelligence-lab/lists"}