OpenVPN Connect અને Tasker: પ્રોફાઇલ ID, નામ નહીં
Android 3.3.2 કે તેનાથી નવા પર OpenVPN Connect પ્રોફાઇલ ID લે છે, દેખાતું નામ નહીં. Tasker નું intent ફરી બનાવો અને આગળના પગલાને ખરેખરી કનેક્શન સ્થિતિ પર આધારિત રાખો.
મહિનાઓ સુધી ભરોસાપાત્ર રીતે જોડાતું ઓટોમેશન ક્લાયન્ટ અપડેટ પછી કામ કરવાનું બંધ કરે છે, જ્યારે એ જ પ્રોફાઇલ હાથે હજી પણ જોડાય છે. આ પેટર્ન 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 પ્રશ્ન પુષ્ટિ કરે છે કે તમે જે પેકેજ અને પ્રવૃત્તિને લક્ષ્ય બનાવી રહ્યા છો તે એ ઉપકરણ પર છે, જે ક્લાસ ક્ષેત્રમાં ટાઇપિંગની ભૂલને રદ કરે છે. પ્રવૃત્તિ ડંપ બતાવે છે કે તમારું કાર્ય ચાલ્યા પછી ખરેખર સામે શું છે, અને એપે જોડાવાને બદલે કોઈ સંકેત ખોલ્યો કે નહીં તે જોવાનો સૌથી સસ્તો રસ્તો છે. નિષ્ફળ કાર્ય પછી બંને ચલાવો, એના બદલે કે અનુમાન કરો કે કયું ક્ષેત્ર ખોટું છે. ક્લાસના નામમાં તફાવત તરત જ ભૂલ આપે છે, જ્યારે ગુમ થયેલી પ્રોફાઇલ કોઈ દેખાતી ભૂલ આપતી નથી.
કાર્ય મોકલતાં પહેલાં ડિસ્કનેક્ટની માલિકી નક્કી કરો. જે શોર્ટકટ એવી ટનલ પાડી નાખે છે જેના પર બીજું કાર્ય આધારિત છે, તે એવી સહાય ટિકિટ બનાવશે જે તેના કારણ સાથે જરાય મળતી નથી. એક જ ક્લાયન્ટને નિયંત્રિત કરતા બે ઓટોમેશન રાખવાથી એવી દોડ બને છે જે તમે લોગમાંથી ઠીક કરી શકતા નથી, તેથી નવું ચાલવા લાગે ત્યારે જૂની ક્રિયા કાઢી નાખો.