লোকাল এরিয়া নেটওয়ার্ক (LAN) এর ডিভাইসগুলিতে INTERNET অনুমতি থাকা যেকোনো অ্যাপ ব্যবহার করতে পারে। এটি অ্যাপগুলিকে স্থানীয় ডিভাইসের সাথে সংযোগ করা সহজ করে তোলে, তবে ব্যবহারকারীর আঙুলের ছাপ তৈরি করা এবং অবস্থানের জন্য প্রক্সি হওয়ার মতো গোপনীয়তার প্রভাবও বহন করে।
লোকাল নেটওয়ার্ক প্রোটেকশনস প্রকল্পের লক্ষ্য হল একটি নতুন রানটাইম অনুমতির মাধ্যমে লোকাল নেটওয়ার্কে অ্যাক্সেস প্রদানের মাধ্যমে ব্যবহারকারীর গোপনীয়তা রক্ষা করা।
প্রভাব
অ্যান্ড্রয়েড ১৬-এর সময়, এই অনুমতিটি একটি অপ্ট-ইন বৈশিষ্ট্য যার অর্থ শুধুমাত্র অপ্ট-ইন করা অ্যাপগুলিই প্রভাবিত হবে। অপ্ট-ইনের লক্ষ্য হল অ্যাপ ডেভেলপারদের বোঝানো যে তাদের অ্যাপের কোন অংশগুলি অন্তর্নিহিত স্থানীয় নেটওয়ার্ক অ্যাক্সেসের উপর নির্ভর করে যাতে তারা ভবিষ্যতের অ্যান্ড্রয়েড রিলিজে তাদের রক্ষা করার অনুমতির জন্য প্রস্তুত হতে পারে।
নিম্নলিখিত ব্যবহার করে ব্যবহারকারীর স্থানীয় নেটওয়ার্ক অ্যাক্সেস করলে অ্যাপগুলি প্রভাবিত হবে:
- স্থানীয় নেটওয়ার্ক ঠিকানাগুলিতে কাঁচা সকেটের সরাসরি বা লাইব্রেরি ব্যবহার, উদাহরণস্বরূপ,
Multicast DNS (mDNS)বাSimple Service Discovery Protocol (SSDP)। - স্থানীয় নেটওয়ার্ক অ্যাক্সেস করে এমন ফ্রেমওয়ার্ক-স্তরের ক্লাসের ব্যবহার, উদাহরণস্বরূপ,
NsdManager।
প্রভাবের বিবরণ
স্থানীয় নেটওয়ার্ক ঠিকানায় এবং সেখান থেকে ট্র্যাফিকের জন্য স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুমতি প্রয়োজন। নিম্নলিখিত টেবিলে কিছু সাধারণ ঘটনা তালিকাভুক্ত করা হয়েছে:
| অ্যাপ লো লেভেল নেটওয়ার্ক অপারেশন | স্থানীয় নেটওয়ার্কের অনুমতি প্রয়োজন |
|---|---|
| একটি বহির্গামী TCP সংযোগ তৈরি করা হচ্ছে | হ্যাঁ |
| একটি আগত TCP সংযোগ গ্রহণ করা হচ্ছে | হ্যাঁ |
| একটি UDP ইউনিকাস্ট, মাল্টিকাস্ট, সম্প্রচার পাঠানো হচ্ছে | হ্যাঁ |
| একটি আগত UDP ইউনিকাস্ট, মাল্টিকাস্ট, সম্প্রচার গ্রহণ করা হচ্ছে | হ্যাঁ |
এই বিধিনিষেধগুলি নেটওয়ার্কিং স্ট্যাকের গভীরে প্রয়োগ করা হয় এবং তাই এগুলি সমস্ত নেটওয়ার্কিং API-এর ক্ষেত্রে প্রযোজ্য। এর মধ্যে রয়েছে প্ল্যাটফর্মে তৈরি সকেট বা পরিচালিত কোড, Cronet এবং OkHttp-এর মতো নেটওয়ার্কিং লাইব্রেরি এবং এর উপরে প্রয়োগ করা যেকোনো API। স্থানীয় নেটওয়ার্কে .local সাফিক্স আছে এমন পরিষেবাগুলি সমাধান করার চেষ্টা করার জন্য স্থানীয় নেটওয়ার্কের অনুমতি প্রয়োজন।
পূর্ববর্তী নিয়মের ব্যতিক্রম:
- যদি কোনও ডিভাইসের DNS সার্ভার স্থানীয় নেটওয়ার্কে থাকে, তাহলে (পোর্ট ৫৩-এ) সেখান থেকে/থেকে ট্র্যাফিকের জন্য স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুমতির প্রয়োজন হয় না।
- যেসব অ্যাপ্লিকেশন আউটপুট সুইচারকে তাদের ইন-অ্যাপ পিকার হিসেবে ব্যবহার করে, তাদের স্থানীয় নেটওয়ার্ক অনুমতির প্রয়োজন হবে না (আরও নির্দেশিকা পরবর্তী প্রকাশে আসবে)।
নির্দেশনা
স্থানীয় নেটওয়ার্ক সীমাবদ্ধতা বেছে নিতে, নিম্নলিখিতগুলি করুন:
- আপনার ডিভাইসটিকে Android 16 Beta 3 বা তার পরবর্তী সংস্করণ সহ একটি বিল্ডে ফ্ল্যাশ করুন
- পরীক্ষা করার জন্য অ্যাপটি ইনস্টল করুন
adb ব্যবহার করে Appcompat কনফিগারেশন টগল করুন।
adb shell am compat enable RESTRICT_LOCAL_NETWORK <package_name>ডিভাইসটি রিবুট করুন
এখন আপনার অ্যাপের স্থানীয় নেটওয়ার্কে অ্যাক্সেস সীমিত এবং স্থানীয় নেটওয়ার্ক অ্যাক্সেস করার যেকোনো প্রচেষ্টার ফলে সকেট ত্রুটি দেখা দেবে। যদি আপনি এমন API ব্যবহার করেন যা আপনার অ্যাপ প্রক্রিয়ার বাইরে স্থানীয় নেটওয়ার্ক ক্রিয়াকলাপ সম্পাদন করে - উদাহরণস্বরূপ, NsdManager - তাহলে অপ্ট-ইনের সময় সেগুলি প্রভাবিত হবে না।
অ্যাক্সেস পুনরুদ্ধার করতে, আপনাকে অবশ্যই NEARBY_WIFI_DEVICES কে আপনার অ্যাপের অনুমতি দিতে হবে।
- নিশ্চিত করুন যে অ্যাপটি তার
manifestNEARBY_WIFI_DEVICESঅনুমতি ঘোষণা করেছে। - সেটিংস > অ্যাপস > [অ্যাপ্লিকেশনের নাম] > অনুমতি > কাছাকাছি ডিভাইস > অনুমতি দিন -এ যান
এখন আপনার অ্যাপের স্থানীয় নেটওয়ার্কে অ্যাক্সেস পুনরুদ্ধার করা উচিত এবং আপনার সমস্ত পরিস্থিতি অ্যাপটি নির্বাচন করার আগে যেমন কাজ করেছিল তেমনই কাজ করবে। অ্যাপ নেটওয়ার্ক ট্র্যাফিক কীভাবে প্রভাবিত হবে তা এখানে দেওয়া হল।
| অনুমতি | আউটবাউন্ড ল্যান অনুরোধ | আউটবাউন্ড/ইনবাউন্ড ইন্টারনেট অনুরোধ | ইনবাউন্ড ল্যান অনুরোধ |
|---|---|---|---|
| মঞ্জুর | কাজ | কাজ | কাজ |
| অনুমোদিত নয় | ব্যর্থতা | কাজ | ব্যর্থতা |
Appcompat কনফিগারেশন টগল-অফ করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন
adb shell am compat disable RESTRICT_LOCAL_NETWORK <package_name>
ত্রুটি
যদি অনুমতি না থাকার কারণে স্থানীয় নেটওয়ার্ক অ্যাক্সেসের অনুরোধ ব্যর্থ হয়:
- TCP সংযোগের ফলে সাধারণত একটি টাইমআউট ত্রুটি দেখা দেয়।
- UDP ত্রুটি এবং সাধারণ অনুমতি অস্বীকারের ফলে সাধারণত একটি EPERM ত্রুটি কোড তৈরি হবে।
বাগ
এর জন্য বাগ এবং প্রতিক্রিয়া জমা দিন :
- ল্যান অ্যাক্সেসের ক্ষেত্রে অসঙ্গতি (আপনি মনে করেন না যে একটি নির্দিষ্ট অ্যাক্সেসকে "স্থানীয় নেটওয়ার্ক" অ্যাক্সেস হিসাবে বিবেচনা করা উচিত)
- যেসব বাগের কারণে LAN অ্যাক্সেস ব্লক করা উচিত কিন্তু ব্লক করা হয়নি
- যেসব বাগের কারণে LAN অ্যাক্সেস ব্লক করা উচিত নয় কিন্তু
এই পরিবর্তনের ফলে নিম্নলিখিত বিষয়গুলি প্রভাবিত না হওয়া উচিত:
- ইন্টারনেট অ্যাক্সেস
- মোবাইল নেটওয়ার্ক