Aseta Nettyn SOCKS-neuvottelu sovelluksesi protokollan edelle
Sijoita Netty SOCKS -välityspalvelinkäsittelijä sovelluksen liikenteen edelle ja säilytä ratkaisematon kohde, kun DNS on tarkoitettu välityspalvelimen puolelle.
Olemassa olevaan Netty bootstrap/pipelineen, jossa SOCKS-palvelimen tulisi ratkaista kohde:
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);Välityspalvelimen päätepiste on paikallinen portti 1080; ratkaisematon yhteyskohde on example.com:443. Älä käytä välityspalvelimen osoitetta molempiin rooleihin äläkä ratkaise nimeä ennen kuin käsittelijä vastaanottaa sen. Sallitulla julkisen välityspalvelimen reitillä oleville julkisille kohteille SOCKS5-välityspalvelinluettelo tarjoaa ehdokkaita käsittelijän välityspalvelimen päätepisteeksi.
Sijoita Socks5ProxyHandler ennen käsittelijöitä, jotka vaihtavat kohteen liikennettä. Odota sen välitysyhteyden futurea, älä vain kanavaa, joka saavuttaa kuuntelijan. Hylätty menetelmä tai kohde kuuluu tähän asennusvaiheeseen.
HTTPS:ssä seuraava TLS-kerros käyttää kohteen isäntänimeä, vaadittua varmennusta ja luottamusta—ei SOCKS-päätepisteen identiteettiä. Vasta sitten HTTP/sovellusvaihto alkaa.
Katkelma ei tarjoa tapahtumasilmukoita, kanavatyyppejä, TLS/HTTP-käsittelijöitä tai tavallista virheenkäsittelyä. Valitse todennusvaatimuksiin sopiva SOCKS-konstruktori; HTTP Basic -käsittelijä on toinen protokolla.
Käytä no-op-resolveria vain siellä, missä tämä alavirran käsittelijä omistaa isäntänimen ratkaisun. Muut yhteydet voivat tarvita paikallista hakua. Pidä resolverin tuloste, välityksen future, TLS ja sovelluksen tulos erillään vikaa diagnosoidessasi.