WebRTC লিক টেস্ট: আপনার VPN কি আসল IP ঠিকানা ফাঁস করছে?
এই WebRTC লিক টেস্ট ট্র্যাকিং স্ক্রিপ্টগুলোর মতোই সরাসরি পিয়ার-টু-পিয়ার সংযোগ পদ্ধতি ব্যবহার করে এবং পরীক্ষা করে দেখে যে সংগৃহীত ঠিকানাগুলোর মধ্যে এমন কোনো আসল আইপি আছে কি না যা আপনার ভিপিএন-এর আড়াল করার কথা ছিল। এটি কোনো ক্যামেরা, মাইক্রোফোন বা অনুমতি চাওয়া ছাড়াই একটি ফাঁকা ডেটা চ্যানেলের মাধ্যমে RTCPeerConnection খোলে, দুটি পাবলিক STUN সার্ভার থেকে আপনার সংযোগ বাইরের দিক থেকে কেমন দেখায় তা জানতে চায় এবং স্বাভাবিক HTTPS রিকোয়েস্টের আইপির সাথে তা মিলিয়ে দেখে।
এই পরীক্ষায় প্রদর্শিত ICE প্রার্থীদের তালিকা কীভাবে বুঝবেন
অন্য কোনো ডিভাইস যে যে নেটওয়ার্ক পথের মাধ্যমে আপনার সাথে যোগাযোগ স্থাপন করতে পারে WebRTC-কে তার প্রতিটি পথ খুঁজে বের করতে হয়, যার ফলে এটি তথাকথিত ICE প্রার্থীদের (ICE candidates) একটি তালিকা তৈরি করে। এই পৃষ্ঠায় ধরন এবং ট্রান্সপোর্ট প্রোটোকল সহ সেই সম্পূর্ণ তালিকা দেখানো হয় এবং পাঁচ সেকেন্ড পর অনুসন্ধান বন্ধ করা হয়।
এর ঠিক উপরে HTTP সংযোগের মাধ্যমে শনাক্ত হওয়া আপনার সাধারণ IPv4 এবং IPv6 ঠিকানা প্রদর্শিত হয় — এটি ঠিক সেই মান যা আমার আইপি অ্যাড্রেস কী পৃষ্ঠা প্রদর্শন করে। এগুলো হলো তুলনার মূল ভিত্তি; চূড়ান্ত সিদ্ধান্ত তৈরি হয় এই দুই তথ্যের সরাসরি যাচাইয়ের মাধ্যমে।
host, srflx এবং relay — বিভিন্ন ব্যাজের অর্থ
- লোকাল (host) — আপনার নিজস্ব নেটওয়ার্ক কার্ডের ঠিকানা: একটি লোকাল ল্যান আইপি যেমন
192.168.1.14অথবা একটি র্যান্ডম.localনাম। - পাবলিক (STUN মারফত) —
srflxপ্রার্থী, অর্থাৎ STUN সার্ভার যে পাবলিক ঠিকানা থেকে প্যাকেটটি গ্রহণ করেছে। VPN চালু থাকা অবস্থায় এটিই সবচেয়ে গুরুত্বপূর্ণ। - রিলে (TURN) — মধ্যস্থতাকারী সার্ভারের মাধ্যমে যাওয়া ট্র্যাফিক; এই পরীক্ষাটি কেবল STUN ব্যবহার করে, তাই রিলে সারি আসা অত্যন্ত বিরল।
প্রতিটি সিদ্ধান্তের অর্থ
- লিক শনাক্ত হয়েছে — পাবলিক STUN প্রার্থী আপনার HTTP IP-র সাথে মিলছে না; VPN ব্যবহারে এর অর্থ হলো WebRTC প্যাকেটটি এনক্রিপ্ট করা টানেল এড়িয়ে বাইরে চলে গেছে।
- কোনো লিক নেই — উভয় ঠিকানা পুরোপুরি মিলে গেছে।
- লোকাল IP উন্মুক্ত — ছদ্মনামী mDNS নামের পরিবর্তে সরাসরি লোকাল ল্যান আইপি প্রদর্শিত হয়েছে।
- সুরক্ষিত — আপনার লোকাল ঠিকানাটি একটি র্যান্ডম
.localহোস্টনামের আড়ালে সুরক্ষিত রয়েছে। - কোনো পাবলিক IP নেই / WebRTC অবরুদ্ধ — STUN সার্ভারে সংযোগ করা যায়নি অথবা ব্রাউজারে WebRTC বন্ধ রয়েছে।
WebRTC কেন এমন একটি IP ফাঁস করে যা VPN আড়াল করছিল
WebRTC তৈরি করা হয়েছিল ব্রাউজারগুলোর মধ্যে সরাসরি ভিডিও কল, ভয়েস চ্যাট এবং ফাইল আদান-প্রদান সহজ করতে। আলাদা আলাদা রাউটারের পেছনে থাকা দুটি কম্পিউটার সংযুক্ত করতে NAT ট্রাভার্সাল প্রয়োজন হয়, যার জন্য বাইরে থেকে একটি প্রশ্নের উত্তর জানা দরকার: এই সংযোগটি আসলে কোন ঠিকানা থেকে আসছে? একটি STUN সার্ভার এই উত্তর দেয় এবং যেকোনো ওয়েবসাইট জাভাস্ক্রিপ্টের মাধ্যমে নীরবে ব্যাকগ্রাউন্ডে এই প্রক্রিয়া চালু করতে পারে।
আপনি যখন আসল পরিচয় আড়াল করতে চান তখন এটি নিরাপত্তা সংকট তৈরি করে। VPN আপনার সাধারণ HTTP ট্র্যাফিককে সুরক্ষিত টানেলের ভেতর দিয়ে পাঠায়, কিন্তু WebRTC সরাসরি STUN সার্ভারে নিজস্ব UDP প্যাকেট পাঠায় যা স্প্লিট-টানেলিং ব্যবস্থায় স্বাভাবিক লোকাল ইন্টারনেট লাইন দিয়ে চলে যায়। ব্রাউজার এক্সটেনশন ভিত্তিক VPN এর সবচেয়ে বড় উদাহরণ: সেগুলো কেবল ওয়েব রিকোয়েস্ট প্রক্সি করে কিন্তু অপারেটিং সিস্টেমের UDP ট্র্যাফিক টানেল করতে পারে না — ফলে এর ফলাফল HTTP-ভিত্তিক VPN চেক ফলাফলের সাথে অমিল হতে পারে।
একটি এলোমেলো .local হোস্টনাম কোনো ডেটা লিক নয়
হোস্ট প্রার্থীর ঘরে যদি 192.168.1.14-এর পরিবর্তে 7b3f9c21-4d0a-48e7.local-এর মতো নাম দেখা যায়, তবে সুরক্ষা ব্যবস্থা যথাযথভাবে কাজ করছে। একে বলা হয় mDNS অবফাসকেশন: ব্রাউজার লোকাল ইন্টারফেসের জন্য একটি সাময়িক মাল্টিকাস্ট ডিএনএস নাম তৈরি করে এবং আসল ল্যান আইপির পরিবর্তে সেটি পাঠিয়ে দেয়। Chrome, Edge, Brave, Firefox এবং Safari সবাই ডিফল্টভাবে এটি করে — uBlock Origin সংস্করণ v1.38-এ তাদের নিজস্ব WebRTC অপশন সরিয়ে নিয়েছে কারণ ব্রাউজারগুলো নিজেরাই এটি সামলাচ্ছে। মনে রাখবেন: এটি কেবল লোকাল নেটওয়ার্ক আইপি রক্ষা করে (পাবলিক VPN লিক ঠেকায় না), এবং যে ওয়েবসাইটকে ক্যামেরা বা মাইক্রোফোনের অনুমতি দেওয়া হয়েছে সে আসল লোকাল আইপি দেখতে পাবে।
Chrome এবং Edge-এ WebRTC লিক সমাধানের উপায়
উভয় ব্রাউজারের সাধারণ সেটিংসে কোনো সরাসরি অন/অফ সুইচ নেই এবং chrome://flags বা edge://flags-এর অপশনগুলো আর WebRTC বন্ধ করতে পারে না। বাস্তবক্ষেত্রে তিনটি সমাধান কার্যকর:
- ব্রাউজার এক্সটেনশনের পরিবর্তে পূর্ণাঙ্গ সিস্টেম VPN ক্লায়েন্ট (Full-Tunnel) ব্যবহার করুন। সমস্ত UDP প্যাকেট টানেলের মধ্য দিয়ে গেলে STUN কেবল VPN সার্ভারের আইপি দেখতে পাবে।
- এক্সটেনশনের মাধ্যমে IP হ্যান্ডলিং নীতি নির্ধারণ করুন। WebRTC Leak Prevent-এর মতো টুল
chrome.privacy.network.webRTCIPHandlingPolicy-কেdefault_public_interface_onlyবাdisable_non_proxied_udp-তে পরিবর্তন করে লোকাল আইপি প্রকাশ হওয়া বন্ধ করে। - সিস্টেম পলিসি (GPO/Registry) প্রয়োগ করুন। উইন্ডোজে
SOFTWARE\Policies\Microsoft\Edge-এর অধীনেWebRtcLocalhostIpHandlingঅথবা Chrome-এর জন্যWebRtcIPHandlingনীতিAllowPublicInterfaceOnlyবাDisableNonProxiedUdpনির্ধারণ করুন। ব্রাউজার রিস্টার্ট করেedge://policy-তে পরীক্ষা করুন।
Firefox-এ কীভাবে WebRTC পুরোপুরি নিষ্ক্রিয় করবেন
জনপ্রিয় ডেস্কটপ ব্রাউজারগুলোর মধ্যে কেবল ফায়ারফক্সেই সরাসরি বন্ধ করার সুইচ রয়েছে। অ্যাড্রেস বারে about:config লিখুন, সতর্কতা গ্রহণ করুন, media.peerconnection.enabled খুঁজুন এবং ডাবল-ক্লিক করে মানটি false করে দিন। রিস্টার্ট ছাড়াই সমস্ত ওয়েবসাইটের জন্য WebRTC অবিলম্বে বন্ধ হয়ে যাবে এবং এই পরীক্ষাটি একে ব্লকড হিসেবে দেখাবে।
এটি একটি চূড়ান্ত সমাধান: ওয়েব-ভিত্তিক মিট, টিমস, ডিসকর্ড এবং জুমের মতো কলিং ব্যবস্থাগুলো আর যুক্ত হতে পারবে না। আপনি যদি কলিং সচল রাখতে চান, তবে সেটি অন রেখে media.peerconnection.ice.default_address_only-কে true করে দিন — ফায়ারফক্স তখন কেবল আপনার ডিফল্ট রুটের (অর্থাৎ VPN টানেলের) ঠিকানা পাঠাবে।
Brave ব্রাউজারে WebRTC লিক ঠেকানোর নিয়ম
Chrome যা আড়াল করে Brave তা সরাসরি সেটিংসেই দিয়ে দেয়। brave://settings/privacy খুলুন এবং WebRTC IP handling policy অংশটি খুঁজুন। VPN বা প্রক্সিতে দুটি বিকল্প গুরুত্বপূর্ণ:
- Default — সব অ্যাডাপ্টার স্ক্যান করতে পারে এবং লোকাল আইপি প্রকাশ করতে পারে।
- Default Public and Private Interfaces — ডিফল্ট রুট ব্যবহার করে কিন্তু সম্পর্কিত প্রাইভেট আইপি প্রদর্শন করে।
- Default Public Interface Only — কেবল ডিফল্ট রুট, কোনো লোকাল ঠিকানা নেই; ভয়েস কল চালু থাকে। দৈনন্দিন কাজের জন্য সবচেয়ে সেরা সেটিং।
- Disable Non-Proxied UDP — প্রক্সি UDP সমর্থন না করলে TCP ব্যবহারে বাধ্য করে। সবচেয়ে কঠোর সুরক্ষা (টর উইন্ডোতে ব্যবহৃত), তবে P2P কল ব্যাহত হতে পারে।
Safari, iPhone এবং Android ডিভাইসের বিশেষ দিকসমূহ
মোবাইল ডিভাইস এবং WebKit ইঞ্জিনের ক্ষেত্রে সাধারণ ডেস্কটপ নির্দেশিকা প্রযোজ্য হয় না।
macOS-এ Safari ব্রাউজার
আধুনিক সাফারিতে কোনো স্থায়ী গ্লোবাল অফ সুইচ নেই। ডেভেলপার মেনুর অপশনগুলো ব্রাউজার বন্ধ করলেই রিসেট হয়ে যায়। যেহেতু ক্যামেরা বা মাইকের অনুমতি না দেওয়া পর্যন্ত সাফারি mDNS দিয়ে লোকাল আইপি ঢেকে রাখে, তাই সবচেয়ে ভালো পথ হলো Safari > Settings > Websites-এ সাইট অনুমতি নিয়ন্ত্রণ করা এবং সিস্টেম-লেভেল VPN চালানো।
iPhone এবং iPad (iOS/iPadOS)
iOS-এর সমস্ত ব্রাউজার বাধ্যতামূলকভাবে WebKit ইঞ্জিন ব্যবহার করে। আইফোনে Chrome বা Firefox-এর কোনো about:config বা এক্সটেনশন সুবিধা নেই; কনটেন্ট ব্লকারগুলোও WebRTC আটকাতে পারে না। লিক রোধে Settings > VPN-এ গিয়ে এমন একটি VPN প্রোফাইল ব্যবহার করুন যা পুরো UDP ট্র্যাফিক টানেল করে, এবং সাফারিতে পুনরায় পরীক্ষা করুন।
অ্যান্ড্রয়েড সিস্টেম
অ্যান্ড্রয়েডের Chrome-এ WebRTC সংক্রান্ত কোনো ফ্ল্যাগ বা এক্সটেনশন নেই। অ্যান্ড্রয়েডের Brave ব্রাউজার তার গোপনীয়তা সেটিংসে একই আইপি হ্যান্ডলিং নীতি সরবরাহ করে। ফায়ারফক্স অ্যান্ড্রয়েডে কেবল Beta এবং Nightly ভার্সনে about:config কাজ করে। সামগ্রিক সমাধান হলো অ্যান্ড্রয়েড সেটিংসে Always-on VPN এবং Block connections without VPN চালু রাখা।
এই লিক টেস্ট যা শনাক্ত করতে পারে না
এই পৃষ্ঠা কেবল সেই তথ্যগুলোই যাচাই করে যা আপনার ব্রাউজার এই ডোমেনের স্ক্রিপ্টকে সরবরাহ করে। এটি ব্রাউজার স্তরের নিচের কোনো ত্রুটি — যেমন অপারেটিং সিস্টেমের রাউটিং বিভ্রাট বা VPN কভার করে না এমন কোনো IPv6 রুট — শনাক্ত করতে পারে না এবং DNS লিক পরীক্ষা করে না। ফায়ারওয়াল যদি STUN ব্লক করে রাখে তবে „কোনো পাবলিক IP নেই“ লেখা আসবে, যার অর্থ কেবল কোনো উত্তর আসেনি। উপরন্তু, আইপি শনাক্তকরণের একটি উপাদান মাত্র: আমার ব্রাউজার কী পৃষ্ঠায় তালিকাভুক্ত স্ক্রিন রেজোলিউশন, ফন্ট এবং হেডারগুলো পরিচ্ছন্ন VPN আইপির পরেও আপনার ডিভাইসকে আলাদাভাবে চিনে নিতে পারে।
সাধারণ জিজ্ঞাসা (FAQ)
VPN সংযুক্ত থাকা সত্ত্বেও কি WebRTC আমার আসল IP ফাঁস করতে পারে?
হ্যাঁ, এমনটি প্রায়ই ঘটে। WebRTC সরাসরি STUN সার্ভারে নিজস্ব UDP প্যাকেট পাঠায়। স্প্লিট টানেলিং বা সাধারণ ব্রাউজার এক্সটেনশন VPN ব্যবহার করলে এই প্যাকেটগুলো টানেলের বাইরে দিয়ে সাধারণ ইন্টারনেট লাইনে চলে যায়। STUN সার্ভার আপনার আসল প্রোভাইডারের আইপি পায় এবং যেকোনো ওয়েবসাইট জাভাস্ক্রিপ্ট দিয়ে তা পড়তে পারে। সম্পূর্ণ সিস্টেম VPN ক্লায়েন্ট এই সমস্যাটি দূর করে।
Edge ব্রাউজারে কি WebRTC সম্পূর্ণ বন্ধ করার কোনো উপায় আছে?
সাধারণ সেটিংস দিয়ে সম্ভব নয়: এজ-এ কোনো অন/অফ সুইচ নেই এবং about:flags-এর পুরনো ফ্ল্যাগটি মুছে ফেলা হয়েছে। উইন্ডোজে আপনি রেজিস্ট্রির SOFTWARE\Policies\Microsoft\Edge-এর অধীনে WebRtcLocalhostIpHandling নীতি AllowPublicInterfaceOnly বা DisableNonProxiedUdp নির্ধারণ করতে পারেন। ব্রাউজার রিস্টার্ট করে edge://policy-তে যাচাই করুন।
Firefox-এ WebRTC এবং PeerConnection নিষ্ক্রিয় করার পথ কোনটি?
অ্যাড্রেস বারে about:config লিখুন: media.peerconnection.enabled খুঁজুন এবং ডাবল-ক্লিক করে false করে দিন। এতে রিস্টার্ট ছাড়াই তাৎক্ষণিকভাবে সব সাইটে WebRTC বন্ধ হয়ে যাবে, কিন্তু ওয়েব ভিডিও কলিং কাজ করবে না। কল সচল রাখতে চাইলে সেটি চালু রাখুন এবং media.peerconnection.ice.default_address_only-কে true করুন।
Safari ব্রাউজারে কীভাবে স্থায়ীভাবে WebRTC নিষ্ক্রিয় করা যায়?
সাফারির আধুনিক সংস্করণে স্থায়ীভাবে এটি বন্ধ করা যায় না। অতীতের পরীক্ষামূলক মেনুটি বাদ দেওয়া হয়েছে এবং ডেভেলপার মেনুর অপশনগুলো ব্রাউজার বন্ধ হলেই রিসেট হয়ে যায়। যেহেতু সাফারি mDNS দিয়ে লোকাল আইপি ঢেকে রাখে, তাই সাফারির সেটিংস থেকে সাইট অনুমতি নিয়ন্ত্রণ করা এবং সিস্টেম-লেভেল VPN চালানোই সবচেয়ে কার্যকর।
Brave-এ WebRTC লিক বন্ধ করার সর্বোত্তম সেটিংস কী?
brave://settings/privacy খুলুন এবং VPN বা প্রক্সিতে থাকাকালীন WebRTC IP handling policy-কে „Disable Non-Proxied UDP“ নির্ধারণ করুন। WebRTC তখন প্রক্সির মাধ্যমে TCP ব্যবহার করবে এবং STUN কখনোই আসল আইপি জানতে পারবে না। অডিও কল চালু রাখতে „Default Public Interface Only“ একটি চমৎকার ভারসাম্যপূর্ণ বিকল্প।
কোন WebRTC IP হ্যান্ডলিং নীতিটি আমার বেছে নেওয়া উচিত?
বেশিরভাগ ব্যবহারকারীর জন্য „Default Public Interface Only“ আদর্শ: এটি লোকাল অ্যাডাপ্টারগুলোকে আড়াল করে, UDP সচল রাখে এবং ভিডিও কল নিরবচ্ছিন্ন রাখে। চরম গোপনীয়তার জন্য কেবল „Disable Non-Proxied UDP“ নির্বাচন করুন। অন্য সাধারণ অপশনগুলো লোকাল আইপি উন্মুক্ত রাখতে পারে।
WebRTC-র মাধ্যমে কেন আমার ব্যক্তিগত IP ঠিকানা প্রকাশ্যে চলে আসে?
আধুনিক ব্রাউজারগুলোতে এটি আর সরাসরি উন্মুক্ত হয় না। Chrome, Edge, Brave, Firefox এবং Safari আসল লোকাল ল্যান আইপির পরিবর্তে .local দিয়ে শেষ হওয়া একটি এলোমেলো mDNS হোস্টনাম তৈরি করে। ফলে ওয়েবসাইটগুলো 192.168.1.14-এর বদলে সেই ছদ্মনামটি দেখে। যদি সরাসরি লোকাল আইপি দেখা যায়, তবে বুঝতে হবে সুরক্ষা নিষ্ক্রিয় রয়েছে।