VPN ডেটাসেটে একটি সারি বলতে কী বোঝায় এবং কেন এটি গুরুত্বপূর্ণ
প্রোভাইডার, এন্ডপয়েন্ট, এক্সিট ঠিকানা ও পৌঁছানোর ক্ষমতা — এই চারটি আলাদা সারি। একক নির্বাচন করুন, উৎস সংরক্ষণ করুন, ডেটাসেট যা ঢাকে না তা প্রকাশ করুন।
VPN ডেটাসেটের একটি সারি কী প্রতিনিধিত্ব করে তা জিজ্ঞাসা করুন, উত্তরগুলো বেড়ে যায়: একটি কোম্পানি, একটি শ্রোতা, একটি প্রকাশ্য এক্সিট ঠিকানা, একটি পৌঁছানোর ফল। প্রত্যেকটিই বৈধ, আর লেবেল ছাড়া সেগুলো মিশিয়ে দিলে যে মোট পাওয়া যায় তা নির্ভুল শোনায় কিন্তু কিছুই বোঝায় না। একক হলো একটি নকশা-সিদ্ধান্ত, এবং প্রথম গণনার আগেই তা নিতে হবে। প্রকাশিত VPN পরিসংখ্যানের বেশিরভাগ বিভ্রান্তি ওই ধাপটি এড়িয়ে যাওয়া থেকেই আসে।
সারি একটি দাবি, কোনো বস্তু নয়
প্রতিটি সারি পৃথিবী সম্পর্কে কিছু দাবি করে, আর দাবিটির একটি বিষয় থাকে। বিষয়টির নাম দেওয়াই সারিটিকে অন্য একটি সারির সঙ্গে তুলনীয় করে তোলে।
প্রোভাইডার সারি দাবি করে যে একটি প্রতিষ্ঠান সেবা দেয়। এন্ডপয়েন্ট সারি দাবি করে যে নির্দিষ্ট ঠিকানা ও পোর্ট একটি প্রোটোকল বলে। এক্সিট সারি দাবি করে যে ট্রাফিক কোনো সময়ে একটি ঠিকানা থেকে বেরিয়েছে। পরিমাপ সারি দাবি করে যে কোনো জায়গার একটি প্রোব একটি ফল দেখেছে। চারটি বিষয়, চারটি স্কিমা, আর পার্থক্যকারী ছাড়া সেগুলো মেশানো ডেটাসেট আদৌ একত্র করা যায় না।
পার্থক্যকারী হলো স্কিমার সবচেয়ে সস্তা অংশ এবং সবচেয়ে বেশি বাদ পড়া অংশ।
গণনার আগে একক বেছে নিন
আপনার সত্যিকারের প্রশ্নের উত্তর দেয় এমন একক বেছে নিন। এন্ডপয়েন্ট গোনা বলে কতগুলো শ্রোতা বিজ্ঞাপিত হয়েছিল; প্রোভাইডার গোনা বলে কতটি প্রতিষ্ঠান জড়িত ছিল; এক্সিট ঠিকানা গোনা বলে কতগুলো আপাত উৎস বিদ্যমান।
এই সংখ্যাগুলো বিনিময়যোগ্য নয়, আর পার্থক্যও বড়। একজন প্রোভাইডার হাজার হাজার ঠিকানা চালাতে পারে, আর একটি ঠিকানা বিভিন্ন সেবার জন্য একাধিক প্রোটোকল শ্রোতা রাখতে পারে। তাই ঠিকানার গণনা প্রোভাইডারের গণনার উপরের বা নিচের কোনো সীমাই নয়। প্রতিবার সংখ্যার সঙ্গে একই বাক্যেই একক উল্লেখ করুন। একক ছাড়া একটি সংখ্যা দশমিক বিন্দুসহ একটি মতামত।
| Unit | The row asserts | What a count of it means |
|---|---|---|
| Provider | An organisation offers a service | How many operators appear |
| Endpoint | An address and port speak a protocol | How many listeners were advertised |
| Exit address | Traffic left from an address | How many apparent origins exist |
| Observation | A probe saw a result | How 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 ধারণের অসমর্থিত দাবির চেয়ে ভালো।