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

চুক্তিটি একটি অ্যাপ ও একটি সংস্করণ-পরিসরের

OpenVPN Connect ও OpenVPN for Android আলাদা অ্যাপ, এবং একটি প্যাকেজের নাম নেওয়া intent অন্যটিতে কিছুই করে না। টাস্কটি স্পর্শ করার আগে নিশ্চিত করুন কোন ক্লায়েন্ট ইনস্টল আছে এবং কোন সংস্করণ সেই আচরণ তৈরি করেছে যার সঙ্গে আপনি তুলনা করছেন। Android 3.3.2 বা তার নতুন Connect-এর জন্য Tasker-এর নথিভুক্ত ইন্টিগ্রেশন প্রোফাইল ID প্রত্যাশা করে। পুরোনো নির্দেশনা যা দেখানো নামের আগে AS বা PC বসায় সেগুলো আগের চুক্তি বর্ণনা করে, আর সেগুলো বর্তমান টাস্কে কপি করাই সাধারণ কারণ যে কিছুই ঘটে না।

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

শনাক্তকারী কোথা থেকে আসে

Connect-এর ভিতরে কাঙ্ক্ষিত প্রোফাইল খুলুন এবং তার প্রোফাইল ID প্রোফাইলের নিজের বিবরণ থেকে কপি করুন। তালিকা থেকে চেনা নামের বদলে সেই মানটি ব্যবহার করুন, কারণ নাম কেবল লেবেল আর শনাক্তকারী হলো যা দিয়ে অ্যাপ মিলিয়ে দেখে। Tasker-এ Send Intent কাজের সংযোগ ক্ষেত্রগুলো নিচের ব্লকের মতো, কেবল শনাক্তকারীটি বদলানো হয়। ব্যক্তিগত বা কাজের প্রোফাইলের অ্যাপ-প্রতিলিপিও সামঞ্জস্যপূর্ণ রাখুন।

Action: net.openvpn.openvpn.CONNECT
Extra: net.openvpn.openvpn.AUTOSTART_PROFILE_ID:'PROFILE_ID'
Extra: net.openvpn.openvpn.AUTOCONNECT:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

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

অসম্পর্কিত ক্ষেত্রগুলো নথি অনুযায়ী খালি রাখুন। বিভাগ, MIME ধরন এবং যে তথ্য ক্ষেত্রগুলো গাইড চায় না সেগুলো Android-এর intent সমাধানের পদ্ধতি বদলাতে পারে, আর ভিন্নভাবে সমাধান হওয়া intent অ্যাপটিকে আপনার প্রোফাইল না চালিয়েই খুলতে পারে।

কাজটি কী করে এবং আপনাকে কী ছেড়ে দেয়

সংযোগ intent পাঠানো অ্যাপকে একটি প্রোফাইল চালু করতে বলে। এটি সেই অনুমোদন এড়ায় না যা ওই প্রোফাইল চায়। Connect এখনও একটি অনুরোধ দেখাতে পারে, তাই নথিভুক্ত স্বায়ত্তশাসিত ক্ষেত্রে ধরে নেওয়া হয় কোনো অতিরিক্ত অনুমোদন ও সংরক্ষিত সংযোগ শংসাপত্র নেই। লোভ হলো এই সীমা সরিয়ে দেওয়া, পাসওয়ার্ড বা ব্যক্তিগত কী-এর গোপনীয়তা একটি শেয়ার করা Tasker রপ্তানিতে ঢুকিয়ে।

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

বিচ্ছিন্ন করার দিকের নিজস্ব নথিভুক্ত কাজ আছে, এবং এটি ক্লায়েন্টের উপর কোনো কৌশল নয়:

Action: net.openvpn.openvpn.DISCONNECT
Extra: net.openvpn.openvpn.STOP:true
Package: net.openvpn.openvpn
Class: net.openvpn.unified.MainActivity
Target: Activity

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

পরের ধাপ চলার আগে অবস্থা যাচাই করুন

intent চালু হওয়া প্রমাণ করে অনুরোধ পৌঁছেছে, কোনো সুড়ঙ্গ আছে তা নয়। যদি টাস্কটি পরে কোনো অভ্যন্তরীণ অ্যাপ খোলে,সেই ধাপটির সীমিত সময়সীমাসহ প্রস্তুতি-শর্ত দরকার। পাঠানোর পরপরই করা কাজ শেষে কোনো অনুরোধে গিয়ে ধাক্কা খাবে।

$ adb shell cmd package resolve-activity --brief net.openvpn.openvpn
net.openvpn.openvpn/net.openvpn.unified.MainActivity
$ adb shell dumpsys activity activities | grep -i openvpn

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

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

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