Shadowsocks ပရိုတိုကောကို အသုံးပြု၍ outline-ss-server 1.4 ပရောက်စီဆာဗာသည် အသွားအလာ၏ သဘောသဘာဝကို ဖုံးကွယ်ရန်၊ firewalls များကို ရှောင်ကွင်းပြီး လှည့်ဖြားသော packet စစ်ဆေးရေးစနစ်များကို အသုံးပြုထားသည်။ ဆာဗာကို Outline ပရောဂျက်မှ တီထွင်ထားခြင်းဖြစ်ပြီး၊ ၎င်းသည် သုံးစွဲသူအပလီကေးရှင်းများ၏ မူဘောင်နှင့် ထိန်းချုပ်မှုအင်တာဖေ့စ်ကို ပံ့ပိုးပေးသည့် ဆာဗာများကို အများသူငှာ cloud ပတ်ဝန်းကျင်တွင် သို့မဟုတ် သင့်ကိုယ်ပိုင်စက်ပစ္စည်းပေါ်တွင် အခြေခံ၍ အသုံးပြုသူအများအပြားရှိ Shadowsocks ဆာဗာများကို လျင်မြန်စွာအသုံးချနိုင်စေခြင်း၊ ဝဘ်အင်တာဖေ့စမှတဆင့် ၎င်းတို့ကို စီမံခန့်ခွဲပြီး သော့များဖြင့် အသုံးပြုသူဝင်ရောက်ခွင့်ကို စုစည်းပါ။ ကုဒ်ကို ဆင်ဆာဖြတ်တောက်ခြင်းကို ရှောင်လွှဲရန်နှင့် အခမဲ့ သတင်းအချက်အလက် ဖလှယ်မှုကို စုစည်းရန် ကိရိယာများ တီထွင်ရန်အတွက် Google အတွင်းရှိ ဌာနခွဲတစ်ခုဖြစ်သည့် Jigsaw မှ ဖန်တီးထိန်းသိမ်းထားသည်။
Outline-ss-server ကို Go တွင်ရေးသားထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ အခြေခံအဖြစ်အသုံးပြုသည့်ကုဒ်သည် Shadowsocks developer အသိုင်းအဝိုင်းမှ ဖန်တီးထားသော proxy server go-shadowsocks2 ဖြစ်သည်။ မကြာသေးမီက Shadowsocks ပရောဂျက်၏ အဓိကလုပ်ဆောင်ချက်သည် Rust ဘာသာစကားဖြင့် ဆာဗာအသစ်တစ်ခု ဖွံ့ဖြိုးတိုးတက်ရေးအပေါ် အာရုံစိုက်ခဲ့ပြီး Go ဘာသာစကားတွင် အကောင်အထည်ဖော်မှုသည် တစ်နှစ်ကျော်ကြာ အပ်ဒိတ်မလုပ်ရသေးဘဲ လုပ်ဆောင်နိုင်စွမ်းမှာ သိသိသာသာ နောက်ကျကျန်နေပါသည်။
outline-ss-server နှင့် go-shadowsocks2 အကြား ခြားနားချက်များသည် ကွန်ရက်ပေါက်တစ်ခုမှ သုံးစွဲသူအများအပြားကို ချိတ်ဆက်ရန်၊ ချိတ်ဆက်မှုများကို လက်ခံရရှိရန် ကွန်ရက် port အများအပြားကို ဖွင့်နိုင်မှု၊ hot restart နှင့် configuration updates များအတွက် ပံ့ပိုးမှုပေးရန် ဆင်းသက်လာသည်၊ prometheus ပလပ်ဖောင်း .io ကို အခြေခံ၍ စောင့်ကြည့်ခြင်းနှင့် လမ်းကြောင်းပြုပြင်ခြင်း ကိရိယာများ။
outline-ss-server သည် probe တောင်းဆိုမှုနှင့် traffic replay attacks တို့ကိုလည်း အကာအကွယ်ပေးပါသည်။ စမ်းသပ်မှုတောင်းဆိုချက်များမှတစ်ဆင့် တိုက်ခိုက်ခြင်းသည် ပရောက်စီတစ်ခု၏ပါဝင်မှုကို ဆုံးဖြတ်ရန် ရည်ရွယ်သည်; ဥပမာ၊ တိုက်ခိုက်သူတစ်ဦးသည် ပစ်မှတ် Shadowsocks ဆာဗာသို့ အရွယ်အစားအမျိုးမျိုးရှိသော ဒေတာအစုံများကို ပေးပို့နိုင်ပြီး အမှားအယွင်းတစ်ခုနှင့် ချိတ်ဆက်မှုကို မပိတ်မီ ဆာဗာမှ ဖတ်မည့်ဒေတာမည်မျှရှိသည်ကို ပိုင်းခြားစိတ်ဖြာနိုင်သည်။ အသွားအလာ ပြန်လည်ကစားသည့် တိုက်ခိုက်မှုသည် ကလိုင်းယင့်နှင့် ဆာဗာကြားရှိ ဆက်ရှင်တစ်ခုကို ကြားဖြတ်ကာ ပရောက်စီတစ်ခု၏ ပါဝင်မှုကို ဆုံးဖြတ်ရန် ကြားဖြတ်ခံရသော ဒေတာကို ပြန်လည်ပေးပို့ရန် ကြိုးပမ်းခြင်းအပေါ် အခြေခံသည်။
စမ်းသပ်မှုတောင်းဆိုမှုများမှတစ်ဆင့် တိုက်ခိုက်မှုများကို ကာကွယ်ရန်အတွက် outline-ss-server ဆာဗာသည် မှားယွင်းသောဒေတာရောက်ရှိသည့်အခါ ချိတ်ဆက်မှုကို အနှောင့်အယှက်မဖြစ်စေဘဲ အမှားအယွင်းတစ်ခုပြသခြင်းမရှိသော်လည်း အချက်အလက်ကို ဆက်လက်လက်ခံရရှိကာ တွင်းနက်တစ်မျိုးအဖြစ် လုပ်ဆောင်သည်။ ပြန်ဖွင့်ခြင်းမှ ကာကွယ်ရန်၊ နောက်ဆုံးအကြိမ် ထောင်ပေါင်းများစွာသော လက်ဆွဲနှုတ်ဆက်ခြင်း အစီအစဉ်များအတွက် သိမ်းဆည်းထားသော checksums များကို အသုံးပြု၍ ထပ်ခါထပ်ခါ ထပ်ခါတလဲလဲ ပြုလုပ်ခြင်းမှ ရရှိလာသော ဒေတာများကို ထပ်မံစစ်ဆေးသည် (အများဆုံး 40၊ ဆာဗာစတင်ပြီး အပိုင်းတစ်ခုလျှင် မန်မိုရီ 20 ဘိုက်ကို စားသုံးသည့်အခါ အရွယ်အစားကို သတ်မှတ်ထားသည်)။ ဆာဗာမှ ထပ်ခါတလဲလဲ တုံ့ပြန်မှုများကို ပိတ်ဆို့ရန်၊ ဆာဗာလက်ဆွဲနှုတ်ဆက်ခြင်း အစီအစဉ်များအားလုံးသည် 32-bit တဂ်များဖြင့် HMAC စစ်မှန်ကြောင်းအထောက်အထားပြကုဒ်များကို အသုံးပြုပါသည်။
အသွားအလာ ပုန်းအောင်းသည့် အဆင့်သတ်မှတ်ချက်အရ၊ outline-ss-server အကောင်အထည်ဖော်မှုတွင် Shadowsocks ပရိုတိုကောသည် Tor အမည်မသိကွန်ရက်ရှိ Obfs4 plug-in သယ်ယူပို့ဆောင်ရေးနှင့် နီးစပ်ပါသည်။ ပရိုတိုကောသည် တရုတ်နိုင်ငံရှိ ယာဉ်ကြောပိတ်ဆို့မှုဆိုင်ရာ ဆင်ဆာဖြတ်ခြင်းစနစ် (“The Great Firewall of China”) ကို ကျော်ဖြတ်ရန် ဖန်တီးထားပြီး အခြားဆာဗာတစ်ခုမှတစ်ဆင့် ပေးပို့လာသော အသွားအလာများကို ထိရောက်စွာ ဖုံးကွယ်ထားနိုင်သည် (ကျပန်းအမျိုးအနွယ်၏ ပူးတွဲပါရှိမှုနှင့် သရုပ်ဖော်မှုတို့ကြောင့် ယာဉ်အသွားအလာကို ဖော်ထုတ်ရန်ခက်ခဲပါသည်။ စဉ်ဆက်မပြတ်စီးဆင်းမှု)။
SOCKS5 ကို ပရောက်စီတောင်းဆိုမှုများအတွက် ပရိုတိုကောအဖြစ် အသုံးပြုသည် - SOCKS5 ပံ့ပိုးမှုပါရှိသော ပရောက်စီကို စက်တွင်းစနစ်တွင် စတင်လုပ်ဆောင်သည်၊ ၎င်းသည် တောင်းဆိုချက်များကို အမှန်တကယ်လုပ်ဆောင်သည့် အဝေးထိန်းဆာဗာသို့ လမ်းကြောင်းပြပေးသည်။ ကလိုင်းယင့်နှင့် ဆာဗာကြား လမ်းကြောင်းကို ကုဒ်ဝှက်ထားသော ဥမင်တစ်ခုတွင် ထားရှိထားသည် (စစ်မှန်ကြောင်း ကုဒ်ကုဒ်ကို AEAD_CHACHA20_POLY1305၊ AEAD_AES_128_GCM နှင့် AEAD_AES_256_GCM တို့က ပံ့ပိုးထားသည်)၊ ၎င်း၏ဖန်တီးမှုသည် Shadowsocks ၏ အဓိကတာဝန်ဖြစ်ကြောင်း ဖုံးကွယ်ထားသည်။ TCP နှင့် UDP ဥမင်လိုဏ်ခေါင်းများ၏ အဖွဲ့အစည်းကို ပံ့ပိုးထားပြီး Tor တွင် ပလပ်အင်သယ်ယူပို့ဆောင်မှုများကို အမှတ်ရစေသော ပလပ်အင်များကို အသုံးပြုခြင်းဖြင့် SOCKS5 မှ ကန့်သတ်မထားသော မတရားဥမင်လှိုဏ်ခေါင်းများ ဖန်တီးခြင်းကို ပံ့ပိုးထားသည်။
source: opennet.ru