የNetty SOCKS ድርድርን ከመተግበሪያ ፕሮቶኮልዎ በፊት ያስቀምጡ
የNetty SOCKS ፕሮክሲ ሃንድለርን ከመተግበሪያ ትራፊክ በፊት ያስተካክሉ እና በፕሮክሲ በኩል DNS ከታሰበ ያልተፈታ መድረሻን ይጠብቁ።
በነባር 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 እና የመተግበሪያ ውጤትን ለያዩ።