Za obstoječi Netty bootstrap/pipeline, kjer naj bi strežnik SOCKS razrešil cilj:

bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);

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

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

Končna točka proxyja je lokalna vrata 1080; nerazrešeni cilj povezave je example.com:443. Ne uporabljajte naslova proxyja za obe vlogi in ne razrešujte imena, preden ga upravljalnik prejme. Za javne cilje na dovoljeni javni poti proxyja seznam proxyjev SOCKS5 ponuja kandidate za končno točko proxyja upravljalnika.

Postavite Socks5ProxyHandler pred upravljalnike, ki izmenjujejo promet do cilja. Počakajte na future proxy povezave, ne le na kanal, ki doseže poslušalca. Zavrnjena metoda ali cilj sodi v to fazo nastavitve.

Za HTTPS naslednja plast TLS uporablja ime gostitelja cilja, zahtevano preverjanje in zaupanje—ne identitete končne točke SOCKS. Šele nato se začne izmenjava HTTP/aplikacije.

Izsek ne zagotavlja zank dogodkov, vrst kanalov, upravljalnikov TLS/HTTP ali običajnega obravnavanja napak. Izberite konstruktor SOCKS, ki ustreza potrebam preverjanja pristnosti; upravljalnik HTTP Basic je drug protokol.

Uporabljajte no-op resolver samo tam, kjer ima ta nižji upravljalnik razreševanje imena gostitelja. Druge povezave lahko potrebujejo lokalno iskanje. Pri diagnosticiranju napake imejte izhod resolverja, future proxyja, TLS in rezultat aplikacije ločene.

Sorodni članki