હાલના Netty bootstrap/pipeline માટે જ્યાં SOCKS સર્વરે ગંતવ્ય ઉકેલવું જોઈએ:

bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);

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

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

પ્રોક્સી એન્ડપોઇન્ટ સ્થાનિક પોર્ટ 1080 છે; અનિર્ણિત કનેક્શન લક્ષ્ય example.com:443 છે. બંને ભૂમિકાઓ માટે પ્રોક્સી સરનામું વાપરશો નહીં અને હેન્ડલર તે મેળવે તે પહેલાં નામ ઉકેલશો નહીં. મંજૂર જાહેર-પ્રોક્સી માર્ગ પરના જાહેર લક્ષ્યો માટે, SOCKS5 પ્રોક્સી યાદી હેન્ડલરના પ્રોક્સી એન્ડપોઇન્ટ માટે ઉમેદવારો પૂરા પાડે છે.

ગંતવ્ય ટ્રાફિકની આપલે કરતા હેન્ડલરો પહેલાં Socks5ProxyHandler મૂકો. તેના પ્રોક્સી કનેક્શન future ની રાહ જુઓ, ફક્ત લિસનર સુધી પહોંચતી ચેનલની નહીં. નકારેલી પદ્ધતિ અથવા ગંતવ્ય આ સેટઅપ તબક્કાનું છે.

HTTPS માટે, આગળનું TLS સ્તર ગંતવ્યનું હોસ્ટનામ, જરૂરી ચકાસણી અને વિશ્વાસ વાપરે છે—SOCKS એન્ડપોઇન્ટની ઓળખ નહીં. પછી જ HTTP/એપ્લિકેશન આપલે શરૂ થાય છે.

આ ટુકડો ઇવેન્ટ લૂપ, ચેનલ પ્રકાર, TLS/HTTP હેન્ડલર કે સામાન્ય ભૂલ સંચાલન પૂરું પાડતો નથી. પ્રમાણીકરણની જરૂરિયાતો સાથે મેળ ખાતો SOCKS કન્સ્ટ્રક્ટર પસંદ કરો; HTTP Basic હેન્ડલર બીજો પ્રોટોકોલ છે.

no-op resolver ફક્ત ત્યાં જ વાપરો જ્યાં આ ડાઉનસ્ટ્રીમ હેન્ડલર પાસે હોસ્ટનામ ઉકેલવાનું હોય. બીજા કનેક્શનને સ્થાનિક શોધની જરૂર પડી શકે. નિષ્ફળતાનું નિદાન કરતી વખતે resolver આઉટપુટ, પ્રોક્સી future, TLS અને એપ્લિકેશન પરિણામ અલગ રાખો.

સંબંધિત લેખો