কেউ একটি অটোমেশন বানিয়েছে যা ইনকগনিটো ট্যাব দেখা গেলেই VPN চালু করে, আর তা নির্ভরযোগ্যভাবে কাজ করে না। কারণটি গঠনগত, এবং অটোমেশন ঠিক করার আগে তা বোঝা দরকার: Android-এ প্রতি অ্যাপের নিয়ম অ্যাপ্লিকেশন প্যাকেজ বেছে নেয়, আর ইনকগনিটো একই প্যাকেজের ভিতরের একটি অবস্থা। নিয়মটি দুটির পার্থক্য ধরতে পারে না। ব্রাউজার কাজ শুরু করার পরেই বিজ্ঞপ্তিও আসে, তাই সঠিক ট্রিগারও দেরিতে পৌঁছায়। পাঁচটি পরীক্ষা ক্রমে করুন; চতুর্থ পরীক্ষায় ব্যর্থতা মানে পদ্ধতিটি, সেটিংস নয়, বদলাতে হবে।

প্রথম পরীক্ষা: নিয়মটি কী বেছে নিতে পারে

একটি VPN অ্যাপ তার টানেল তৈরি করে অনুমোদিত বা নিষিদ্ধ অ্যাপ্লিকেশনের তালিকা থেকে, আর সেই তালিকা প্যাকেজের নাম নেয়। সাধারণ মোডের Chrome আর ইনকগনিটো মোডের Chrome একই প্যাকেজ, একই ব্যবহারকারী আইডি ও একই নেটওয়ার্ক অনুমতি, তাই Chrome-কে অন্তর্ভুক্ত বা বাদ দেওয়া নিয়ম দুটির ক্ষেত্রেই একইভাবে প্রযোজ্য। প্ল্যাটফর্মের কাছে মেলানোর মতো ট্যাব-ভিত্তিক পরিচয় নেই।

এটি এড়িয়ে যাওয়ার ত্রুটি নয়; এটিই API যে সূক্ষ্মতা দেয়। যদি Chrome-এর ট্র্যাফিক টানেলের ভিতরে আর বাকি সব বাইরে চান, তবে প্রতি অ্যাপের নিয়ম ঠিক তা-ই প্রকাশ করে। যদি কেবল গোপন ট্যাব ভিতরে আর সাধারণ ট্যাব সরাসরি যাওয়া চান, তবে কোনো প্রতি অ্যাপের নিয়ম তা প্রকাশ করতে পারে না, আর কোনো বিজ্ঞপ্তি-যুক্তি প্ল্যাটফর্মে না থাকা নির্বাচক যোগ করে না।

প্যাকেজ পরিচয়ের ফাঁদে সতর্ক থাকুন: বিটা বা সরবরাহকারীর বিল্ড স্থিতিশীল ব্রাউজারের থেকে আলাদা প্যাকেজ, তাই একটি ঢাকা নিয়ম অন্যটি নীরবে বাদ দেয়:

adb shell pm list packages | grep -i chrome

দ্বিতীয় পরীক্ষা: ট্রিগার কি কখনো যথেষ্ট আগে আসতে পারে

বিজ্ঞপ্তি শ্রোতা কেবল সেই বিজ্ঞপ্তি দেখে যেগুলো দেখার অনুমতিপায়। দেখা মানে আটকানো নয়: বিজ্ঞপ্তিটি তৈরি হওয়ার সময় ব্রাউজার ইতিমধ্যে নাম সমাধান করে সংযোগ খুলে ফেলেছে, আর সেই পথে কিছুই আপনার অটোমেশনের জন্য অপেক্ষা করে না। এরপর VPN ক্লায়েন্ট চালু করা কাজটিকে ক্লায়েন্টের ইন্টারফেস, যেকোনো সম্মতি জিজ্ঞাসা আর টানেলের হ্যান্ডশেকের জন্য অপেক্ষা করতে হয়, যা সেকেন্ডে মাপা হয়, অথচ প্রথম অনুরোধ মিলিসেকেন্ডে মাপা হয়।

শনাক্তকরণ দ্বিতীয় কারণেও ভঙ্গুর। বিজ্ঞপ্তির লেখা সংস্করণ ও ভাষার মধ্যে বদলায়, তাই একটি সংস্করণে মেলা প্যাটার্ন হালনাগাদের পরে আর মেলে না, আর ব্যর্থতা নীরব। বিজ্ঞপ্তি না থাকা গোপন ব্রাউজিংয়ের অনুপস্থিতির প্রমাণ নয়; এটি কেবল বোঝাতে পারে স্ট্রিং বদলেছে বা চ্যানেল নীরব করা হয়েছে।

এই কর্মপ্রবাহের একটি বৈধ রূপ আছে, আর তা প্রতিক্রিয়াশীল নয়, ক্রমবদ্ধ: আগে অনুমোদিত VPN সংযুক্ত করুন, টানেল সত্যিই ট্র্যাফিক বহন করছে এমন প্রস্তুতির সংকেত নিশ্চিত করুন, তারপর ব্রাউজারের সমর্থিত নিয়ন্ত্রণে গোপন অধিবেশন খুলুন, আর প্রস্তুতি পরীক্ষা ব্যর্থ হলে থামুন। এটি আপনি যে অধিবেশন শুরু করতে চলেছেন তা রক্ষা করে, ইতিমধ্যে চলা একটি রক্ষা করার ভান না করে।

তৃতীয় পরীক্ষা: যে অনুমতি দিতে চলেছেন তা যাচাই করুন

বিজ্ঞপ্তিতে প্রবেশাধিকার একটি সংবেদনশীল অনুমতি যা একটি সেবাকে কেবল ব্রাউজার নয়, প্রতিটি অ্যাপের বিজ্ঞপ্তি পড়তে দেয়। একটি ব্রাউজার অবস্থা দেখতে অপরিচিত অটোমেশন সরঞ্জামকে তা দেওয়া খারাপ বিনিময়, আর পরীক্ষা শেষ হলেও প্রবেশাধিকার থাকে। অ্যাক্সেসিবিলিটি-চালিত ট্যাপ আরও খারাপ: সেগুলো ইন্টারফেসের উপর একটি স্ক্রিপ্ট স্তর, সমর্থিত VPN নিয়ন্ত্রণ নয়, আর যেকোনো লেআউট বদল তা ভেঙে দেয়।

কিছু দেওয়ার আগে জিজ্ঞাসা করুন, সমর্থিত কৌশলে একই ফল পাওয়া যায় কি না। উত্তর যদি নীতি-প্রয়োজন হয়, তবে সাধারণত যায়: প্ল্যাটফর্ম কোনো শ্রবণ সেবা ছাড়াই একটি অ্যাপ বা প্রোফাইলের জন্য টানেল বলবৎ করতে পারে।

চতুর্থ পরীক্ষা: বলবৎকরণ দরকার হলে সর্বদা-চালু আর ব্লকিং ব্যবহার করুন

ব্রাউজার যদি কখনোই টানেলের বাইরে যোগাযোগ না করে, তবে বলবৎকরণ প্ল্যাটফর্মের সেটিংসে থাকে, ম্যাক্রোতে নয়। Android টানেল প্রতিষ্ঠিত না হলে ট্র্যাফিক আটকায় এমন ব্লকিং মোডসহ সর্বদা-চালু VPN সমর্থন করে, আর পরিচালিত ডিভাইস নীতি দিয়ে তা পেতে পারে। অনুমান না করে ডিভাইসে এখন কী আছে নিশ্চিত করুন:

adb shell settings get global always_on_vpn_app
adb shell settings get global always_on_vpn_lockdown

অশূন্য অ্যাপ মানে একটি প্যাকেজ সর্বদা-চালু হিসেবে সেট আছে, আর লকডাউন মান 1 মানে টানেলের বাইরের সংযোগ ব্লক করা আছে। এই জোড়া সর্বোত্তম-চেষ্টার অভ্যাসকে গ্যারান্টিতে বদলায় আর দৌড় সম্পূর্ণ সরিয়ে দেয়, কারণ অ্যাপ ট্র্যাফিক অনুমোদনের আগেই টানেল প্রতিষ্ঠিত হয়।

এখানে দুটি সীমা মনে রাখুন। কাজের প্রোফাইলের নিজস্ব VPN কনফিগারেশন থাকে, তাই ব্যক্তিগত প্রোফাইলে যাচাই করা নিয়ম কাজের প্রোফাইল সম্পর্কে কিছু বলে না। আর আলাদা ইনস্টল করা ব্রাউজার, অন্য অ্যাপের খোলা কাস্টম ট্যাব, বা অ্যাপের ভিতরের ওয়েবভিউ আলাদা প্যাকেজ বা প্রসঙ্গ, যার নিজস্ব রাউটিং আছে, তাই আলাদা চেহারার উইন্ডো আলাদা ডোমেইন ভেবে না নিয়ে প্রকৃত প্যাকেজ যাচাই করুন।

পঞ্চম পরীক্ষা: কর্মপ্রবাহ লিখে রাখুন আর ব্যর্থতার পথ পরীক্ষা করুন

যাই বেছে নিন, ক্রম আর থামার শর্ত নথিভুক্ত করুন। সুবিধাজনক কর্মপ্রবাহের অর্থ: টানেল চালু, প্রস্তুতি প্রমাণিত, ইনকগনিটো খোলা, আর প্রস্তুতি ব্যর্থ হলে কঠোর বিরতি। বলবৎকরণের পথের অর্থ: সর্বদা-চালু অ্যাপ সেট, লকডাউন চালু, আর টানেল আদৌ না উঠলে প্রত্যাশিত আচরণ, অর্থাৎ অসুরক্ষিত ট্র্যাফিক নয়, কোনো ট্র্যাফিক না থাকা।

তারপর সাফল্য নয়, ব্যর্থতা পরীক্ষা করুন। অধিবেশনের মাঝে টানেল বিচ্ছিন্ন করে দেখুন ব্রাউজার কী করে; VPN অ্যাপের প্রসেস ব্লক করে নিশ্চিত করুন কিছু লিক করছে না। শেষে, দুটি গোপনীয়তা মডেল নথিতে আলাদা রাখুন: ইনকগনিটো অস্থায়ী ব্রাউজার অবস্থা নিয়ন্ত্রণ করে আর নেটওয়ার্ক থেকে ট্র্যাফিক লুকায় না, আর VPN ট্র্যাফিক বহন করে কিন্তু লগইন বা গোপন অধিবেশনে পাঠানো কিছু মুছে দেয় না।

সম্পর্কিত নিবন্ধ