ਮਹੀਨਿਆਂ ਤੱਕ ਭਰੋਸੇ ਨਾਲ ਜੁੜਨ ਵਾਲਾ ਆਟੋਮੇਸ਼ਨ ਕਲਾਇੰਟ ਅੱਪਡੇਟ ਤੋਂ ਬਾਅਦ ਕੰਮ ਕਰਨਾ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ, ਜਦਕਿ ਉਹੀ ਪ੍ਰੋਫਾਈਲ ਹੱਥ ਨਾਲ ਅਜੇ ਵੀ ਜੁੜਦਾ ਹੈ। ਇਹ ਪੈਟਰਨ 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 ਪੁੱਛਗਿੱਛ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ ਕਿ ਤੁਸੀਂ ਜਿਸ ਪੈਕੇਜ ਅਤੇ ਗਤੀਵਿਧੀ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾ ਰਹੇ ਹੋ ਉਹ ਉਸ ਡਿਵਾਈਸ ’ਤੇ ਮੌਜੂਦ ਹਨ, ਜੋ ਕਲਾਸ ਖੇਤਰ ਵਿੱਚ ਟਾਈਪਿੰਗ ਦੀ ਗਲਤੀ ਰੱਦ ਕਰਦਾ ਹੈ। ਗਤੀਵਿਧੀ ਡੰਪ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਤੁਹਾਡਾ ਕੰਮ ਚੱਲਣ ਤੋਂ ਬਾਅਦ ਅਸਲ ਵਿੱਚ ਸਾਹਮਣੇ ਕੀ ਹੈ, ਅਤੇ ਇਹ ਦੇਖਣ ਦਾ ਸਭ ਤੋਂ ਸਸਤਾ ਤਰੀਕਾ ਹੈ ਕਿ ਐਪ ਨੇ ਜੁੜਨ ਦੀ ਥਾਂ ਕੋਈ ਸੰਕੇਤ ਖੋਲ੍ਹਿਆ ਜਾਂ ਨਹੀਂ। ਫੇਲ ਹੋਏ ਕੰਮ ਤੋਂ ਬਾਅਦ ਦੋਵੇਂ ਚਲਾਓ, ਇਸ ਦੀ ਥਾਂ ਕਿ ਅੰਦਾਜ਼ਾ ਲਗਾਓ ਕਿਹੜਾ ਖੇਤਰ ਗਲਤ ਹੈ। ਕਲਾਸ ਦੇ ਨਾਮ ਵਿੱਚ ਅੰਤਰ ਤੁਰੰਤ ਗਲਤੀ ਦਿੰਦਾ ਹੈ, ਜਦਕਿ ਗੁੰਮ ਪ੍ਰੋਫਾਈਲ ਕੋਈ ਦਿਸਣ ਵਾਲੀ ਗਲਤੀ ਨਹੀਂ ਦਿੰਦਾ।

ਕੰਮ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਡਿਸਕਨੈਕਟ ਦੀ ਮਾਲਕੀ ਤੈਅ ਕਰੋ। ਜੋ ਸ਼ਾਰਟਕਟ ਅਜਿਹੀ ਸੁਰੰਗ ਡੇਗਦਾ ਹੈ ਜਿਸ ’ਤੇ ਕੋਈ ਦੂਜਾ ਕੰਮ ਨਿਰਭਰ ਹੈ, ਉਹ ਅਜਿਹੀ ਸਹਾਇਤਾ ਟਿਕਟ ਬਣਾਏਗਾ ਜੋ ਆਪਣੇ ਕਾਰਨ ਨਾਲ ਜ਼ਰਾ ਵੀ ਨਹੀਂ ਮਿਲਦੀ। ਇੱਕੋ ਕਲਾਇੰਟ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਵਾਲੇ ਦੋ ਆਟੋਮੇਸ਼ਨ ਰੱਖਣਾ ਅਜਿਹੀ ਦੌੜ ਬਣਾਉਂਦਾ ਹੈ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਲੌਗਾਂ ਤੋਂ ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦੇ, ਇਸ ਲਈ ਨਵਾਂ ਚੱਲਣ ਲੱਗੇ ਤਾਂ ਪੁਰਾਣੀ ਕਾਰਵਾਈ ਹਟਾ ਦਿਓ।

ਸੰਬੰਧਿਤ ਲੇਖ