જ્યારે 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 વિના બ્લોક કરતી ગોઠવણીમાં બાકાત કરેલી એપ સરળતાથી કનેક્ટિવિટી ગુમાવી શકે છે, તેથી કામ કરે છે એવું વચન આપતા પહેલાં તે સંયોજન ચકાસો.

કોઈપણ ફેરફાર પછી પગલા-એકની સમય ચકાસણી ફરીથી કરો, એપ ચાલે છે તેની ખાતરી કરો, અને બીજી દરેક એપ હજી પણ ટનલ વાપરે છે તેની ખાતરી કરો. પછી પહેલાની ગોઠવણી પુનઃસ્થાપિત કરો અને નિષ્ફળતા પાછી આવે છે કે નહીં તે તપાસો, કારણ કે તમે ફરી ઉત્પન્ન કરી શકતા ન હોવ તેવો સુધારો એ સંજોગ છે જે તમને ફરી મળશે.

સંબંધિત લેખો