Asio TCP ਸਾਕਟ ਨੂੰ SOCKS5 ਸੁਣਨ ਵਾਲੇ ਨਾਲ ਜੋੜਨਾ ਇੱਕ ਹੀ ਕਦਮ ਪੂਰਾ ਕਰਦਾ ਹੈ: ਉਸ ਸੁਣਨ ਵਾਲੇ ਨਾਲ TCP ਸੰਪਰਕ। ਇਹ ਪ੍ਰੌਕਸੀ ਨੂੰ ਅੰਤਿਮ ਸਰਵਰ ਨਾਲ ਜੁੜਨ ਲਈ ਨਹੀਂ ਕਹਿੰਦਾ। ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਜਨਤਕ ਟਾਰਗਿਟ ਟੈਸਟ ਲਈ SOCKS5 ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਉਸ ਪਹਿਲੇ TCP ਅੰਤ ਬਿੰਦੂ ਲਈ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ; ਜੋੜਨ ਵਾਲੇ ਨੂੰ ਹੇਠਾਂ ਦਿੱਤਾ ਅਦਲ-ਬਦਲ ਪੂਰਾ ਕਰਨਾ ਹੀ ਪਵੇਗਾ।

ਫਿਰ SOCKS5 ਜੋੜਨ ਵਾਲੇ ਨੂੰ ਪ੍ਰੋਟੋਕੋਲ ਅਦਲ-ਬਦਲ ਚਲਾਉਣਾ ਪਵੇਗਾ:

  1. ਕਲਾਇੰਟ ਵੱਲੋਂ ਸਮਰਥਿਤ ਪ੍ਰਮਾਣਿਕਤਾ ਢੰਗਾਂ ਦੀ ਸੂਚੀ ਵਾਲਾ ਸੰਸਕਰਣ 5 ਦਾ ਸਵਾਗਤ ਭੇਜੋ।
  2. ਚੁਣਿਆ ਢੰਗ ਪੜ੍ਹੋ ਅਤੇ ਲੋੜ ਪੈਣ 'ਤੇ ਇਸਦਾ ਪ੍ਰਮਾਣਿਕਤਾ ਅਦਲ-ਬਦਲ ਕਰੋ।
  3. ਟਿਕਾਣੇ ਦੀ ਪਤਾ ਕਿਸਮ, ਪਤਾ ਅਤੇ ਨੈੱਟਵਰਕ ਬਾਈਟ ਕ੍ਰਮ ਵਾਲਾ ਪੋਰਟ ਲੈ ਕੇ CONNECT ਭੇਜੋ।
  4. ਜਵਾਬ ਪੜ੍ਹੋ, ਇਸਦਾ ਸੰਸਕਰਣ ਅਤੇ ਨਤੀਜਾ ਕੋਡ ਜਾਂਚੋ, ਅਤੇ ਪੂਰਾ ਬਦਲਦੇ ਲੰਬਾਈ ਵਾਲਾ ਬੱਝਿਆ ਪਤਾ ਤੇ ਪੋਰਟ ਵਰਤੋ।
  5. ਸਥਾਪਿਤ ਸਟ੍ਰੀਮ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਸੌਂਪੋ।

socks5::async_proxy_connect ਨਾਮਕ ਸਹਾਇਕ ਉਸ SOCKS ਲਾਗੂਕਰਨ ਦਾ ਹਿੱਸਾ ਹੈ ਜੋ ਇਹ ਸਹਾਇਕ ਦਿੰਦਾ ਹੈ। boost::asio ਦੇ ਕੋਲ ਇਸਦਾ ਨਾਮ ਲੈਣ ਨਾਲ ਇਹ Asio ਦੇ TCP ਸਾਕਟ ਇੰਟਰਫੇਸ ਦਾ ਹਿੱਸਾ ਨਹੀਂ ਬਣਦਾ।

TCP ਪੜ੍ਹਤ ਜਵਾਬ ਦਾ ਸਿਰਫ਼ ਇੱਕ ਹਿੱਸਾ ਮੋੜ ਸਕਦੀ ਹੈ। ਲੋੜੀਂਦੀ ਬਾਈਟ ਗਿਣਤੀ ਲਈ ਪੜ੍ਹਤਾਂ ਜੋੜੋ, ਫਿਰ ਬਾਕੀ ਲੰਬਾਈ ਪਤਾ-ਕਿਸਮ ਖੇਤਰ ਤੋਂ ਚੁਣੋ। ਹਰ ਸਰਵਰ ਜਵਾਬ ਦਾ ਸਥਿਰ IPv4 ਖਾਕਾ ਹੁੰਦਾ ਹੈ ਮੰਨ ਕੇ ਨਾ ਚੱਲੋ।

HTTPS ਲਈ SOCKS CONNECT ਸਫਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਟਿਕਾਣੇ ਦਾ TLS ਹੈਂਡਸ਼ੇਕ ਕਰੋ, ਟਿਕਾਣੇ ਦਾ SNI ਅਤੇ ਹੋਸਟਨਾਮ ਪ੍ਰਮਾਣਿਕਤਾ ਕਾਇਮ ਰੱਖਦੇ ਹੋਏ। ਸਿਰਫ਼ ਸਫਲ ਪ੍ਰੌਕਸੀ ਜਵਾਬ ਵੈੱਬਸਾਈਟ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰਦਾ।

ਪੂਰੀ ਸੈਟਅਪ ਲੜੀ ਦੌਰਾਨ ਰੱਦ ਕਰਨਾ ਅਤੇ ਸਮਾਂ-ਸੀਮਾਵਾਂ ਬਣਾਈ ਰੱਖੋ। ਜੇ TCP ਸੰਪਰਕ ਸਥਾਪਿਤ ਕਰਨ ਦਾ ਸਮਾਂ ਖਤਮ ਹੋ ਜਾਵੇ ਤਾਂ ਬਾਅਦ ਦੇ ਸਵਾਗਤ, ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ CONNECT ਅਦਲ-ਬਦਲ ਬਿਨਾਂ ਸੀਮਾ ਦੇ ਰਹਿ ਜਾਂਦੇ ਹਨ।

ਸੰਬੰਧਿਤ ਲੇਖ