Za postojeći Netty bootstrap/pipeline gdje SOCKS poslužitelj treba razriješiti odredište:

bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);

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

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

Krajnja točka proxyja je lokalni port 1080; nerazriješena meta veze je example.com:443. Ne koristite adresu proxyja za obje uloge i ne razrješavajte ime prije nego što ga rukovatelj primi. Za javne mete na dopuštenoj javnoj proxy ruti popis SOCKS5 proxyja nudi kandidate za krajnju točku proxyja rukovatelja.

Postavite Socks5ProxyHandler prije rukovatelja koji razmjenjuju promet odredišta. Čekajte future proxy veze, a ne samo kanal koji dosegne slušatelja. Odbijena metoda ili odredište pripadaju ovoj fazi postavljanja.

Za HTTPS, sljedeći TLS sloj koristi ime hosta odredišta, potrebnu provjeru i povjerenje—ne identitet SOCKS krajnje točke. Tek tada počinje HTTP/aplikacijska razmjena.

Isječak ne pruža event loopove, vrste kanala, TLS/HTTP rukovatelje ni uobičajeno rukovanje pogreškama. Odaberite SOCKS konstruktor koji odgovara potrebama autentifikacije; HTTP Basic rukovatelj je drugi protokol.

Koristite no-op resolver samo tamo gdje ovaj nizvodni rukovatelj posjeduje razrješavanje imena hosta. Druge veze mogu zahtijevati lokalno pretraživanje. Držite izlaz resolvera, proxy future, TLS i rezultat aplikacije odvojeno pri dijagnostici kvara.

Povezani članci