သင့် application protocol မတိုင်မီ Netty ၏ SOCKS ညှိနှိုင်းမှုကို ထားပါ
Application traffic မတိုင်မီ Netty SOCKS proxy handler ကို စီစဉ်ပြီး proxy ဘက်မှ DNS ကို ရည်ရွယ်သည့်အခါ မဖြေရှင်းရသေးသော ဦးတည်ချက်ကို ထိန်းသိမ်းပါ။
SOCKS ဆာဗာက ဦးတည်ချက်ကို ဖြေရှင်းသင့်သော ရှိပြီးသား Netty bootstrap/pipeline အတွက်−
bootstrap.resolver(NoopAddressResolverGroup.INSTANCE);
pipeline.addFirst(
new Socks5ProxyHandler(new InetSocketAddress("127.0.0.1", 1080))
);
bootstrap.connect(
InetSocketAddress.createUnresolved("example.com", 443)
);Proxy endpoint သည် local port 1080 ဖြစ်သည်။ မဖြေရှင်းရသေးသော ချိတ်ဆက်မှု ပစ်မှတ်သည် example.com:443 ဖြစ်သည်။ Proxy လိပ်စာကို အခန်းကဏ္ဍနှစ်ခုအတွက် မသုံးပါနှင့်၊ handler မရရှိမီ အမည်ကို မဖြေရှင်းပါနှင့်။ ခွင့်ပြုထားသော အများသုံး proxy လမ်းကြောင်းရှိ အများသုံး ပစ်မှတ်များအတွက် SOCKS5 proxy စာရင်း သည် handler ၏ proxy endpoint အတွက် ကိုယ်စားလှယ်လောင်းများကို ပေးသည်။
ဦးတည်ချက် traffic ဖလှယ်သော handler များမတိုင်မီ Socks5ProxyHandler ကို ထားပါ။ Listener သို့ရောက်သော channel ကိုသာမက ၎င်း၏ proxy ချိတ်ဆက်မှု future ကို စောင့်ပါ။ ပယ်ချခံရသော method သို့မဟုတ် ဦးတည်ချက်သည် ဤ setup အဆင့်တွင် ပါဝင်သည်။
HTTPS အတွက် နောက် TLS အလွှာသည် ဦးတည်ချက်၏ hostname၊ လိုအပ်သော အတည်ပြုခြင်းနှင့် ယုံကြည်မှုကို အသုံးပြုသည်—SOCKS endpoint ၏ အထောက်အထား မဟုတ်ပါ။ ထို့နောက်မှသာ HTTP/application ဖလှယ်မှု စတင်သည်။
ဤအပိုင်းသည် event loop များ၊ channel အမျိုးအစားများ၊ TLS/HTTP handler များ သို့မဟုတ် ပုံမှန် error ကိုင်တွယ်မှုကို မပေးပါ။ Authentication လိုအပ်ချက်များနှင့် ကိုက်ညီသော SOCKS constructor ကို ရွေးပါ။ HTTP Basic handler သည် အခြား protocol ဖြစ်သည်။
ဤအောက်ပိုင်း handler တွင် hostname ဖြေရှင်းမှု ပိုင်ဆိုင်သည့်နေရာတွင်သာ no-op resolver ကို သုံးပါ။ အခြား ချိတ်ဆက်မှုများတွင် local ရှာဖွေမှု လိုအပ်နိုင်သည်။ ချို့ယွင်းမှုကို စစ်ဆေးသောအခါ resolver output၊ proxy future၊ TLS နှင့် application ရလဒ်ကို သီးခြားထားပါ။