ਆਪਣੇ ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੋਟੋਕੋਲ ਤੋਂ ਪਹਿਲਾਂ Netty ਦੀ SOCKS ਗੱਲਬਾਤ ਰੱਖੋ
ਐਪਲੀਕੇਸ਼ਨ ਟ੍ਰੈਫਿਕ ਤੋਂ ਪਹਿਲਾਂ Netty SOCKS ਪ੍ਰੌਕਸੀ ਹੈਂਡਲਰ ਰੱਖੋ ਅਤੇ ਪ੍ਰੌਕਸੀ-ਪਾਸੇ DNS ਦਾ ਇਰਾਦਾ ਹੋਣ ਵੇਲੇ ਅਣਸੁਲਝਿਆ ਟਿਕਾਣਾ ਸੰਭਾਲੋ।
ਮੌਜੂਦਾ Netty bootstrap/pipeline ਲਈ ਜਿੱਥੇ SOCKS ਸਰਵਰ ਨੂੰ ਟਿਕਾਣਾ ਸੁਲਝਾਉਣਾ ਚਾਹੀਦਾ ਹੈ:
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);ਪ੍ਰੌਕਸੀ ਐਂਡਪੌਇੰਟ ਸਥਾਨਕ ਪੋਰਟ 1080 ਹੈ; ਅਣਸੁਲਝਿਆ ਕਨੈਕਸ਼ਨ ਟਾਰਗਿਟ example.com:443 ਹੈ। ਦੋਵਾਂ ਭੂਮਿਕਾਵਾਂ ਲਈ ਪ੍ਰੌਕਸੀ ਪਤਾ ਨਾ ਵਰਤੋ ਅਤੇ ਹੈਂਡਲਰ ਦੇ ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਨਾਮ ਨਾ ਸੁਲਝਾਓ। ਮਨਜ਼ੂਰ ਜਨਤਕ-ਪ੍ਰੌਕਸੀ ਮਾਰਗ 'ਤੇ ਜਨਤਕ ਟਾਰਗਿਟਾਂ ਲਈ, SOCKS5 ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਹੈਂਡਲਰ ਦੇ ਪ੍ਰੌਕਸੀ ਐਂਡਪੌਇੰਟ ਲਈ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ।
ਟਿਕਾਣਾ ਟ੍ਰੈਫਿਕ ਦਾ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਕਰਨ ਵਾਲੇ ਹੈਂਡਲਰਾਂ ਤੋਂ ਪਹਿਲਾਂ Socks5ProxyHandler ਰੱਖੋ। ਇਸਦੇ ਪ੍ਰੌਕਸੀ ਕਨੈਕਸ਼ਨ future ਦੀ ਉਡੀਕ ਕਰੋ, ਸਿਰਫ਼ ਲਿਸਨਰ ਤੱਕ ਪਹੁੰਚਣ ਵਾਲੇ ਚੈਨਲ ਦੀ ਨਹੀਂ। ਰੱਦ ਕੀਤਾ ਢੰਗ ਜਾਂ ਟਿਕਾਣਾ ਇਸ ਸੈਟਅੱਪ ਪੜਾਅ ਦਾ ਹਿੱਸਾ ਹੈ।
HTTPS ਲਈ, ਅਗਲੀ TLS ਪਰਤ ਟਿਕਾਣੇ ਦਾ ਹੋਸਟਨਾਮ, ਲੋੜੀਂਦੀ ਪੁਸ਼ਟੀ ਅਤੇ ਭਰੋਸਾ ਵਰਤਦੀ ਹੈ—SOCKS ਐਂਡਪੌਇੰਟ ਦੀ ਪਛਾਣ ਨਹੀਂ। ਫਿਰ ਹੀ HTTP/ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ।
ਇਹ ਟੁਕੜਾ ਇਵੈਂਟ ਲੂਪ, ਚੈਨਲ ਕਿਸਮਾਂ, TLS/HTTP ਹੈਂਡਲਰ ਜਾਂ ਆਮ ਗਲਤੀ ਸੰਭਾਲ ਨਹੀਂ ਦਿੰਦਾ। ਪ੍ਰਮਾਣਿਕਤਾ ਦੀਆਂ ਲੋੜਾਂ ਨਾਲ ਮੇਲ ਖਾਂਦਾ SOCKS ਕੰਸਟ੍ਰਕਟਰ ਚੁਣੋ; HTTP Basic ਹੈਂਡਲਰ ਦੂਜਾ ਪ੍ਰੋਟੋਕੋਲ ਹੈ।
no-op resolver ਸਿਰਫ਼ ਉੱਥੇ ਵਰਤੋ ਜਿੱਥੇ ਇਸ ਡਾਊਨਸਟ੍ਰੀਮ ਹੈਂਡਲਰ ਕੋਲ ਹੋਸਟਨਾਮ ਸੁਲਝਾਉਣਾ ਹੈ। ਹੋਰ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਸਥਾਨਕ ਖੋਜ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਅਸਫਲਤਾ ਦਾ ਨਿਦਾਨ ਕਰਦੇ ਸਮੇਂ resolver ਆਉਟਪੁੱਟ, ਪ੍ਰੌਕਸੀ future, TLS ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਨਤੀਜਾ ਵੱਖਰਾ ਰੱਖੋ।