د Android اپلیکیشن د VPN له لارې کار کول ردوي: کومه طبقه پرېکړه کوي
یو اپلیکیشن کولای شی VPN د محلي ټرانسپورټ ازموینې، د سرور د آدرس قاعدې یا خپلې پالیسۍ له مخې رد کړي. د وتلو د بدلولو دمخه دا درې توپیر کړئ.
کله چې یو Android اپلیکیشن هغه شیبه چې ټونل پورته کیړې کار بند کړي، درې بېلابېلې شیان مسؤل کیدای شی، او هغوی ورته ښکارېدونکې ناکامې رامنړته کوي. اپلیکیشن کیدای شی د ټیلیفون خپله شبکه ولولي او په محلي ژوند رد کړي. سرور کیدای شی هغه آدرس طبقه بندي کړي چې تاسو ترې راښئ او هغه رد کړي. یا دا رد کیدای شی د VPN سره هیښ تړاو ونلري. لاندې ترتیب د هر څه د بدلولو دمخه شواهد راټولوي، ښکه چې د وتلو بدلول تر ټولو ګران ګام دی او لړ احتمال لري چې مرسته وکړي که ازموینه محلي وی.
ګام 1: ومومئ چې اپلیکیشن کله ردوي
وخت لومړنی توپیرونکی دی. د لاګ بفر پاک کړئ، ناکامي بیا جوړه کړئ او وګورئ چې اپلیکیشن د شکایت کولو دمخه څه وکړل:
adb logcat -c
# reproduce the failure in the app
adb logcat -d | grep -iE 'vpn|network|connect|http' | tail -60
که اپلیکیشن د وتلو هر ښول غوښتنې دمخه رد کړي، تاسو د یوې محلي پرېکړې سره مخ یاست. که وصل شی، یو څه واستوي او بیا تېروتنه وښیی، رد له بل لوري راغلی. که اپلیکیشن د ټونل د بندیدو سره هم هماغسې ناکام شی، VPN هېښکله متغیر نه و.
دغه وخت د ثبوت په توګه وګورئ، نه د قطعي دلیل په توګه. اپلیکیشن کولای شی یو کیش شوی ښواب بیا تولید کړی، او شاته غوښتنې ممکن ستاسو د کتلو دمخه بریالۍ یا ناکامه شوې وی. د وروستۍ بریالۍ غوښتنې او د تېروتنې وختونه ولیکئ، نه یوازې هغه شیبه چې پیغام ښکاره شو.
ګام 2: د ټیلیفون خپله شبکه ولولئ
Android د VPN حالت د شبکې وړتیا په توګه ښیی، نو اپلیکیشن ته د سوداګریزو چمتو کونکو لیست ته اړتیا نشته چې پوه شی ټونل فعال دی. هغه د اړیکې خدماتونو ته وایي چې اوسنی شبکه کوم دی، او ښواب د VPN ټرانسپورټ بټ لري:
val cm = context.getSystemService(ConnectivityManager::class.java)
val caps = cm.getNetworkCapabilities(cm.activeNetwork)
val onVpn = caps?.hasTransport(NetworkCapabilities.TRANSPORT_VPN) == true
دا ازموینه محلي او ارزانه ده، او د “دا اپلیکیشن د VPN له لارې کار نه کوي” راپورونو ټوله ټولګه پرته له کومې لرې طبقه بندي تشریح کوي. هغه څه چې اپلیکیشن یې لیدلی شی لا هم د هغه خپل شبکې شرطونو پورې تړلي دي، نو مه فکر کوئ چې هر اپلیکیشن په وسیله کې هر پروفایل ګوري.
له یوې کاري سټېشن څخه تاسو په ازموینې وسیله کې هماغه حالت د adb shell dumpsys connectivity په مرسته او د VPN شبکې ننوتلو په لټولو سره وینئ. د ټونل پورته والي سره یو چلند او د هغه د ښکته والي سره بل پرتله کړئ او دواړه پایلې وساتئ.
ګام 3: ولولئ چې سرور په رښتیا څه ویني
بل کتونکی خدمت دی. هغه هغه سرچینه آدرس ویني چې رسېږي، او کولای شی پر آدرس، پر هغه کوربه شبکه چې شاته ده، پر سیمه، پر آپریټر یا پر هغو سیګنالونو عمل وکړي چې له حساب او وسیلې سره تړلي دي. له دې څخه هېښ یو ښانګرې هویت نه دی، او شریک آدرسونه اړخیز بندونه نورمالوي: یو محدود آدرس کولای شی بې تړاو کاروونکي د هماغه ژباړې شاته له کاره وباسي.
آدرس د هماغه لارې له مخې ترلاسه کړئ چې اپلیکیشن یې کاروي، نه د لیپ ټاپ په براوزر کې. په ټیلیفون کې، د آدرس اکو خدمت ته یوه ساده غوښتنه ښیی چې لرې لورۍ څه ترلاسه کوي، او د هغې د ګړکندې شبکې له غوښتنې سره پرتله کول تاسو ته وایي چې آدرس بدل شو که نه.
که اپلیکیشن د ګړکندې شبکې له لارې کار وکړي او د هماغه حساب سره د ټونل له لارې ناکام شی، رد په لرې لوري یا د اپلیکیشن په خپله پالیسۍ کې دی. که په دواړو کې ناکام شی، VPN توپیر نه دی او تاسو باید د پای ټکو ازموینه بنده کړئ.
ګام 4: شواهد له درېیو حکمونو څخه یوې سره سم کړئ
درۓ ترکیبونه نړدې هر راپور پوښي. د وتلو د هښې پرته رد چې ټونل فعال وی محلي ټرانسپورټ ازموینې ته اشاره کوي. غوښتنه چې وړی او د تېروتنې سره بیرته راشی، په یو ښانګري هوسټ باندې د وخت ختمېدل یا د سیمې پیغام لرې لوري ته اشاره کوي. ناکامي چې په ګړکندې شبکه کې پرته له ټونل بیا تکرار شی حساب، د اپلیکیشن نسخه یا د خدمت خپلې پالیسۍ ته اشاره کوي، او هېښ د VPN بدلون به یې ونه خوږوي.
حکم د هغو شواهدو سره ولیکئ چې هغه یې تولید کړ. د دې ګام ارزښت دا دی چې هغه هغه ښنښدل بندوي چې پکې ښوک ښلور ښله د وتلو نوښونه بدلوي ترښو هغه ازموینه سمه کړي چې په ټیلیفون پخپله روانه ده.
دا هم ادعاوې صادقې ساتي. خپل سرور کوربه کول پای ټکی او د هغه انټرنیټ وتل بدلوي؛ دا Android نه هېروي چې VPN شبکه فعاله ده او د هغه خدمت منښت تضمین نه کوي چې آدرسونه طبقه بندي کوي. یو محلي فلټر کولای شی په هغه VPN شبکه چې تاسو یې مالک یاست هماغسې اسانه فعال شی لکه په سوداګریزه.
ګام 5: ملاتړ شوی لاره اخلین کړئ او ازموینه یې کړئ
د محصول مستند شوې پالیسۍ او د هغه د ملاتړ مالک سره پیل وکړئ. د کلاینټ نسخه، دقیق پیغام او یوه تنګه د ناکامۍ موده واستوئ؛ یوازې د دې لپاره چې تېروتنه شته، بشپړ ټرافیک ثبتونه یا اعتبارونه مه لېږئ.
که خدمت مستقیم لاسرسۍ اجازه ورکړي او د وسیلې پالیسۍ اجازه ورکړي، د یو اپلیکیشن لپاره استثنا کول ملاتړ شوی طریقه ده، او هغه په قصد سره هغه اپلیکیشن له ټونل څخه باسی پرښای د دې چې ټونل پټ کړي. بیا د اپلیکیشن ټرافیک خپله لاره اخلي، چې دا یوه پالیسۍ پرېکړه ده چې یو ښوک باید یې مسؤلیت واخلي. د VPN پرته د بندیز په ترتیباتو کې، یو استثنا شوی اپلیکیشن کیدای شی یوازې اړیکه له لاسه ورکړي، نو دا ترکیب وازمویئ دمخه د دې چې ژمنه وکړئ کار کوي.
د هر بدلون وروسته، د لومړی ګام د وخت ازموینه تکرار کړئ، تایید کړئ چې اپلیکیشن کار کوي، او تایید کړئ چې نور ټول اپلیکیشنونه لا هم ټونل کاروي. بیا پخوانی ترتیب بېرته راوګرږوئ او وګورئ چې ناکامي بېرته راښي، ښکه هغه سمون چې تاسو یې بیا نه شئ جوړولی یوه تصادف ده چې بیا به ورسره مخ شئ.