Umiestnite vyjednávanie SOCKS v Netty pred protokol vašej aplikácie
Zoraďte proxy handler SOCKS v Netty pred prevádzkou aplikácie a zachovajte nerozlíšený cieľ, keď je DNS na strane proxy zamýšľané.
Pre existujúci Netty bootstrap/pipeline, kde má SOCKS server rozlíšiť cieľ:
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);Koncový bod proxy je miestny port 1080; nerozlíšený cieľ pripojenia je example.com:443. Nepoužívajte adresu proxy pre obe roly a nerozlišujte názov skôr, než ho handler dostane. Pre verejné ciele na povolenej verejnej proxy trase zoznam proxy SOCKS5 dodáva kandidátov pre koncový bod proxy handlera.
Umiestnite Socks5ProxyHandler pred handlery, ktoré vymieňajú prevádzku cieľa. Čakajte na future proxy pripojenia, nie len na kanál, ktorý dosiahne listener. Odmietnutá metóda alebo cieľ patria do tejto fázy nastavenia.
Pre HTTPS používa ďalšia vrstva TLS názov hostiteľa cieľa, požadované overenie a dôveru—nie identitu koncového bodu SOCKS. Až potom sa začína výmena HTTP/aplikácie.
Fragment neposkytuje slučky udalostí, typy kanálov, TLS/HTTP handlery ani bežné ošetrenie chýb. Zvoľte konštruktor SOCKS zodpovedajúci potrebám autentifikácie; handler HTTP Basic je iný protokol.
Používajte no-op resolver len tam, kde tento nadväzujúci handler vlastní rozlíšenie názvu hostiteľa. Iné pripojenia môžu potrebovať miestne vyhľadanie. Pri diagnostike zlyhania udržujte výstup resolvera, future proxy, TLS a výsledok aplikácie oddelené.