Za postojeći Netty bootstrap/pipeline gdje SOCKS server 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 handler primi. Za javne mete na dozvoljenoj javnoj proxy ruti lista SOCKS5 proxyja nudi kandidate za krajnju točku proxyja handlera.

Postavite Socks5ProxyHandler prije handlera koji razmjenjuju saobraćaj odredišta. Čekajte na future proxy veze, a ne samo na kanal koji dosegne listener. 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, tipove kanala, TLS/HTTP handlere ni uobičajeno rukovanje greškama. Odaberite SOCKS konstruktor koji odgovara potrebama autentifikacije; HTTP Basic handler je drugi protokol.

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

Povezani članci