VPN ਟੂਲ ਦੀਆਂ ਸੈਟਿੰਗਾਂ: ਲਾਂਚ ਸਮੇਂ ਦਾ ਵਾਤਾਵਰਣ ਜਾਂ ਹੁੱਕ ਵਿੱਚ ਐਕਸਪੋਰਟ?
ਹੁੱਕ ਆਪਣੇ ਚਾਈਲਡ ਪ੍ਰੋਸੈਸ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਤੁਹਾਡੇ ਪਹਿਲਾਂ ਖੋਲ੍ਹੇ ਸ਼ੈੱਲ ਨੂੰ ਨਹੀਂ। ਲਾਂਚ ਸਮੇਂ ਦਾ ਵਾਤਾਵਰਣ ਨਿੱਜੀ ਐਂਡਪੁਆਇੰਟ ਨੂੰ ਸਿਰਫ਼ ਉਸੇ ਇੱਕ ਕਮਾਂਡ ਉੱਤੇ ਰੱਖਦਾ ਹੈ ਜਿਸਨੂੰ ਇਸਦੀ ਲੋੜ ਹੈ।
API ਐਂਡਪੁਆਇੰਟ ਐਕਸਪੋਰਟ ਕਰਨ ਵਾਲਾ VPN ਹੁੱਕ ਉਹਨਾਂ ਪ੍ਰੋਸੈਸਾਂ ਦਾ ਵਾਤਾਵਰਣ ਬਦਲਦਾ ਹੈ ਜੋ ਉਹ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਉਸ ਟਰਮੀਨਲ ਦਾ ਨਹੀਂ ਜੋ ਟਨਲ ਚੜ੍ਹਨ ਵੇਲੇ ਪਹਿਲਾਂ ਹੀ ਖੁੱਲ੍ਹਾ ਸੀ। ਇਹੀ ਇੱਕ ਫ਼ਰਕ «ਟੂਲ ਅਜੇ ਵੀ ਜਨਤਕ ਐਂਡਪੁਆਇੰਟ ਨੂੰ ਕਾਲ ਕਰ ਰਿਹਾ ਹੈ» ਵਾਲੀਆਂ ਬਹੁਤੀਆਂ ਰਿਪੋਰਟਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਸੈਟਿੰਗ ਰੱਖਣ ਲਈ ਦੋ ਕਾਰਗਰ ਥਾਵਾਂ ਹਨ, ਅਤੇ ਚੋਣ ਇਸ ਗੱਲ ਉੱਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ ਕਿ ਇਸਨੂੰ ਕੌਣ ਵਰਤਦਾ ਹੈ ਅਤੇ ਇਹ ਕਿੰਨੀ ਵਾਰ ਬਦਲਦੀ ਹੈ। ਹੋਰ ਸਟਾਰਟਅਪ ਸਕ੍ਰਿਪਟ ਸ਼ਾਮਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਦੋਹਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ।
ਸੈਟਿੰਗ ਦੇ ਰਹਿ ਸਕਣ ਵਾਲੀਆਂ ਦੋ ਥਾਵਾਂ
ਪਹਿਲਾ ਵਿਕਲਪ ਕਮਾਂਡ ਉੱਤੇ ਹੀ ਪ੍ਰੀਫਿਕਸ ਹੈ: ਮੁੱਲ ਸਿਰਫ਼ ਉਸੇ ਇੱਕ ਕਾਲ ਲਈ ਹੁੰਦਾ ਹੈ ਅਤੇ ਉਸਦੇ ਨਾਲ ਹੀ ਗਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ। ਦੂਜਾ ਵਿਕਲਪ ਕਨੈਕਸ਼ਨ ਹੁੱਕ ਦੇ ਅੰਦਰ ਐਕਸਪੋਰਟ ਹੈ, ਜੋ ਉਸ ਬਿੰਦੂ ਤੋਂ ਬਾਅਦ ਹੁੱਕ ਵੱਲੋਂ ਸ਼ੁਰੂ ਕੀਤੇ ਹਰ ਪ੍ਰੋਸੈਸ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ। ਇਹ ਪਹੁੰਚ ਅਤੇ ਆਯੁ ਵਿੱਚ ਵੱਖਰੇ ਹਨ, ਵਾਕ-ਰਚਨਾ ਵਿੱਚ ਨਹੀਂ, ਅਤੇ ਇਹੀ ਫ਼ਰਕ ਬਹੁਤੀਆਂ ਅਸਫਲਤਾਵਾਂ ਤੈਅ ਕਰਦਾ ਹੈ।
| Property | Prefix on the command | Export from the hook |
|---|---|---|
| Who receives it | That invocation only | Children the hook starts |
| Lifetime | Until the process exits | Until the hook's own session ends |
| Leakage | Scoped to one command | Applies to later commands in that session |
| Repeat cost | Every invocation | Once per connection |
| Works for an open editor | No, unless the editor is started with it | No |
ਸਾਰਣੀ ਹੁੱਕ ਨੂੰ ਸਸਤਾ ਦਿਖਾਉਂਦੀ ਹੈ ਅਤੇ ਅਸਲ ਬਿੱਲ ਲੁਕਾਉਂਦੀ ਹੈ: ਇਹ ਉਹਨਾਂ ਕਮਾਂਡਾਂ ਲਈ ਵੀ ਨਿੱਜੀ ਐਂਡਪੁਆਇੰਟ ਚੁਣਦੀ ਹੈ ਜਿਨ੍ਹਾਂ ਦਾ ਕੰਮ ਨਾਲ ਕੋਈ ਸੰਬੰਧ ਨਹੀਂ। ਹਰ ਕਤਾਰ ਨੂੰ ਤਰਜੀਹ ਨਹੀਂ, ਪਾਬੰਦੀ ਵਜੋਂ ਪੜ੍ਹੋ। ਜੇ ਐਂਡਪੁਆਇੰਟ ਹਰ ਕੰਮ ਨਾਲ ਬਦਲਦਾ ਹੈ, ਤਾਂ ਇੱਕ ਕੀ-ਸਟ੍ਰੋਕ ਦੀ ਕੀਮਤ ਦੇ ਕੇ ਵੀ ਪ੍ਰੀਫਿਕਸ ਸਟੀਕਤਾ ਵਿੱਚ ਜਿੱਤਦਾ ਹੈ।
ਹੁੱਕ ਪਹਿਲਾਂ ਹੀ ਖੁੱਲ੍ਹੇ ਸ਼ੈੱਲ ਤੱਕ ਕਿਉਂ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ
ਵਾਤਾਵਰਣ ਚਲ ਪ੍ਰੋਸੈਸ ਨੂੰ ਉਦੋਂ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ ਜਦੋਂ ਪ੍ਰੋਸੈਸ ਦੀ ਇਮੇਜ ਬਣਦੀ ਹੈ। ਕਨੈਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ੁਰੂ ਹੋਇਆ ਸ਼ੈੱਲ ਮਿਲੀ ਕਾਪੀ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਹੁੱਕ ਦੇ ਅੰਦਰ ਚਲਾਇਆ ਐਕਸਪੋਰਟ ਮਸ਼ੀਨ ਦੇ ਹਰ ਪ੍ਰੋਸੈਸ ਤੱਕ ਪ੍ਰਸਾਰਣ ਨਹੀਂ ਹੈ। ਸਿਰਫ਼ ਹੁੱਕ ਦੇ ਆਪਣੇ ਚਾਈਲਡ ਹੀ ਇਸਨੂੰ ਵਿਰਾਸਤ ਵਿੱਚ ਲੈਂਦੇ ਹਨ। ਸ਼ੈੱਲ ਦੇ ਆਪਣੇ ਚਾਈਲਡ ਉਹ ਲੈਂਦੇ ਹਨ ਜੋ ਸ਼ੈੱਲ ਕੋਲ ਉਹਨਾਂ ਦੇ ਸ਼ੁਰੂ ਹੋਣ ਦੇ ਪਲ ਹੁੰਦਾ ਹੈ, ਇਸੇ ਲਈ ਇੱਕੋ ਕਮਾਂਡ ਇੱਕ ਟਰਮੀਨਲ ਵਿੱਚ ਚੱਲ ਸਕਦੀ ਹੈ ਅਤੇ ਦੂਜੇ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦੀ ਹੈ।
ਇਹੀ ਗੱਲ ਗ੍ਰਾਫ਼ਿਕਲ ਐਡੀਟਰ ਲਈ ਵੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ। ਇਸਦਾ ਐਕਸਟੈਂਸ਼ਨ ਹੋਸਟ, ਵਿੱਚ ਬਣਿਆ ਟਰਮੀਨਲ ਅਤੇ ਪਿਛੋਕੜ ਵਾਲਾ ਭਾਸ਼ਾ ਸਰਵਰ ਲਾਂਚ ਵੇਲੇ ਵੱਖ ਹੋਏ ਅਤੇ ਆਪਣੀਆਂ ਕਾਪੀਆਂ ਰੱਖਦੇ ਹਨ। ਫੋਲਡਰ ਮੁੜ ਖੋਲ੍ਹਣ ਨਾਲ ਉਹ ਚਾਈਲਡ ਜ਼ਰੂਰੀ ਨਹੀਂ ਮੁੜ ਸ਼ੁਰੂ ਹੋਣ, ਇਸ ਲਈ ਤੁਹਾਡੀ ਸ਼ਾਮਲ ਕੀਤੀ ਸੈਟਿੰਗ ਫਿਰ ਵੀ ਕਦੇ ਨਹੀਂ ਪਹੁੰਚਦੀ।
ਸਭ ਤੋਂ ਸਸਤਾ ਪਰੀਖਣ ਚਲ ਉਸ ਥਾਂ ਤੋਂ ਛਾਪਣਾ ਹੈ ਜਿੱਥੇ ਅਸਫਲਤਾ ਹੁੰਦੀ ਹੈ, ਉਸ ਸ਼ੈੱਲ ਤੋਂ ਨਹੀਂ ਜੋ ਕੰਮ ਕਰਦਾ ਹੈ। ਜੇ ਅਸਫਲ ਹੋਣ ਵਾਲਾ ਪ੍ਰੋਸੈਸ ਟਨਲ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ੁਰੂ ਹੋਇਆ ਸੀ, ਤਾਂ ਐਕਸਪੋਰਟ ਕੋਲ ਕੋਈ ਮੌਕਾ ਨਹੀਂ ਸੀ।
ਪ੍ਰਤੀ-ਕਮਾਂਡ ਰੂਪ, ਲਿਖਿਆ ਹੋਇਆ
ਪ੍ਰੀਫਿਕਸ ਚੋਣ ਨੂੰ ਉਸੇ ਕਮਾਂਡ ਵਿੱਚ ਦਿੱਖਦਾ ਰੱਖਦਾ ਹੈ ਜੋ ਇਸਨੂੰ ਵਰਤਦੀ ਹੈ, ਜੋ ਕੰਮਾਂ ਵਿਚਕਾਰ ਐਂਡਪੁਆਇੰਟ ਬਦਲਣ ਵੇਲੇ ਮਦਦ ਕਰਦਾ ਹੈ:
env INTERNAL_API='https://internal-api.example.net:8443' my-work-tool
ਕਮਾਂਡ ਸਿਰਫ਼ ਉਦਾਹਰਨ ਹੈ: my-work-tool ਪਲੇਸਹੋਲਡਰ ਹੈ ਅਤੇ INTERNAL_API VPN ਮਿਆਰ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਚਲਾਉਂਦੇ ਪ੍ਰੋਗਰਾਮ ਦੀ ਦਸਤਾਵੇਜ਼ੀ ਸੈਟਿੰਗ ਅਤੇ ਆਪਣਾ ਮਨਜ਼ੂਰ ਹੋਸਟ ਭਰੋ। ਇੱਕ ਹੀ ਲਾਈਨ ਵਿੱਚ ਟੋਕਨ ਜਾਂ ਪਾਸਵਰਡ ਨਾ ਰੱਖੋ, ਕਿਉਂਕਿ ਉਹ ਸ਼ੈੱਲ ਦੇ ਇਤਿਹਾਸ ਵਿੱਚ ਜਾਂਦਾ ਹੈ।
ਜਦੋਂ ਕਈ ਕਮਾਂਡਾਂ ਇੱਕੋ ਕੰਮ ਦੀਆਂ ਹੋਣ, ਤਾਂ ਛੋਟੀ ਸਮੀਖਿਆ ਕੀਤੀ ਰੈਪਰ ਸਕ੍ਰਿਪਟ ਚਲ ਸੈੱਟ ਕਰਦੀ ਹੈ ਅਤੇ ਫਿਰ ਉਹਨਾਂ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦੀ ਹੈ। ਇਸ ਨਾਲ ਇੱਕੋ ਪਰਿਭਾਸ਼ਾ ਰਹਿੰਦੀ ਹੈ, ਮੁੱਲ ਟਰਮੀਨਲ ਦੀ ਹਰ ਭਾਵੀ ਕਮਾਂਡ ਲਈ ਗਲੋਬਲ ਨਹੀਂ ਬਣਦਾ।
ਦੁਬਾਰਾ ਲੋਡ ਕਰੋ, ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ ਜਾਂ ਛੱਡ ਦਿਓ
ਪਹਿਲਾਂ ਹੀ ਚੱਲ ਰਹੇ ਟੂਲ ਲਈ, ਜੇ ਹੋਵੇ ਤਾਂ ਇਸਦਾ ਆਪਣਾ ਮੁੜ-ਲੋਡ ਜਾਂ ਵਰਕਸਪੇਸ ਪ੍ਰੋਫਾਈਲ ਤਰਜੀਹ ਦਿਓ। ਨਹੀਂ ਤਾਂ ਕੰਮ ਸੰਭਾਲੋ ਅਤੇ ਸੈਟਿੰਗ ਪੜ੍ਹਨ ਵਾਲਾ ਹਿੱਸਾ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰੋ, ਜੋ ਅਕਸਰ ਭਾਸ਼ਾ ਸਰਵਰ ਹੁੰਦਾ ਹੈ, ਐਡੀਟਰ ਦੀ ਵਿੰਡੋ ਨਹੀਂ। ਵਿੰਡੋ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਕਰਕੇ ਇਹ ਮੰਨਣਾ ਕਿ ਚਾਈਲਡ ਪ੍ਰੋਸੈਸ ਇਸਦੇ ਮਗਰ ਆ ਗਏ, ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ ਮੁੜ-ਲੋਡ ਕੰਮ ਨਾ ਕਰਦਾ ਦਿਖਦਾ ਹੈ।
ਡਿਸਕਨੈਕਸ਼ਨ ਇੱਕ ਵੱਖਰਾ ਫ਼ੈਸਲਾ ਹੈ। ਰੋਕਣਾ, ਬੰਦ ਕਰਨਾ ਜਾਂ ਮੁੜ ਜੁੜਨਾ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ ਹੈ, ਅਤੇ ਐਂਡਪੁਆਇੰਟ ਚਲ ਇਸਨੂੰ ਨਿਯੰਤਰਿਤ ਨਹੀਂ ਕਰਦਾ। ਚਲ ਨੂੰ ਪਤਾ ਚੁਣਨ ਵਾਲੀ ਸੰਰਚਨਾ ਮੰਨੋ, ਬਾਅਦ ਵਿੱਚ ਕਿਹੜਾ ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ ਇਸ ਬਾਰੇ ਨਿਯਮ ਨਹੀਂ, ਅਤੇ ਦੋਵੇਂ ਗੱਲਾਂ ਵੱਖਰੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ।