SOCKS ಸರ್ವರ್ ಗಮ್ಯಸ್ಥಾನವನ್ನು ಬಗೆಹರಿಸಬೇಕಾದ ಇರುವ Netty bootstrap/pipeline ಗಾಗಿ:

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 ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ ಫಲಿತಾಂಶವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು