För en befintlig Netty bootstrap/pipeline där SOCKS-servern ska lösa destinationen:

bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);

pipeline.addFirst(
    new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);

bootstrap.connect(
    InetSocketAddress.createUnresolved("example.com", 443)
);

Proxy-slutpunkten är lokal port 1080; det oupplösta anslutningsmålet är example.com:443. Använd inte proxy-adressen för båda rollerna och lös inte upp namnet innan hanteraren tar emot det. För offentliga mål på en tillåten offentlig proxy-rutt tillhandahåller SOCKS5-proxylistan kandidater för hanterarens proxy-slutpunkt.

Placera Socks5ProxyHandler före hanterare som utbyter destinationstrafik. Vänta på dess proxy-anslutnings-future, inte bara en kanal som når lyssnaren. En avvisad metod eller destination hör till detta installationssteg.

För HTTPS använder nästa TLS-lager destinationens värdnamn, den verifiering och det förtroende som krävs—inte SOCKS-slutpunktens identitet. Först då börjar HTTP-/applikationsutbytet.

Fragmentet tillhandahåller inte händelseloopar, kanaltyper, TLS/HTTP-hanterare eller normal felhantering. Välj SOCKS-konstruktorn som matchar autentiseringsbehoven; en HTTP Basic-hanterare är ett annat protokoll.

Använd no-op-resolvern bara där denna nedströms hanterare äger värdnamnsuppslagningen. Andra anslutningar kan behöva lokal sökning. Håll resolver-utdata, proxy-future, TLS och applikationsresultat åtskilda när du diagnostiserar ett fel.

Relaterade artiklar