നിങ്ങളുടെ ആപ്ലിക്കേഷൻ പ്രോട്ടോക്കോളിന് മുമ്പ് Netty-യുടെ SOCKS ചർച്ച ഇടുക
ആപ്ലിക്കേഷൻ ട്രാഫിക്കിന് മുമ്പ് Netty SOCKS പ്രോക്സി ഹാൻഡ്ലർ ക്രമീകരിക്കുകയും പ്രോക്സി വശത്തെ DNS ഉദ്ദേശിക്കുമ്പോൾ പരിഹരിക്കാത്ത ലക്ഷ്യസ്ഥാനം സൂക്ഷിക്കുകയും ചെയ്യുക.
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, ആപ്ലിക്കേഷൻ ഫലം എന്നിവ വേർതിരിച്ച് സൂക്ഷിക്കുക.