Tasker: ব্যক্তিগত URL খোলার আগে VPN সংযুক্ত করুন
Tasker-এর উচিত ব্যক্তিগত URL খোলার আগে সংযুক্ত হওয়া ও অপেক্ষা করা: প্রস্তুতি নির্ধারণ করুন, ক্লায়েন্টের নিয়ন্ত্রণ ইন্টারফেস ব্যবহার করুন এবং কঠোর সীমার জন্য সর্বদা-চালু রাখুন।
একটি ব্যক্তিগত URL খুলে আশা করা যে টানেল আগে উঠে আসবে—এটি এক দৌড়, আর সাধারণত ব্রাউজারই জেতে। ইতিমধ্যে লোড হওয়া পৃষ্ঠায় প্রতিক্রিয়া জানানো কোনো শর্টকাট DNS অনুসন্ধান এবং প্রায়ই প্রথম সংযোগটি মিস করেছে, আর ঠিক সেই অংশটিরই VPN দরকার ছিল। কর্মপ্রবাহকে ক্রমটি পর্যবেক্ষণ নয়, নিজের অধিকারে রাখতে হবে। তিনটি শর্ত ঠিক করে এই কর্মপ্রবাহ আদৌ Tasker-এ রাখা উচিত কি না।
একটি প্রবেশবিন্দুই ক্রমটি পরিচালনা করবে
ব্যক্তিগত সেবাটিকে একটি অনুমোদিত প্রবেশবিন্দু দিন, এবং সেই প্রবেশবিন্দুই ধাপগুলো ক্রম অনুসারে সম্পন্ন করুক। গন্তব্য যাচাই করুন, উদ্দিষ্ট প্রোফাইল নির্বাচন করুন, সংযোগের অনুরোধ করুন, কতক্ষণ অপেক্ষা করবেন তার সীমা সহ প্রস্তুতির ফলাফলের জন্য অপেক্ষা করুন, এবং কেবল তারপর URL খুলুন। কোনো ধাপ ব্যর্থ হলে থামুন এবং তা জানান, সরাসরি খোলায় গড়িয়ে পড়বেন না।
শেষ বাক্যটিই মানুষ এড়িয়ে যায়। সময় শেষে যাওয়া সত্ত্বেও URL খুলে ফেলা কর্মপ্রবাহ কোনো অটোমেশন না থাকার চেয়েও খারাপ, কারণ এটি এমন একটি অনুরোধ তৈরি করে যা ব্যর্থ VPN-এর মতো দেখায়, অথচ এটি কখনো VPN ব্যবহারই করেনি।
1. validate destination against the approved list
2. select the intended VPN profile
3. request connection through the client's supported interface
4. wait for readiness, maximum 20 seconds
5. open the URL only if readiness succeeded
6. on timeout, stop and report
উপরের সংখ্যাযুক্ত তালিকাটিই চুক্তি, কোনো রপ্তানি করা প্রোফাইল নয়। প্রতিটি ক্লায়েন্ট তার নিয়ন্ত্রণ-তল আলাদাভাবে বাস্তবায়ন করে, এবং কিছু ক্ষেত্রে প্লাগইন, স্পষ্ট নিয়ন্ত্রণ অনুমতি বা এককালীন ব্যবহারকারীর সম্মতি দরকার যা কোনো অটোমেশন দিতে পারে না।
সংযুক্ত হওয়া আর প্রস্তুত হওয়া এক নয়
যে স্ট্যাটাস বলে টানেল চালু হয়েছে তা প্রমাণ করে ক্লায়েন্ট অনুরোধটি গ্রহণ করেছে। এটি প্রমাণ করে না যে রিজলভার এখন ব্যক্তিগত ঠিকানা ফেরত দিচ্ছে বা উদ্দিষ্ট সেবাটি পৌঁছানোযোগ্য। এগুলো আলাদা ফলাফল, এবং এদের মধ্যবর্তী ফাঁকটিই সেই জায়গা যেখানে খুব তাড়াতাড়ি খোলা শর্টকাট নীরবে ব্যর্থ হয়। ক্লায়েন্ট নিজের অবস্থার কথা জানায়, URL যে পথ ব্যবহার করবে সেই পথের অবস্থার কথা নয়।
কর্মপ্রবাহ যা পর্যবেক্ষণ করতে পারে তার বিপরীতে প্রস্তুতি নির্ধারণ করুন। ক্লায়েন্ট থেকে পাওয়া সংযোগের অবস্থা, প্রত্যাশিত পরিসর থেকে পাওয়া ঠিকানা, বা নির্দিষ্ট সেবায় পৌঁছানোর পরীক্ষা—সবই কাজ করে, শর্ত হলো পরীক্ষাটি সাধারণ নেটওয়ার্ক পথে ফিরে যেতে পারবে না। সাধারণ পথে সফল হওয়া পরীক্ষা আপনাকে কিছুই বলে না।
অপেক্ষার সীমা দিন। সময়সীমা ছাড়া প্রস্তুতির শর্ত একটি ভাঙা প্রোফাইলকে এমন শর্টকাটে পরিণত করে যা ঝুলে থাকে, আর ব্যবহারকারীরা এটি VPN সমস্যা নয়, ফোন জমে যাওয়া হিসেবে জানায়।
Tasker কী করতে পারে আর কী করতে পারে না
Tasker আঠা জোগায়: একটি ট্রিগার, ক্রমবদ্ধ কর্মের তালিকা, শর্ত এবং একটি URL কর্ম। এর URL খোলার কর্ম কেবল খোলার ধাপটি সম্পন্ন করে, আর কিছুই নয়। সংযোগের ধাপটি VPN ক্লায়েন্ট থেকেই আসতে হবে—প্লাগইন, intent বা ক্লায়েন্ট যে উন্মুক্ত সেবা নথিভুক্ত করে ও অনুমোদন দেয় তার মাধ্যমে।
উদাহরণস্বরূপ, OpenVPN for Android AIDL ও intent-এর উপর গড়া একটি দূরনিয়ন্ত্রণ ইন্টারফেস নথিভুক্ত করে। এটি সেই ক্লায়েন্টের একটি সক্ষমতা, ডিভাইসের যেকোনো কাজের জন্য এটি চালানোর লাইসেন্স নয়। নিয়ন্ত্রণ কেবল আপনার উদ্দিষ্ট অ্যাপকে দিন, কারণ যে অটোমেশন স্তর একটি টানেল সংযুক্ত ও বিচ্ছিন্ন করতে পারে তা সুরক্ষার যোগ্য নিয়ন্ত্রণ-তল।
ইনস্টল করা ক্লায়েন্ট যদি কোনো সমর্থিত নিয়ন্ত্রণ পদ্ধতি প্রকাশ না করে, সৎ উত্তর হলো এই কর্মপ্রবাহটি সেই ক্লায়েন্টে গড়া যাবে না। পুরোনো ফিচার-তুলনার পৃষ্ঠা ফোনে থাকা সংস্করণের সক্ষমতা-নির্দেশিকা নয়।
কখন সীমাটি বাধ্যতামূলক হওয়া উচিত
অটোমেশন একটি সুবিধা, আর সুবিধা নিরাপত্তা-সীমা বলবৎ করতে পারে না। যদি প্রয়োজন হয় যে আওতাভুক্ত অ্যাপ্লিকেশনগুলো VPN ছাড়া কখনো যোগাযোগ করবে না, তবে প্ল্যাটফর্মের সর্বদা-চালু VPN ও ব্লকিং সেটিং, বা সমতুল্য পরিচালিত কনফিগারেশন ব্যবহার করুন। নেভিগেশন শুরু হওয়ার পরে ঘটে যাওয়া ব্রাউজার ইভেন্ট সেই বলবৎকরণের বিকল্প হতে পারে না, কাজটি যতই যত্নে সাজানো হোক।
কোনটি বানাচ্ছেন তা ঠিক করুন। আগে সংযুক্ত হয়ে তারপর খোলা শর্টকাট উপকারী, আর তা নিশ্চয়তা নয়। ব্লকিং চালু থাকা পরিচালিত ডিভাইস একটি নিশ্চয়তা, এবং এর Tasker ক্রমের আদৌ দরকার নেই।
| Requirement | Mechanism |
|---|---|
| Open the page after the tunnel is ready | Ordered task with a bounded readiness wait |
| Never allow traffic outside the tunnel | Always-on VPN with blocking, or managed policy |
| Only some apps use the tunnel | Per-app VPN or work-profile scope |
| Different URL every time | Validate the input before opening it |
একটি নয়, তিনটি ফলাফল চালান
সফল সংযোগ, ইচ্ছাকৃত সময়সীমা এবং টানেল পড়ে যাওয়ার পর সাধারণ পুনঃসংযোগ—এই তিনটির বিপরীতে কর্মপ্রবাহ চালান। সময়সীমার ক্ষেত্রটিই প্রকাশ করে ক্রমটি সত্যিই থামে কি না, আর পুনঃসংযোগের ক্ষেত্রটি প্রকাশ করে প্রস্তুতি যাচাই হচ্ছে কি না, নাকি আগের সাফল্য থেকে কেবল ধরে নেওয়া হচ্ছে। আগে সময়সীমার ক্ষেত্রটি চালান, কারণ ব্যর্থতা উপেক্ষা করা কর্মপ্রবাহ সাফল্যের জন্য পরীক্ষার যোগ্য নয়।
কেবল অনুমোদিত তালিকার গন্তব্যগুলো অনুমতি দিন, এবং বাইরে থেকে আসা যেকোনো লিংক খোলার আগে যাচাই করুন। যেকোনো লিঙ্ক গ্রহণ করা কাজ অপ্রত্যাশিত স্কিম চালু করার উপায়ে পরিণত হয়, আর এভাবে পৌঁছানো ব্যক্তিগত প্রশাসনিক পৃষ্ঠা ব্যর্থ শর্টকাটের চেয়েও খারাপ ফলাফল।
প্রোফাইল, প্রস্তুতির শর্ত এবং সময়সীমা কাজটির পাশে লিখে রাখুন। VPN ক্লায়েন্ট বদলানো পরবর্তী ব্যক্তির তিনটিই দরকার হবে, আর কোনোটিই শর্টকাট আইকন থেকে দেখা যায় না।