Питајте шта представља један ред скупа података о VPN-у и одговори се множе: компанија, слушалац, јавна излазна адреса, резултат доступности. Сваки је легитиман, а њихово мешање без ознака даје збир који звучи прецизно и не значи ништа. Јединица је дизајнерска одлука и мора се донети пре првог бројања. Највећи део забуне у објављеној VPN статистици долази од прескакања тог корака.

Ред је тврдња, а не ствар

Сваки ред тврди нешто о свету, а тврдња има субјекат. Управо именовање субјекта чини ред упоредивим са другим редом.

Ред пружаоца тврди да организација нуди услугу. Ред крајње тачке тврди да одређена адреса и порт говоре протокол. Ред излаза тврди да је саобраћај у неком тренутку напустио адресу. Ред мерења тврди да је сонда однекуд посматрала резултат. Четири субјекта, четири шеме, а скуп података који их меша без разликовача не може се уопште агрегирати.

Разликовач је најјефтинији део шеме и онај који се најчешће изоставља.

Изаберите јединицу пре бројања

Изаберите јединицу која одговара на питање које заиста имате. Бројање крајњих тачака одговара колико је слушалаца објављено; бројање пружалаца одговара колико је организација учествовало; бројање излазних адреса одговара колико привидних извора постоји.

Ови бројеви нису заменљиви и разлике су велике. Један пружалац може управљати хиљадама адреса, а једна адреса може удомити неколико протоколских слушалаца за различите услуге. Зато број адреса није ни горња ни доња граница за број пружалаца. Наведите јединицу у истој реченици са бројем, сваки пут. Број без јединице је мишљење са децималном тачком.

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

Јавни именик даје објављене учеснике у тој услузи. Он није попис сваког комерцијалног, организационог и приватног распоређивања у свету, и његово третирање као таквог надувава сваки изведени статистички податак.

Порекло припада шеми

Ред без порекла не може поново да се провери. Забележите изворни запис, време прикупљања са његовом временском зоном, метод посматрања и статус последњег виђења.

Држите објављене атрибуте одвојено од посматраних, јер носе различиту тежину. Ознака земље у именику је објављена тврдња, а не доказ физичке локације сервера. Додела IP-а идентификује мрежни блок, не сваког закупца у њему и не тренутног оператера апликације изнад. Две колоне и напомена сваки пут побеђују једно спојено поље.

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

Један ред JSON-а чини шему конкретном и о њој је лакше расправљати него о пасусу описа. Приметите да временска ознака носи временску зону и да је метод именован, а не подразумеван.

Уклоните дупликате према питању

Дупликати зависе од јединице. Иста адреса са два протоколска слушаоца је један пар крајњих тачака и две услуге, а њено тихо спајање мења бројање.

Уклоните дупликате на нивоу за који питање пита, и забележите колико се сирових редова следило у сваки задржани ред. Тај однос је сам по себи налаз, јер велико слеђивање обично значи да извор објављује записе по слушаоцу. Пружалац са много адреса даје супротан образац. Оба су тачна и само забележени однос омогућава читаоцу да их разликује.

Затим задржите сирове редове. Табела без дупликата је поглед, а могућност да се поново изгради из сировог улаза чини резултат поновљивим.

Објавите изјаву о покривености

Наведите како су извори изабрани, које регионе или мреже покривају и шта намерно недостаје.

Приватне корпоративне крајње тачке и необјављена распоређивања никада се не појављују на јавним листама, тако да одсуство у именику доказује само да га именик није навео. Проверите услове извора и дозволе за прерасподелу пре објављивања и уклоните поља која никада нису била потребна. Студија крајњих тачака ретко захтева идентитете претплатника, акредитиве или историју прегледања. Њихово објављивање било би други пројекат са другим оправдањем.

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

Ове три команде дају број редова, поделу по јединицама и скицу покривености по објављеној земљи. Чувајте датиране снимке када се популација мења и разликујте застарело од потврђеног одсуства. Ограничен скуп са јасном популацијом бољи је од непоткрепљене тврдње да садржи сваки VPN на интернету.

Повезани чланци