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