Vprašajte, kaj predstavlja ena vrstica nabora podatkov o VPN, in odgovori se množijo: podjetje, poslušalec, javni izhodni naslov, rezultat dosegljivosti. Vsak je legitimen, njihovo mešanje brez oznak pa daje vsoto, ki zveni natančno in ne pomeni nič. Enota je oblikovalska odločitev in jo je treba sprejeti pred prvim štetjem. Večina zmede v objavljeni statistiki VPN izvira iz preskoka tega koraka.

Vrstica je trditev, ne stvar

Vsaka vrstica trdi nekaj o svetu, trditev pa ima subjekt. Prav poimenovanje subjekta naredi vrstico primerljivo z drugo vrstico.

Vrstica ponudnika trdi, da organizacija ponuja storitev. Vrstica končne točke trdi, da določen naslov in vrata govorita protokol. Vrstica izhoda trdi, da je promet v nekem trenutku zapustil naslov. Vrstica meritve trdi, da je sonda od nekod opazila rezultat. Štirje subjekti, štiri sheme in nabor podatkov, ki jih meša brez razločevalnika, sploh ni mogoče združiti.

Razločevalnik je najcenejši del sheme in tisti, ki se najpogosteje izpusti.

Izberite enoto pred štetjem

Izberite enoto, ki odgovarja na vprašanje, ki ga res imate. Štetje končnih točk odgovarja, koliko poslušalcev je bilo objavljenih; štetje ponudnikov odgovarja, koliko organizacij je sodelovalo; štetje izhodnih naslovov odgovarja, koliko navideznih izvorov obstaja.

Te številke niso zamenljive in razlike so velike. En ponudnik lahko upravlja tisoče naslovov, en naslov pa lahko gosti več protokolskih poslušalcev za različne storitve. Število naslovov torej ni niti zgornja niti spodnja meja za število ponudnikov. Vsakič navedite enoto v istem stavku kot število. Število brez enote je mnenje z decimalno vejico.

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

Javni imenik zagotavlja objavljene udeležence v tej storitvi. Ni popis vsake komercialne, organizacijske in zasebne namestitve na svetu in obravnavanje kot takega napihne vsako izpeljano statistiko.

Izvor spada v shemo

Vrstice brez izvora ni mogoče znova preveriti. Zabeležite izvorni zapis, čas zbiranja z njegovim časovnim pasom, metodo opazovanja in stanje zadnjega videnja.

Objavljene atribute hranite ločeno od opaženih, ker nosijo različno težo. Državna oznaka imenika je objavljena trditev in ni dokaz fizične lokacije strežnika. Dodelitev IP označuje omrežni blok, ne vsakega najemnika v njem in ne trenutnega operaterja aplikacije zgoraj. Dva stolpca in opomba vsakič premagata eno združeno polje.

{"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"}

Ena vrstica JSON naredi shemo konkretno in o njej je lažje razpravljati kot o odstavku opisa. Opazite, da časovni žig nosi časovni pas in da je metoda poimenovana, ne implicitna.

Odstranite dvojnike glede na vprašanje

Dvojniki so odvisni od enote. Isti naslov z dvema protokolskima poslušalcema je en par končnih točk in dve storitvi, njegovo tiho združevanje pa spremeni štetje.

Odstranite dvojnike na ravni, po kateri sprašuje vprašanje, in zabeležite, koliko surovih vrstic se je zlilo v vsako obdržano vrstico. To razmerje je samo po sebi ugotovitev, ker veliko zlitje običajno pomeni, da vir objavlja zapise na poslušalca. Ponudnik z veliko naslovi daje nasproten vzorec. Oba sta pravilna in samo zabeleženo razmerje bralcu omogoča, da ju loči.

Nato obdržite surove vrstice. Tabela brez dvojnikov je pogled in zmožnost, da jo znova zgradite iz surovega vnosa, naredi rezultat ponovljiv.

Objavite izjavo o pokritosti

Navedite, kako so bili viri izbrani, katere regije ali omrežja pokrivajo in kaj namerno manjka.

Zasebne poslovne končne točke in neobjavljene namestitve se nikoli ne pojavijo na javnih seznamih, zato odsotnost v imeniku dokazuje le, da ga imenik ni navedel. Pred objavo preverite pogoje vira in dovoljenja za prerazširjanje ter odstranite polja, ki nikoli niso bila potrebna. Študija končnih točk le redko zahteva identitete naročnikov, poverilnice ali zgodovino brskanja. Njihova objava bi bila drug projekt z drugo utemeljitvijo.

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

Ti trije ukazi dajo število vrstic, razdelitev po enotah in skico pokritosti po objavljeni državi. Obdržite datirane posnetke, ko se populacija spremeni, in ločite zastarelo od potrjene odsotnosti. Omejen nabor s jasno populacijo je boljši od nepodprte trditve, da vsebuje vsak VPN na internetu.

Sorodni članki