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 ရလဒ်ကို သီးခြားထားပါ။

ဆက်စပ်ဆောင်းပါးများ