Demandu, kion reprezentas unu vico de VPN-datumaro, kaj la respondoj multiĝas: kompanio, aŭskultanto, publika elira adreso, atingebla rezulto. Ĉiu estas legitima, kaj miksado de ili sen etikedoj produktas sumon, kiu sonas preciza kaj signifas nenion. La unuo estas dizajna decido, kaj ĝi devas esti prenita antaŭ la unua kalkulado. Plejparto de la konfuzo en publikigitaj VPN-statistikoj venas de preterpasi tiun paŝon.

Vico estas aserto, ne aĵo

Ĉiu vico asertas ion pri la mondo, kaj la aserto havas subjekton. Nomado de la subjekto estas tio, kio igas la vicon komparebla kun alia vico.

Provizanta vico asertas, ke organizo ofertas servon. Finpunkta vico asertas, ke difinita adreso kaj pordo parolas protokolon. Elira vico asertas, ke trafiko lasis adreson en iu tempo. Mezura vico asertas, ke sondilo el ie observis rezulton. Kvar subjektoj, kvar skemoj, kaj datumaro, kiu miksas ilin sen distingilo, tute ne povas esti agregata.

La distingilo estas la plej malmultekosta parto de la skemo kaj la plej ofte preterlasata.

Elektu la unuon antaŭ la kalkulado

Elektu la unuon, kiu respondas la demandon, kiun vi efektive havas. Kalkuli finpunktojn respondas, kiom da aŭskultantoj estis anoncitaj; kalkuli provizantojn respondas, kiom da organizoj partoprenis; kalkuli elirajn adresojn respondas, kiom da ŝajnaj originoj ekzistas.

Tiuj nombroj ne estas interŝanĝeblaj, kaj la diferencoj estas grandaj. Unu provizanto povas funkciigi milojn da adresoj, kaj unu adreso povas gastigi plurajn protokolajn aŭskultantojn por malsamaj servoj. Kalkulo de adresoj do estas nek supra nek suba limo por kalkulo de provizantoj. Citu la unuon en la sama frazo kiel la nombron, ĉiufoje. Nombro sen unuo estas opinio kun dekuma punkto.

UnitThe row assertsWhat a count of it means
ProviderAn organisation offers a serviceHow many operators appear
EndpointAn address and port speak a protocolHow many listeners were advertised
Exit addressTraffic left from an addressHow many apparent origins exist
ObservationA probe saw a resultHow many tests ran, not how many servers

Publika dosierujo liveras anoncitajn partoprenantojn en tiu servo. Ĝi ne estas inventaro de ĉiu komerca, organiza kaj privata deplojo en la mondo, kaj trakti ĝin tiel ŝveligas ĉiun derivitan statistikon.

Deveno apartenas al la skemo

Vico sen deveno ne povas esti rekontrolita. Registru la fontan rikordon, la kolektan tempon kun ĝia horzono, la observan metodon kaj staton de laste vidita.

Tenu anoncitajn atributojn aparte de observitaj, ĉar ili portas malsaman pezon. La landa etikedo de dosierujo estas anoncita aserto, kaj ĝi ne estas pruvo de la fizika loko de servilo. IP-asigno identigas retan blokon, ne ĉiun luanton interne, kaj ne la nunan funkciiganton de aplikaĵo supre. Du kolumnoj kaj noto venkas unu kunfanditan kampon ĉiufoje.

{"endpoint": "203.0.113.10:1194/udp", "unit": "endpoint", "advertised_country": "NL",
 "observed_at": "2026-11-03T02:15:00Z", "method": "udp_probe", "last_seen": "2026-11-03"}

Unu linio de JSON igas la skemon konkreta kaj estas pli facile diskutebla ol paragrafo de priskribo. Notu, ke la tempstampo portas horzonon kaj la metodo estas nomata anstataŭ implicita.

Forigu duplikatojn laŭ la demando

Duplikatoj dependas de la unuo. La sama adreso kun du protokolaj aŭskultantoj estas unu finpunkta paro kaj du servoj, kaj silente kunfaligi ĝin ŝanĝas la kalkulon.

Forigu duplikatojn je la nivelo, pri kiu demandas la demando, kaj registru, kiom da krudaj vicoj kunfalis en ĉiun konservitan vicon. Tiu proporcio estas mem trovaĵo, ĉar granda kunfalo kutime signifas, ke la fonto publikigas rikordojn laŭ aŭskultanto. Provizanto funkciiganta multajn adresojn produktas la kontraŭan ŝablonon. Ambaŭ estas ĝustaj, kaj nur la registrita proporcio ebligas al leganto distingi ilin.

Poste konservu la krudajn vicojn. Duplikat-libera tabelo estas vido, kaj la kapablo rekonstrui ĝin el la kruda enigo igas la rezulton reproduktebla.

Publikigu la deklaron pri kovrado

Deklaru, kiel fontoj estis elektitaj, kiujn regionojn aŭ retojn ili kovras, kaj kio estas intence forestanta.

Privataj korporaciaj finpunktoj kaj neanoncitaj deplojoj neniam aperas en publikaj listoj, do foresto en dosierujo pruvas nur, ke la dosierujo ne listigis ĝin. Kontrolu la fontajn kondiĉojn kaj redistribuajn permesojn antaŭ publikigo, kaj forigu kampojn, kiuj neniam estis necesaj. Finpunkta studo malofte postulas abonantajn identecojn, akreditaĵojn aŭ retuman historion. Publikigi tiujn estus alia projekto kun alia pravigo.

wc -l vpn-endpoints.jsonl
jq -r '.unit' vpn-endpoints.jsonl | sort | uniq -c
jq -r '.advertised_country' vpn-endpoints.jsonl | sort | uniq -c | sort -rn | head

Tiuj tri komandoj donas vican kalkulon, unuan dispartigon kaj kovran skizon laŭ anoncita lando. Konservu datitajn momentfotojn, kiam la populacio ŝanĝiĝas, kaj distingu malmodernan de konfirmita foresto. Limigita datumaro kun klara populacio superas nesubtenatan aserton enhavi ĉiun VPN en la interreto.

Rilataj artikoloj