पूछिए कि 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 को समेटने के असमर्थित दावे से बेहतर है।

संबंधित लेख