SingLinkVPN Open Source အစီအစဉ်

Contents
Open source သည် ကာလရှည် ယုံကြည်မှု၏ အစပင် ဖြစ်ပါသည်။
SingLinkVPN သည် ၎င်း၏ open-source နှင့် နည်းပညာသုတေသန အစီအစဉ်ကို တရားဝင် စတင်ခဲ့ပြီး GitHub ပေါ်တွင် တရားဝင် SingLinkVPN Open Source and Technical Research repository ကို ဖန်တီးထားပါသည်။
ဤသည်မှာ တစ်ကြိမ်တည်း ထုတ်ပြန်ရုံ လုပ်ငန်း သို့မဟုတ် ကြည့်ရှုရန်သာ ရည်ရွယ်သော စာတမ်းစာမျက်နှာ မဟုတ်ပါ။ ၎င်းသည် အဆက်မပြတ် အပ်ဒိတ်လုပ်ပြီး အချိန်နှင့်အမျှ ချဲ့ထွင်သွားမည့် ကာလရှည် အင်ဂျင်နီယာလုပ်ငန်းတစ်ခု ဖြစ်ပါသည်။
ယနေ့ ရရှိနိုင်သော ပစ္စည်းများမှာ ပိုမိုကျယ်ပြန့်သော အစီအစဉ်၏ ပထမအဆင့် ဖြစ်ပါသည်။
ပထမအဆင့်တွင် အများသိ နည်းပညာစာတမ်းများ၊ လုံခြုံရေးနှင့် ကိုယ်ရေးလုံခြုံမှု မော်ဒယ်များ၊ ပြန်လည်ထုတ်လုပ်နိုင်သော စွမ်းဆောင်ရည်စမ်းသပ်နည်းများ၊ စက်ဖတ်နိုင်သော ဒေတာပုံစံများ၊ အများသိ dataset များအတွက် မူဘောင်၊ အစီရင်ခံစာ directory များ၊ သုတေသနကိရိယာများ၊ လုံခြုံရေးထုတ်ဖော်မှု လုပ်ငန်းစဉ်နှင့် အထောက်အထား ထုတ်ပြန်ရေး စံနှုန်းများ ပါဝင်ပါသည်။
နောက်အဆင့်များတွင် SingLinkVPN သည် လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှု၊ လိုင်စင်နှင့် ထုတ်ကုန်တည်ငြိမ်မှု သုံးသပ်ချက်များနှင့်အညီ နောက်ထပ် နည်းပညာပစ္စည်းများ၊ သုတေသနအစီရင်ခံစာများနှင့် ထုတ်ကုန် source code ကို အဆင့်လိုက် ထုတ်ပြန်ရန် စီစဉ်ထားပါသည်။ စီစဉ်ထားသော နယ်ပယ်များတွင် VPN ပရိုတိုကော၊ VPN client များနှင့် သုံးသပ်ပြီးနောက် ထုတ်ပြန်ရန် သင့်လျော်သော အခြား အဓိက VPN နည်းပညာများ ပါဝင်ပါသည်။
ထို့ကြောင့် လက်ရှိထုတ်ပြန်မှုသည် အစီအစဉ်၏ အဆုံးမဟုတ်ပါ။ ၎င်းသည် ဆက်လက်ဖြစ်ပေါ်နေမည့် open-source လုပ်ငန်းစဉ်၏ ပထမခြေလှမ်း ဖြစ်ပါသည်။
တရားဝင် repository တွင် ယခုအခါ အများသိစာတမ်းများ၊ သုတေသနဒေတာ၊ လုံခြုံရေးပစ္စည်းများ၊ စွမ်းဆောင်ရည်စမ်းသပ်မှုများနှင့် ပွင့်လင်းသော စစ်ဆေးရေးကိရိယာများကို ထိန်းသိမ်းရန် docs၊ data၊ reports၊ tools၊ tests နှင့် GitHub automation directory များ ပါဝင်ပါသည်။ Repository ကို တက်ကြွစွာ ထိန်းသိမ်းနေသော ပရောဂျက်အဖြစ် ရှင်းလင်းစွာ ဖော်ပြထားပါသည်။
တရားဝင် repository: SingLinkLabs / singlink-vpn-open-source လက်ရှိအခြေအနေ: ပထမအဆင့်ကို အများသိ ထုတ်ပြန်ပြီးပါပြီ။ နောက်ထပ် နည်းပညာပစ္စည်းများ၊ သုတေသနအစီရင်ခံစာများနှင့် ထုတ်ကုန် source code ကို အဆင့်လိုက် ထုတ်ပြန်သွားပါမည်။
SingLinkVPN သည် open-source အစီအစဉ်ကို အဘယ်ကြောင့် စတင်သနည်း?
VPN တစ်ခုသည် ကွန်ရက် transport၊ လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှုနှင့် ဒေတာ စီမံဆောင်ရွက်မှုတို့နှင့် နီးကပ်စွာ ဆက်စပ်နေပါသည်။
VPN ဝန်ဆောင်မှု၏ အစိတ်အပိုင်းအများစုသည် အသုံးပြုသူများ တိုက်ရိုက် မမြင်နိုင်သော စနစ်များအတွင်းတွင် လည်ပတ်ပါသည်။ အသုံးပြုသူများသည် အက်ပ်မျက်နှာပြင်၊ ဆာဗာစာရင်း၊ ချိတ်ဆက်မှုအမြန်နှုန်းနှင့် ထုတ်ကုန်ဖော်ပြချက်ကို မြင်နိုင်သော်လည်း အောက်ပါတို့ကို လွယ်လွယ်ကူကူ အတည်မပြုနိုင်ပါ:
- ထုတ်ပြန်ထားသော အမြန်နှုန်းရလဒ်များကို မည်သို့ တိုင်းတာခဲ့သည်;
- မည်သည့် ဆော့ဖ်ဝဲဗားရှင်းနှင့် ကွန်ရက်ပတ်ဝန်းကျင်ကို အသုံးပြုခဲ့သည်;
- မအောင်မြင်သော စမ်းသပ်မှုများကို အပြည့်အစုံ မှတ်တမ်းတင်ခဲ့ခြင်း ရှိ၊ မရှိ;
- လုံခြုံရေးဖော်ပြချက်တစ်ခုသည် မူဝါဒကတိကဝတ်လား၊ အတွင်းပိုင်းစမ်းသပ်မှုလား သို့မဟုတ် လွတ်လပ်သော အကဲဖြတ်မှုလား;
- အစီရင်ခံစာတွင် ရက်စွဲများ၊ ဗားရှင်းများ၊ နည်းလမ်းများနှင့် ပြင်ဆင်မှုမှတ်တမ်း ပါဝင်ခြင်း ရှိ၊ မရှိ;
- အခြားသုတေသီတစ်ဦးက ရလဒ်ကို ပြန်လည်ထုတ်လုပ်နိုင်ခြင်း ရှိ၊ မရှိ;
- နည်းပညာနှင့် လုံခြုံရေး ပြောင်းလဲမှုများကို ဗားရှင်းအလိုက် ခြေရာခံနိုင်ခြင်း ရှိ၊ မရှိ။
အမှတ်တံဆိပ်၏ ဖော်ပြချက်များတစ်ခုတည်းဖြင့် ဤမေးခွန်းများကို အပြည့်အဝ မဖြေဆိုနိုင်ပါ။
ဤအစီအစဉ်သည် SingLinkVPN ၏ နည်းပညာ၊ လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှုနှင့် စွမ်းဆောင်ရည်ဆိုင်ရာ အချက်အလက်များကို ထုတ်ကုန်ကြေညာချက်များမှ အခြားသူများ စစ်ဆေး၊ ကိုးကား၊ အတည်ပြု၊ ပြန်လည်ထုတ်လုပ်ပြီး ဆက်လက် စိစစ်နိုင်သော အများသိ ပစ္စည်းများအဖြစ် ပြောင်းလဲရန် ရည်ရွယ်ပါသည်။
ဤအရာအတွက် ဖိုင်များကို အွန်လိုင်းပေါ် တင်ရုံဖြင့် မလုံလောက်ဘဲ ဆက်လက်လည်ပတ်နေသော ထုတ်ပြန်ရေးစနစ်တစ်ခု လိုအပ်ပါသည်:
- အရေးကြီးသော နည်းပညာပစ္စည်းများတွင် သတ်မှတ်ထားသော ဗားရှင်း ရှိရမည်;
- တိုင်းတာနိုင်သော ကြေညာချက်များတွင် စမ်းသပ်သည့်ရက်စွဲနှင့် ပတ်ဝန်းကျင်ကို ဖော်ပြရမည်;
- စွမ်းဆောင်ရည်ရလဒ်များကို သက်ဆိုင်ရာ ဒေတာဖြင့် ထောက်ခံရမည်;
- အတွင်းပိုင်းစမ်းသပ်မှုများနှင့် ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုများကို ရှင်းလင်းစွာ ခွဲခြားရမည်;
- အရေးကြီးသော ပြင်ဆင်မှုများသည် အများသိ မှတ်တမ်း ချန်ထားရမည်;
- ထုတ်ကုန် source code ကို လုံခြုံရေးသုံးသပ်ပြီးနောက် အဆင့်လိုက် ထုတ်ပြန်ရမည်;
- အသိုင်းအဝိုင်းသည် ဒေတာဖွဲ့စည်းပုံနှင့် ပြည့်စုံမှုကို အများသိ ကိရိယာများဖြင့် စစ်ဆေးနိုင်ရမည်။
Repository က တိုင်းတာနိုင်သော ကြေညာချက်တိုင်းတွင် စမ်းသပ်သည့်ရက်စွဲ၊ ဆော့ဖ်ဝဲဗားရှင်း၊ ပတ်ဝန်းကျင်၊ နည်းလမ်း၊ နမူနာအရွယ်အစား၊ မူရင်း သို့မဟုတ် စုစည်းထားသော ဒေတာနှင့် သိရှိထားသော ကန့်သတ်ချက်များ ပါဝင်ရန် လိုအပ်ပါသည်။ “အမြန်ဆုံး”၊ “အလုံခြုံဆုံး” ကဲ့သို့ အတည်မပြုနိုင်သော အလွန်အကျွံ ဖော်ပြချက်များ သို့မဟုတ် လုံးဝ ကိုယ်ရေးလုံခြုံသည်ဟူသော ကြေညာချက်များကို အထောက်အထားအဖြစ် မသတ်မှတ်ပါ။
ပထမအဆင့်တွင် ဘာတွေ ရရှိနိုင်သနည်း?
ပထမအဆင့်တွင် အများသိ လုပ်ငန်းကဏ္ဍ ရှစ်ခုကို တည်ထောင်ထားပါသည်:
- VPN ဖွံ့ဖြိုးရေး ဗိသုကာနှင့် အများသိ နည်းပညာစာတမ်းများ;
- SingLinkVPN ထုတ်ကုန်နှင့် ဗားရှင်း မှတ်တမ်းများ;
- လုံခြုံရေးနှင့် ကိုယ်ရေးလုံခြုံမှု မော်ဒယ်;
- ပြန်လည်ထုတ်လုပ်နိုင်သော စွမ်းဆောင်ရည်စမ်းသပ်နည်းများ;
- စမ်းသပ်ဒေတာပုံစံများနှင့် အများသိ dataset မူဘောင်;
- လုံခြုံရေး၊ စွမ်းဆောင်ရည်နှင့် ပွင့်လင်းမြင်သာမှု အစီရင်ခံစာ directory များ;
- ပွင့်လင်းသော ဒေတာစစ်ဆေးရေးနှင့် သုတေသန ကိရိယာများ;
- အားနည်းချက် အစီရင်ခံခြင်းနှင့် တာဝန်ယူမှုရှိသော ထုတ်ဖော်ခြင်း။
ဤအရာများ ပေါင်းစည်းခြင်းဖြင့် နောက်ပိုင်း source code ထုတ်ပြန်ခြင်း၊ အများသိဒေတာနှင့် လွတ်လပ်သော သုတေသနအတွက် လိုအပ်သော အခြေခံကို ပေးပါသည်။
1. အများသိ VPN ဖွံ့ဖြိုးရေး ဗိသုကာနှင့် နည်းပညာစာတမ်းများ
ပထမအဆင့်တွင် ပလက်ဖောင်းစုံ VPN client ဗိသုကာ ပါဝင်ပါသည်။
၎င်းသည် programming ဘာသာစကား သို့မဟုတ် operating system တစ်ခုတည်းနှင့် ချိတ်တွဲထားခြင်း မရှိပါ။ ယင်းအစား ပလက်ဖောင်းစုံ VPN client တစ်ခု လိုအပ်သော အဓိက module များဖြစ်သည့် မျက်နှာပြင်၊ ချိတ်ဆက်မှု သက်တမ်းစက်ဝန်း၊ tunnel စီမံခန့်ခွဲမှု၊ routing၊ DNS၊ configuration၊ လုံခြုံရေးစမ်းသပ်မှုနှင့် စက်တွင်း ရောဂါရှာဖွေမှု (diagnostics) တို့ကို ဖော်ပြထားပါသည်။
1. မျက်နှာပြင် အလွှာ
မျက်နှာပြင်အလွှာသည် အကောင့်အခြေအနေ၊ ဆာဗာရွေးချယ်မှု၊ ချိတ်ဆက်မှုအခြေအနေ၊ error များ၊ diagnostics ရလဒ်များနှင့် အများသုံးစွဲနိုင်မှု (accessibility) လုပ်ဆောင်ချက်များကို ပြသပါသည်။
မျက်နှာပြင်တွင် ပြသသော ချိတ်ဆက်မှုအခြေအနေကို အသုံးပြုသူက ချိတ်ဆက်ခလုတ်ကို နှိပ်ခဲ့ခြင်း ရှိ၊ မရှိ မှသာ မဟုတ်ဘဲ အမှန်တကယ် ချိတ်ဆက်မှု state machine မှ ထုတ်ယူရပါမည်။
2. Session စီစဉ်ညှိနှိုင်းရေး အလွှာ
ဤအလွှာက ကိုင်တွယ်သည်များ:
- ချိတ်ဆက်ခြင်း;
- ချိတ်ဆက်မှု ဖြတ်ခြင်း;
- အလိုအလျောက် ပြန်ကြိုးစားခြင်း;
- ကွန်ရက်ပြောင်းလဲမှုများ;
- စက်ပစ္စည်း sleep နှင့် wake;
- အက်ပ် ပြန်လည်စတင်ခြင်း;
- ပုံမှန်မဟုတ်သော ပြတ်တောက်မှုနောက် ပြန်လည်ကောင်းမွန်ခြင်း။
၎င်းသည် ဟောင်းနေသော ချိတ်ဆက်မှုရလဒ်များက ပိုသစ်သော လုပ်ငန်းကို ထပ်ရေးခြင်းကို တားဆီးရပြီး ထပ်ခါထပ်ခါ လုပ်ဆောင်မှုများက ပဋိပက္ခ မဖြစ်စေကြောင်း သေချာစေရပါမည်။
3. Tunnel adapter အလွှာ
ဤအလွှာသည် မတူညီသော operating system များရှိ မူလ VPN API များနှင့် ပေါင်းစပ်ပါသည်၊ ယင်းတွင်:
- Packet အဝင်နှင့် အထွက်;
- Tunnel သက်တမ်းစက်ဝန်း;
- MTU configuration;
- Operating system ခွင့်ပြုချက်များ;
- နောက်ခံတွင် လုပ်ဆောင်ခြင်း ကန့်သတ်ချက်များ;
- Tunnel ပြတ်တောက်မှု callback များ။
4. Routing နှင့် DNS အလွှာ
ဤအလွှာက စီမံသည်များ:
- မူလ route များ;
- Split tunnelling;
- ဖယ်ထုတ်ထားသော route များ;
- DNS ရွေးချယ်မှု;
- IPv4 နှင့် IPv6 မူဝါဒ;
- စက်တွင်းကွန်ရက် ဝင်ရောက်ခွင့်;
- DNS နှင့် route ယိုစိမ့်မှု ကာကွယ်ရေး။
ယိုစိမ့်မှုစမ်းသပ်ခြင်းကို ကနဦးချိတ်ဆက်မှုတွင်သာ ကန့်သတ်၍ မရပါ။ ပြန်လည်ချိတ်ဆက်ခြင်း၊ ကွန်ရက်ပြောင်းလဲမှုများ၊ sleep နှင့် wake နှင့် အက်ပ် ပုံမှန်မဟုတ်စွာ ရပ်တန့်ခြင်းတို့ကိုလည်း လွှမ်းခြုံရန် လိုအပ်ပါသည်။
5. Transport အလွှာ
Transport အလွှာသည် အထောက်အထားစစ်ဆေးထားသော session များ၊ transport အပြုအမူ၊ congestion ကိုင်တွယ်မှု၊ keepalive မူဝါဒနှင့် ကွန်ရက် ရွှေ့ပြောင်းမှုတို့အတွက် တာဝန်ယူပါသည်။
6. Configuration အလွှာ
Configuration အလွှာသည် ဗားရှင်းသတ်မှတ်ထား၊ လက်မှတ်ထိုးထားပြီး အနည်းဆုံးဖြစ်အောင် ချုံ့ထားသော အဝေးမှ configuration ကို စီမံဆောင်ရွက်ပြီး မမှန်ကန်သော၊ သက်တမ်းကုန်သော သို့မဟုတ် ဗားရှင်းနိမ့်ချထားသော configuration ကို ငြင်းပယ်ပါသည်။
7. စောင့်ကြည့်နိုင်မှု (observability) အလွှာ
ကိုယ်ရေးလုံခြုံမှု ကာကွယ်ချက်များနှင့်အညီ ဤအလွှာက ပေးသည်များ:
- စက်တွင်း ကျန်းမာရေး အခြေအနေ;
- ချိတ်ဆက်မှု diagnostics;
- Error အမျိုးအစားခွဲခြားခြင်း;
- ပြန်လည်ထုတ်လုပ်နိုင်သော စမ်းသပ်မှု output;
- အသုံးပြုသူ၏ ကွန်ရက်လှုပ်ရှားမှု မပါဝင်သော နည်းပညာအခြေအနေ ဒေတာ။
လက်ရှိထုတ်ပြန်မှုတွင် အဆင့်မြင့် ဗိသုကာနှင့် လုံခြုံသော ဖွံ့ဖြိုးရေးမူများကို လွှမ်းခြုံထားပါသည်။ ပိုမိုတိကျသော module များနှင့် source code ကို သက်ဆိုင်ရာ သုံးသပ်ချက်များ ပြီးဆုံးပြီးမှသာ ထပ်ထည့်ပါမည်။
2. ဗားရှင်းသတ်မှတ်ထားသော အများသိ ထုတ်ကုန်မှတ်တမ်း
SingLinkVPN သည် မတူညီသော အချက်အလက်အမျိုးအစားများကို ခွဲခြားထားသည့် အများသိ ထုတ်ကုန်မှတ်တမ်းကိုလည်း တည်ထောင်ထားပါသည်။
ထုတ်ကုန် အချက်အလက်များ
ယင်းတို့တွင် ပါဝင်သည်များ:
- ပံ့ပိုးထားသော ပလက်ဖောင်းများ;
- အများသိ ဗားရှင်းများ;
- ထုတ်ဝေသည့် ရက်စွဲများ;
- တရားဝင် ဒေါင်းလုဒ် ရင်းမြစ်များ;
- ရရှိနိုင်သော checksum များ;
- အရေးကြီးသော လုပ်ဆောင်ချက်နှင့် တွဲသုံးနိုင်မှု ပြောင်းလဲမှုများ။
ဗိသုကာ ဖော်ပြချက်များ
ယင်းတို့သည် အရေးကြီးသော စနစ်များ၊ credential များ သို့မဟုတ် production ပတ်ဝန်းကျင်များကို မထုတ်ဖော်ဘဲ အဆင့်မြင့် ဒီဇိုင်းများကို ပေးပါသည်။
တိုင်းတာမှု ရလဒ်များ
စွမ်းဆောင်ရည်နှင့် နည်းပညာ တွေ့ရှိချက်များတွင် ၎င်းတို့၏ ရက်စွဲ၊ နည်းလမ်း၊ ပတ်ဝန်းကျင်၊ နမူနာနှင့် ထောက်ခံဒေတာ ပါဝင်ရပါမည်။
မူဝါဒ ဖော်ပြချက်များ
ယင်းတို့သည် ထုတ်ကုန်လည်ပတ်မှု၊ လုံခြုံရေးနှင့် ကိုယ်ရေးလုံခြုံမှု ကတိကဝတ်များကို လွှမ်းခြုံပါသည်။ မူဝါဒဖော်ပြချက်ကို လွတ်လပ်သော အတည်ပြုချက်အဖြစ် မတင်ပြပါ။
ဤခွဲခြားမှုသည် မူဝါဒ၊ အတွင်းပိုင်းစမ်းသပ်မှု၊ အကောင်အထည်ဖော်မှု အသေးစိတ်နှင့် လွတ်လပ်သော သုတေသနတို့ ရောထွေးခြင်းကို တားဆီးရန် ကူညီပါသည်။ တရားဝင် ထုတ်ဝေမှုမှတ်တမ်းများတွင် ပလက်ဖောင်း၊ ဗားရှင်း၊ ရက်စွဲ၊ ရင်းမြစ်၊ ရရှိနိုင်သော checksum များ၊ အရေးကြီးသော လုံခြုံရေးနှင့် တွဲသုံးနိုင်မှု ပြောင်းလဲမှုများ၊ သိရှိထားသော ကန့်သတ်ချက်များနှင့် ပြောင်းလဲ၍မရသော Git tag များ သို့မဟုတ် Release လင့်ခ်များကို တဖြည်းဖြည်း ထည့်သွင်းသွားပါမည်။
3. အများသိ လုံခြုံရေးနှင့် ကိုယ်ရေးလုံခြုံမှု မော်ဒယ်
လုံခြုံရေးကို “လုံခြုံသည်” သို့မဟုတ် “encrypt လုပ်ထားသည်” ကဲ့သို့ စကားလုံးများဖြင့်သာ ဖော်ပြ၍ မရပါ။
ထို့ကြောင့် ပထမအဆင့်တွင် နောက်ပိုင်း စမ်းသပ်မှုများ၊ အစီရင်ခံစာများနှင့် လွတ်လပ်သော အကဲဖြတ်မှုများက စစ်ဆေးသင့်သည့် အန္တရာယ်များကို သတ်မှတ်ထားသော လုံခြုံရေးနှင့် ကိုယ်ရေးလုံခြုံမှု မော်ဒယ်ကို ထုတ်ပြန်ထားပါသည်။
လက်ရှိ ခြိမ်းခြောက်မှုနယ်ပယ်တွင် ပါဝင်သည်များ:
- စက်တွင်းကွန်ရက် traffic ကို စောင့်ကြည့်ခြင်း;
- DNS ယိုစိမ့်မှု;
- IPv6 ယိုစိမ့်မှု;
- WebRTC ယိုစိမ့်မှု;
- ပြန်လည်ချိတ်ဆက်စဉ် route ပြတ်တောက်ခြင်း;
- Wi-Fi နှင့် မိုဘိုင်းကွန်ရက်များအကြား ပြောင်းရွှေ့စဉ် traffic ကာကွယ်ခြင်း;
- အဝေးမှ configuration ကို အန္တရာယ်ရှိစွာ ပြောင်းလဲခြင်း;
- Configuration ဗားရှင်း နိမ့်ချခြင်း;
- စက်ပစ္စည်းပေါ်တွင် သိမ်းဆည်းထားသော credential များ ပေါက်ကြားခြင်း;
- ပြင်ပ dependency အန္တရာယ်;
- Build နှင့် release supply-chain အန္တရာယ်;
- အကောင့် အလွဲသုံးစားမှု;
- ခွင့်ပြုချက်မရှိသော session များ;
- Diagnostics သို့မဟုတ် support ဒေတာကို အလွန်အကျွံ စုဆောင်းခြင်း။
အများသိ လုံခြုံရေးစမ်းသပ်မှုတိုင်းတွင် ဖော်ပြရမည်များ:
- သက်ရောက်သော client ဗားရှင်း;
- Operating system;
- စမ်းသပ်သည့် ရက်စွဲ;
- ကွန်ရက် အခြေအနေများ;
- နည်းလမ်း;
- မျှော်လင့်ထားသော အပြုအမူ;
- တွေ့ရှိရသော အပြုအမူ;
- သိရှိထားသော ကန့်သတ်ချက်များ။
မော်ဒယ်သည် မူဝါဒ၊ ဗိသုကာစာတမ်း၊ အတွင်းပိုင်းစမ်းသပ်မှုနှင့် ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုတို့ကိုလည်း ခွဲခြားထားပါသည်။
အမည်ဖော်ပြထားသော လွတ်လပ်သည့် အကဲဖြတ်သူ သို့မဟုတ် သုတေသီ၏ အစီရင်ခံစာကို အတည်ပြုနိုင်သော အစီရင်ခံစာဖြင့် ထောက်ခံထားမှသာ ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုဟု အမှတ်အသားပြုနိုင်ပါသည်။ ဤအချက်က အနာဂတ် လုံခြုံရေးအစီရင်ခံစာများအတွက် တသမတ်တည်းဖြစ်ပြီး စစ်ဆေးနိုင်သော စံနှုန်းကို ဖန်တီးပေးပါသည်။
4. ပြန်လည်ထုတ်လုပ်နိုင်သော VPN စွမ်းဆောင်ရည် စမ်းသပ်နည်း
VPN စွမ်းဆောင်ရည်ကို ပြင်ပအချက်များစွာက သက်ရောက်ပါသည်:
- စမ်းသပ်သူ၏ နိုင်ငံ သို့မဟုတ် ဒေသ;
- Broadband သို့မဟုတ် မိုဘိုင်း ဝန်ဆောင်မှုပေးသူ;
- စက်တွင်းကွန်ရက် အရည်အသွေး;
- နိုင်ငံတကာ transit;
- နေ့၏ အချိန်;
- စက်ပစ္စည်း စွမ်းဆောင်ရည်;
- Client ဗားရှင်း;
- ပရိုတိုကော;
- ဆာဗာ ဝန်အား;
- စမ်းသပ်ဆာဗာ;
- ဦးတည်ရာ ဒေသ။
ထို့ကြောင့် အမြင့်ဆုံး အမြန်နှုန်းတစ်ခုတည်းသည် အသုံးပြုသူတိုင်း၏ အတွေ့အကြုံကို ကိုယ်စားမပြုပါ။
ထုတ်ပြန်ထားသော နည်းလမ်းအရ မှတ်တမ်းတိုင်းတွင် ပါဝင်ရမည်များ:
- UTC စမ်းသပ်ချိန်;
- ထူးခြားသော စမ်းသပ်မှု identifier;
- Client ဗားရှင်း;
- Operating system;
- စက်ပစ္စည်း အမျိုးအစား;
- ပရိုတိုကော label;
- နည်းလမ်း ဗားရှင်း;
- စမ်းသပ်သည့် နိုင်ငံ သို့မဟုတ် ဒေသ;
- ကွန်ရက် အမျိုးအစား;
- နမူနာ အရေအတွက်;
- အထောက်အထား အဆင့်။
အဓိက တိုင်းတာချက်များမှာ:
ချိတ်ဆက်မှု latency ၏ median
အကောင်းဆုံးရလဒ်တစ်ခုတည်း မဟုတ်ဘဲ နမူနာများစွာအကြား millisecond ဖြင့် latency ၏ median တန်ဖိုး။
95th-percentile jitter
နမူနာအများစုတွင် တွေ့ရှိရသော latency ကွဲလွဲမှု၏ မြင့်မားသောအဆင့်။
Packet ပျောက်ဆုံးမှုနှုန်း
စမ်းသပ်စဉ် ပျောက်ဆုံးသွားသော packet များ၏ အချိုး။
ဒေါင်းလုဒ်အမြန်နှုန်း၏ median
နမူနာများစွာအကြား Mbps ဖြင့် ဒေါင်းလုဒ် throughput ၏ median တန်ဖိုး။
အပ်လုဒ်အမြန်နှုန်း၏ median
နမူနာများစွာအကြား Mbps ဖြင့် အပ်လုဒ် throughput ၏ median တန်ဖိုး။
ချိတ်ဆက်မှု အောင်မြင်နှုန်း
ထပ်ခါထပ်ခါ ချိတ်ဆက်မှုစမ်းသပ်ခြင်းတွင် အောင်မြင်သော ကြိုးပမ်းမှုများ၏ ရာခိုင်နှုန်း။
ပြန်လည်ချိတ်ဆက်ချိန်၏ median
ကွန်ရက်ပြောင်းလဲမှု သို့မဟုတ် ပြတ်တောက်မှုနောက် ပြန်လည်ကောင်းမွန်ရန် လိုအပ်သော အချိန်၏ median တန်ဖိုး။
တရားဝင် လုပ်ငန်းစဉ်မှာ:
- VPN မပါဘဲ အခြေခံကွန်ရက်ကို မှတ်တမ်းတင်ပါ;
- စက်ပစ္စည်း၊ ကွန်ရက်၊ ဦးတည်ရာနှင့် နမူနာယူချိန်ကို မပြောင်းလဲဘဲ ထားပါ;
- ရေတွက်ခြင်းမပြုသော warm-up ကို လုပ်ဆောင်ပါ;
- ချိတ်ဆက်မှုနှင့် လွှဲပြောင်းမှု စမ်းသပ်ချက်များကို ထပ်ခါထပ်ခါ ပြုလုပ်ပါ;
- မအောင်မြင်သော နမူနာများကို တိတ်တဆိတ် မဖျက်ဘဲ ထိန်းသိမ်းထားပါ;
- စုစည်းရလဒ်များနှင့် စက်ဖတ်နိုင်သော ဒေတာကို ထုတ်ပြန်ပါ;
- သိရှိထားသော ကန့်သတ်ချက်များ၊ ပြတ်တောက်မှုများနှင့် ဖယ်ထုတ်ထားသော နမူနာများကို ထုတ်ဖော်ပါ။
တူညီသောအခြေအနေ နှိုင်းယှဉ်စမ်းသပ်မှုများသည် နှိုင်းယှဉ်နိုင်သော အခြေအနေများကို အသုံးပြုရပါမည်။ ဝန်ဆောင်မှုပေးသူ၊ route၊ စက်ပစ္စည်း၊ စမ်းသပ်ဆာဗာ သို့မဟုတ် နမူနာယူချိန် ပြောင်းလဲမှုကို ထုတ်ဖော်ရပါမည်။ စမ်းသပ်မှု ဆက်လက်လုပ်ဆောင်သည်နှင့်အမျှ ရက်စွဲပါ၊ ဗားရှင်းသတ်မှတ်ထားပြီး ဒေါင်းလုဒ်လုပ်နိုင်သော dataset များကို ဤနည်းလမ်းအောက်တွင် ထပ်ထည့်သွားပါမည်။
5. စက်ဖတ်နိုင်သော အများသိ စမ်းသပ်ဒေတာပုံစံ
လူဖတ်နိုင်သော အစီရင်ခံစာများနှင့်အတူ SingLinkVPN သည် စက်ဖတ်နိုင်သော စွမ်းဆောင်ရည်ဒေတာပုံစံကို ထုတ်ပြန်ပါသည်။
JSON Schema အရ စွမ်းဆောင်ရည်မှတ်တမ်းတိုင်းတွင် ပါဝင်ရမည်များ:
- test_id: စမ်းသပ်မှု identifier;
- tested_at_utc: UTC စမ်းသပ်ချိန်;
- client_version: client ဗားရှင်း;
- platform: စမ်းသပ်သည့် ပလက်ဖောင်း;
- protocol_label: ပရိုတိုကော label;
- country: စမ်းသပ်သည့် နိုင်ငံ သို့မဟုတ် ဒေသ;
- network_type: ကွန်ရက် အမျိုးအစား;
- sample_count: နမူနာ အရေအတွက်;
- latency_ms_median: latency ၏ median;
- jitter_ms_p95: 95th-percentile jitter;
- packet_loss_pct: packet ပျောက်ဆုံးမှုနှုန်း;
- download_mbps_median: ဒေါင်းလုဒ်အမြန်နှုန်း၏ median;
- upload_mbps_median: အပ်လုဒ်အမြန်နှုန်း၏ median;
- connection_success_pct: ချိတ်ဆက်မှု အောင်မြင်နှုန်း;
- reconnect_ms_median: ပြန်လည်ချိတ်ဆက်ချိန်၏ median;
- methodology_version: နည်းလမ်း ဗားရှင်း;
- evidence_level: အထောက်အထား အဆင့်။
အထောက်အထားကို လက်ရှိတွင် အောက်ပါအတိုင်း အမှတ်အသားပြုနိုင်ပါသည်:
- အတွင်းပိုင်း စမ်းသပ်မှု;
- လွတ်လပ်သော ပြန်လည်ထုတ်လုပ်မှု;
- ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှု။
ဤပုံစံသည် developer များနှင့် သုတေသီများကို လိုအပ်သော field များနှင့် တန်ဖိုးအပိုင်းအခြားများကို တိုက်ရိုက် စစ်ဆေးနိုင်စေပြီး ဇယားများ သို့မဟုတ် ဇာတ်ကြောင်းပုံစံ ကောက်ချက်များကိုသာ အားမကိုးဘဲ ပြန်လည်ထုတ်လုပ်ခြင်းနှင့် နှိုင်းယှဉ်ခြင်းအတွက် တူညီသော ဖွဲ့စည်းပုံကို အသုံးပြုနိုင်စေပါသည်။
6. လုံခြုံရေး၊ စွမ်းဆောင်ရည်နှင့် ပွင့်လင်းမြင်သာမှု အစီရင်ခံစာများ
Repository တွင် အောက်ပါတို့ကို ဆက်လက်ထုတ်ပြန်ရန် သီးသန့် reports directory ပါဝင်ပါသည်:
- လုံခြုံရေး အစီရင်ခံစာများ;
- စွမ်းဆောင်ရည် အစီရင်ခံစာများ;
- ကိုယ်ရေးလုံခြုံမှု သုတေသန;
- ပွင့်လင်းမြင်သာမှု အစီရင်ခံစာများ;
- ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုများ;
- လွတ်လပ်စွာ ပြန်လည်ထုတ်လုပ်ထားသော ရလဒ်များ;
- အရေးကြီးသော လုံခြုံရေးပြင်ဆင်မှု အကြံပြုချက်များ။
ထုတ်ပြန်မီ တရားဝင်အစီရင်ခံစာတိုင်းတွင် ဖော်ပြရမည်များ:
- ထုတ်ပြန်သည့် ရက်စွဲ;
- ရေးသားသူ သို့မဟုတ် ထိန်းသိမ်းသူ;
- သက်ရောက်သော ထုတ်ကုန်ဗားရှင်း;
- နည်းလမ်း;
- ဒေတာ ရင်းမြစ်;
- အထောက်အထား အဆင့်;
- သိရှိထားသော ကန့်သတ်ချက်များ;
- ပြင်ဆင်မှု မှတ်တမ်း။
အတွင်းပိုင်းစမ်းသပ်မှုများနှင့် လွတ်လပ်သော အကဲဖြတ်မှုများသည် မတူညီသော label များကို အသုံးပြုပါသည်။ ပထမအဆင့်တွင် အစီရင်ခံစာဖွဲ့စည်းပုံ၊ အထောက်အထားစည်းမျဉ်းများနှင့် ဗားရှင်းသတ်မှတ်ရေး မူဘောင်ကို တည်ထောင်ထားပြီး အစီရင်ခံစာများကို တစ်ကြိမ်ထုတ်ပြန်ပြီး စွန့်ပစ်ခြင်းမျိုး မဟုတ်ဘဲ ၎င်းတို့၏ ဒေတာနှင့် သုံးသပ်ချက် အသင့်ဖြစ်သည်နှင့်အမျှ ထပ်ထည့်သွားပါမည်။
7. ပွင့်လင်းသော စစ်ဆေးရေးနှင့် သုတေသန ကိရိယာများ
ပထမအဆင့်တွင် Python သုတေသနနှင့် စစ်ဆေးရေး ကိရိယာအချို့ကိုလည်း ထုတ်ပြန်ထားပါသည်။
publication_guard.py
ဤကိရိယာသည် စာတမ်းများ၊ ဒေတာနှင့် ကိရိယာများကို ထုတ်ပြန်မီ အောက်ပါတို့အတွက် စစ်ဆေးပါသည်:
- Credential များ;
- Key ပုံစံများ;
- ကိုယ်ပိုင် path များ;
- Archive များ;
- Binary ဖိုင်များ;
- ထုတ်ပြန်ရန် ခွင့်မပြုရသေးသော source code အမျိုးအစားများ;
- အရွယ်အစား အလွန်ကြီးသော ဖိုင်များ;
- အသုံးများသော live secret ပုံစံများ;
- အရေးကြီးသော စနစ်များကို ဖော်ပြနိုင်သည့် အကြောင်းအရာ။
validate_benchmark.py
ဤကိရိယာသည် စွမ်းဆောင်ရည်စမ်းသပ်မှု CSV ဖိုင်များကို စစ်ဆေးပါသည်၊ ယင်းတွင်:
- ကော်လံ အမည်များ;
- လိုအပ်သော field များ;
- ကိန်းဂဏန်း အပိုင်းအခြားများ;
- အထောက်အထား label များ;
- စမ်းသပ်ဒေတာ ဖွဲ့စည်းပုံ။
check_relative_links.py
ဤကိရိယာသည် Markdown ရှိ relative link များကို စစ်ဆေးပြီး ကိုးကားထားသော အများသိဖိုင်များ ရှိနေကြောင်း အတည်ပြုပါသည်။
check_multilingual_seo.py
ဤကိရိယာသည် ဘာသာစကားစုံ စာတမ်းများနှင့် ရှာဖွေမှုဆိုင်ရာ ဖွဲ့စည်းပုံကို စစ်ဆေးပြီး အင်္ဂလိပ်၊ ရိုးရှင်းသော တရုတ်နှင့် ရိုးရာ တရုတ် ပစ္စည်းများ ကိုက်ညီနေစေရန် ကူညီပါသည်။
ဤကိရိယာများသည် VPN ချိတ်ဆက်မှု core မဟုတ်ပါ။ ၎င်းတို့သည် ပုံစံအမှားများ၊ ပျက်နေသော လင့်ခ်များ၊ အရေးကြီးသော အချက်အလက်များ မတော်တဆ ပေါက်ကြားခြင်းနှင့် ဗားရှင်း မကိုက်ညီမှုတို့ကို လျှော့ချရန် ရည်ရွယ်သော ထုတ်ပြန်ရေး အခြေခံအဆောက်အအုံ ဖြစ်ပါသည်။ ပြင်ပ ပံ့ပိုးကူညီသူများသည် ၎င်းတို့၏ တင်သွင်းချက်များတွင် တူညီသော ကိရိယာများကို အသုံးပြုနိုင်ပါသည်။
8. အဆင့်ငါးဆင့်ပါ အများသိ အထောက်အထား စံနှုန်း
အဆင့် တစ်: မူဝါဒ ဖော်ပြချက်
ထိန်းသိမ်းသူက ထုတ်ပြန်သော ထုတ်ကုန်၊ လုံခြုံရေး၊ လုပ်ငန်းလည်ပတ်မှု သို့မဟုတ် ကိုယ်ရေးလုံခြုံမှု ကတိကဝတ်။ ၎င်းသည် အများသိ ကတိကဝတ်တစ်ခုဖြစ်ပြီး အကောင်အထည်ဖော်မှု သက်သေ သို့မဟုတ် လွတ်လပ်သော စစ်ဆေးမှု မဟုတ်ပါ။
အဆင့် နှစ်: အကောင်အထည်ဖော်မှု စာတမ်း
ဆာဗာလိပ်စာများ၊ credential များ၊ ကိုယ်ပိုင် API များ သို့မဟုတ် အခြား အရေးကြီးသော အချက်အလက်များ မပါဝင်သည့် ဗားရှင်းသတ်မှတ်ထားသော အဆင့်မြင့် နည်းပညာဖော်ပြချက်။
အဆင့် သုံး: အတွင်းပိုင်း စမ်းသပ်မှု
ရက်စွဲ၊ ဗားရှင်း၊ ပတ်ဝန်းကျင်နှင့် ဒေတာပါသော အများသိ နည်းလမ်းအောက်တွင် SingLinkLabs က လုပ်ဆောင်သော စမ်းသပ်မှု။
အဆင့် လေး: ပြန်လည်ထုတ်လုပ်ထားသော ရလဒ်
အခြား developer သို့မဟုတ် သုတေသီတစ်ဦးက တူညီသော နည်းလမ်းနှင့် အများသိ ဒေတာကို အသုံးပြု၍ ရရှိသော လွတ်လပ်သည့် ရလဒ်။
အဆင့် ငါး: ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှု
အတည်ပြုနိုင်သော တရားဝင်အစီရင်ခံစာပါရှိသည့် အမည်ဖော်ပြထားသော လွတ်လပ်သည့် သုတေသီ သို့မဟုတ် အဖွဲ့အစည်းတစ်ခု၏ အကဲဖြတ်မှု။
ဤအဆင့်များကို အပြန်အလှန် အစားထိုး၍ မရပါ။ အတွင်းပိုင်းစမ်းသပ်မှုများကို ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုဟု အမှတ်အသား မပြုနိုင်ပါ၊ မူဝါဒကို လွတ်လပ်သော အတည်ပြုချက်အဖြစ် မမှတ်ယူနိုင်ပါ၊ နည်းလမ်းတစ်ခု ထုတ်ပြန်ခြင်းသည် ရလဒ်ကို ပြန်လည်ထုတ်လုပ်ပြီးဖြစ်သည်ဟု မဆိုလိုပါ။
အစီရင်ခံစာတိုင်းက ဖြေဆိုသင့်သည်မှာ: ကောက်ချက်ကို မည်သူ၊ မည်သည့်အချိန်၊ မည်သည့်ဗားရှင်းဖြင့်၊ မည်သည့်နည်းလမ်းဖြင့် ရရှိခဲ့သနည်း?
အရေးကြီးသော ပြင်ဆင်မှုများအတွက် Git commit အသစ်နှင့် changelog မှတ်တမ်း လိုအပ်ပါသည်။ ထုတ်ပြန်ပြီးသော ဒေတာကို တိတ်တဆိတ် အစားထိုး၍ မရဘဲ အစားထိုးခံရသော ဒေတာကို ခွဲခြားသိရှိနိုင်အောင် ထားရှိရပါမည်။
9. အားနည်းချက် အစီရင်ခံခြင်းနှင့် တာဝန်ယူမှုရှိသော ထုတ်ဖော်ခြင်း
ပွင့်လင်းစွာ ထုတ်ပြန်ခြင်းနှင့် လုံခြုံစွာ ထုတ်ဖော်ခြင်းတို့သည် အတူတကွ လုပ်ဆောင်ရပါမည်။
ပြင်ဆင်ရသေးသော အားနည်းချက်များ၊ live credential များ၊ ကိုယ်ပိုင် endpoint များ၊ ဆာဗာလိပ်စာများနှင့် အသုံးပြုသူဒေတာကို အများသိ Issue တွင် မတင်ရပါ။
အားနည်းချက် အစီရင်ခံစာများကို လုံခြုံရေး အီးမေးလ်လိပ်စာ သို့မဟုတ် GitHub Security Advisories မှတစ်ဆင့် သီးသန့် ပေးပို့ရမည်ဖြစ်ပြီး လုံခြုံရေးထုတ်ဖော်မှုအဖြစ် ရှင်းလင်းစွာ ဖော်ပြရပါမည်။ လုံခြုံရေး အီးမေးလ်လိပ်စာ ထုတ်ပြန်ထားခြင်း မရှိပါက repository ၏ `SECURITY.md` ကို ကြည့်ရှုပြီး လိပ်စာကို ခန့်မှန်းမပို့ပါနှင့်။
အစီရင်ခံစာတွင် ပါဝင်သင့်သည်များ:
- သက်ရောက်သော ဗားရှင်း;
- သက်ရောက်သော ပလက်ဖောင်း;
- ပြန်လည်ဖြစ်ပေါ်စေနိုင်သော အခြေအနေများ;
- လုံခြုံရေး သက်ရောက်မှု;
- အစီရင်ခံသူကို ဆက်သွယ်ရန် လုံခြုံသော နည်းလမ်း;
- အမှန်တကယ် အသုံးပြုသူဒေတာ မပါဝင်သော ပြန်လည်ဖြစ်ပေါ်စေရေး ပစ္စည်း။
လုံခြုံရေး အစီရင်ခံစာများ ဖြတ်သန်းရသော အဆင့်များ:
- ဦးစားပေးခွဲခြားခြင်းနှင့် အတည်ပြုခြင်း;
- သက်ရောက်မှု အကဲဖြတ်ခြင်း;
- ပြုပြင်ခြင်း;
- ပြင်ဆင်ထားသော ဗားရှင်း ထုတ်ဝေခြင်း;
- သင့်လျော်သော အပ်ဒိတ် ကာလ;
- လုံခြုံရေး အကြံပြုချက် ထုတ်ပြန်ခြင်း။
အများသိ အကြံပြုချက်များသည် အတည်ပြုထားသော သက်ရောက်မှုကို ယူဆချက်ဆိုင်ရာ အန္တရာယ်မှ ခွဲခြားပြီး သက်ရောက်သော ဗားရှင်းများနှင့် ပြင်ဆင်ထားသော ဗားရှင်းများကို ဖော်ပြပါသည်။
10. အများသိ ဒေတာဆိုသည်မှာ အသုံးပြုသူဒေတာကို အများသိ ထုတ်ပြန်ခြင်း မဟုတ်ပါ
နည်းပညာ ပွင့်လင်းမြင်သာမှုသည် အသုံးပြုသူ၏ ကိုယ်ရေးလုံခြုံမှုကို ပေးဆပ်၍ ရရှိခြင်း မဖြစ်ရပါ။
Repository သည် Issue များ၊ pull request များ၊ dataset များ သို့မဟုတ် သုတေသနစာတမ်းများတွင် အောက်ပါတို့ ပါဝင်ခြင်းကို တားမြစ်ထားပါသည်:
- ကိုယ်ရေးကိုယ်တာ ဒေတာ;
- အကောင့် identifier များ;
- ငွေပေးချေမှု ဒေတာ;
- Support ဆွေးနွေးချက်များ;
- ကိုယ်ပိုင် IP လိပ်စာများ;
- Access token များ;
- Production credential များ;
- Production log များ;
- မူရင်း production traffic;
- အသုံးပြုသူ တစ်ဦးချင်းကို ခွဲခြားသိရှိနိုင်သော စမ်းသပ်ဒေတာ။
စွမ်းဆောင်ရည်ဒေတာကို စုစည်းထားရမည် သို့မဟုတ် ကိုယ်ရေးအထောက်အထား ဖယ်ရှားထားရပါမည်။ သုံးသပ်သူများသည် ထုတ်ပြန်မီ dataset တွင် အသုံးပြုသူအဆင့် ဒေတာ၊ credential များ သို့မဟုတ် အမှန်တကယ် အသုံးပြုသူကို ခွဲခြားသိရှိနိုင်သော ပစ္စည်းများ မပါဝင်ကြောင်း အတည်ပြုရပါမည်။
ဤအစီအစဉ်သည် နည်းပညာ၊ နည်းလမ်းများ၊ အစီရင်ခံစာများနှင့် သုံးသပ်ပြီးသော source code ကို ပွင့်လင်းမြင်သာစေပါသည်။ ၎င်းသည် အသုံးပြုသူ အချက်အလက်၊ လုံခြုံရေးအရ အရေးကြီးသော ဆာဗာဒေတာ သို့မဟုတ် production credential များကို မထုတ်ပြန်ပါ။
11. အသိုင်းအဝိုင်းက မည်သို့ ပါဝင်နိုင်သနည်း?
Developer များ၊ လုံခြုံရေး သုတေသီများနှင့် အသိုင်းအဝိုင်းဝင်များ လုပ်ဆောင်နိုင်သည်များ:
- နည်းပညာစာတမ်းများကို တိုးတက်အောင် ပြုလုပ်ခြင်း;
- စာတမ်းအမှားများကို ပြင်ဆင်ခြင်း;
- ရိုးရာ တရုတ်၊ ရိုးရှင်းသော တရုတ်နှင့် အင်္ဂလိပ် ဘာသာပြန်ချက်များကို တိုးတက်အောင် ပြုလုပ်ခြင်း;
- စမ်းသပ်နည်း၏ ပြန်လည်ထုတ်လုပ်နိုင်မှုကို တိုးတက်အောင် ပြုလုပ်ခြင်း;
- အများသိ ဒေတာအရည်အသွေးကို တိုးတက်အောင် ပြုလုပ်ခြင်း;
- အများသုံးစွဲနိုင်မှု (accessibility) ကို တိုးတက်အောင် ပြုလုပ်ခြင်း;
- သုတေသန ကိရိယာများ ထပ်ထည့်ခြင်း;
- ပုံစံစစ်ဆေးမှုကို တိုးတက်အောင် ပြုလုပ်ခြင်း;
- ပျက်နေသော လင့်ခ်များကို ရှာဖွေခြင်း;
- အများသိ သုတေသနနည်းလမ်း အသစ်များကို အဆိုပြုခြင်း;
- စမ်းသပ်မှု ဒီဇိုင်း တိုးတက်ရေး အကြံပြုခြင်း;
- လုံခြုံရေးစည်းမျဉ်းများအတွင်း အများသိ စမ်းသပ်မှုများကို ပြန်လည်ထုတ်လုပ်ခြင်း။
ပံ့ပိုးမှုများတွင် မပါဝင်ရမည့်အရာများ:
- ခွင့်ပြုချက်မရသေးသော ထုတ်ကုန် source code;
- ကိုယ်ပိုင် အခြေခံအဆောက်အအုံ အချက်အလက်;
- Credential များ သို့မဟုတ် key များ;
- အသုံးပြုသူ ဒေတာ;
- ကိုယ်ပိုင် endpoint များ;
- Production log များ;
- ပြင်ဆင်ရသေးသော အားနည်းချက်အတွက် ပြည့်စုံသော exploit ညွှန်ကြားချက်များ။
တိုင်းတာနိုင်သော ပံ့ပိုးမှုတိုင်းတွင် ၎င်း၏ ရင်းမြစ်၊ နည်းလမ်း၊ ရက်စွဲနှင့် ကန့်သတ်ချက်များကိုလည်း ဖော်ပြရပါမည်။
ဤအရာက SingLinkVPN သည် ယခု လုံးဝ open source ဖြစ်ပြီဟု ဆိုလိုသလား?
မဆိုလိုပါ။ ဤသည်မှာ ပထမအဆင့်သာ ဖြစ်ပြီး နောက်ဆုံးအဆင့် မဟုတ်ပါ။
ပထမအဆင့်တွင် ဦးစားပေးသည်များ:
- နည်းပညာ စာတမ်းများ;
- ဖွံ့ဖြိုးရေး ဗိသုကာ;
- လုံခြုံရေးနှင့် ကိုယ်ရေးလုံခြုံမှု မော်ဒယ်များ;
- စွမ်းဆောင်ရည် စမ်းသပ်နည်းများ;
- စက်ဖတ်နိုင်သော ဒေတာပုံစံများ;
- စစ်ဆေးရေး ကိရိယာများ;
- အထောက်အထားနှင့် ထုတ်ပြန်ရေး မူဝါဒ;
- တာဝန်ယူမှုရှိသော ထုတ်ဖော်ခြင်း;
- နောက်ပိုင်း အစီရင်ခံစာများနှင့် source code ထုတ်ပြန်မှုများအတွက် မူဘောင်။
ပထမအဆင့်တွင် မပါဝင်သည်များ:
- ပြည့်စုံသော VPN client source;
- ဆာဗာဘက် source code;
- ငွေပေးချေမှုစနစ် source code;
- Production ဆာဗာ configuration;
- ကိုယ်ပိုင် API များ;
- အထောက်အထားစစ်ဆေးရေး credential များ;
- အရေးကြီးသော ပိတ်ဆို့မှုဆန့်ကျင်ရေး သို့မဟုတ် ကွန်ရက်ရန်လိုမှုဆိုင်ရာ အကောင်အထည်ဖော်မှု အသေးစိတ်များ;
- ပြည့်စုံသော core ပရိုတိုကော source code။
ယင်းတို့ကို အစီအစဉ်တစ်ခုလုံးမှ မဖြစ်မနေ ဖယ်ထုတ်ထားခြင်း မဟုတ်ပါ။ ထုတ်ကုန် module တစ်ခုစီသည် သီးခြား လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှု၊ dependency နှင့် လိုင်စင် သုံးသပ်ချက် လိုအပ်ပါသည်။
သုံးသပ်မှု ပြီးဆုံးပါက နောက်ပိုင်း ထုတ်ပြန်မှုများတွင် ပါဝင်မည်များ:
- ရှင်းလင်းစွာ သတ်မှတ်ထားသော open-source directory;
- သက်ဆိုင်ရာ လိုင်စင်;
- ဗားရှင်း မှတ်တမ်း;
- လုံခြုံရေး နယ်နိမိတ်များ;
- Changelog;
- ထုတ်ပြန်သည့် ရက်စွဲ;
- အတည်ပြုနိုင်သော Git tag သို့မဟုတ် Release။
ထုတ်ပြန်ရေးစံနှုန်းများ၊ ဒေတာဖွဲ့စည်းပုံများ၊ လုံခြုံရေးစည်းမျဉ်းများနှင့် သုတေသနကိရိယာများကို ဦးစွာ တည်ဆောက်ခြင်းဖြင့် ပိုမိုလုံခြုံသော အခြေခံကို ဖန်တီးပြီး credential များ၊ အခြေခံအဆောက်အအုံ၊ အသုံးပြုသူဒေတာ သို့မဟုတ် တရားဝင် ပြန်လည်ဖြန့်ဝေ၍မရသော ပြင်ပ code များ ပေါက်ကြားမည့် အန္တရာယ်ကို လျှော့ချပါသည်။
နောက်ထပ်ပစ္စည်းများ ထုတ်ပြန်သည်နှင့်အမျှ လိုင်စင်များကို သတ်မှတ်ပါမည်
လက်ရှိ repository ကို အများသိ ကြည့်ရှုနိုင်သော်လည်း code နှင့် အကြောင်းအရာများအတွက် ပြည့်စုံသော ပြန်လည်အသုံးပြုခွင့် လိုင်စင်များကို ပစ္စည်းနှင့် source code အမျိုးအစားအလိုက် စီစဉ်နေဆဲ ဖြစ်ပါသည်။
ရှင်းလင်းသော လိုင်စင် ထုတ်ပြန်ခြင်း မပြုမချင်း အသုံးပြုသူများသည် အောက်ပါအခွင့်အရေးများ ရရှိပြီဟု မယူဆရပါ:
- ကူးယူခွင့်;
- ပြုပြင်ခွင့်;
- ပြန်လည်ဖြန့်ဝေခွင့်;
- စီးပွားရေးအတွက် အသုံးပြုခွင့်;
- လိုင်စင်ပြန်ပေးခွင့်။
ရှင်းလင်းသော လိုင်စင်သည် တရားဝင် open source ၏ မရှိမဖြစ် အစိတ်အပိုင်း ဖြစ်ပါသည်။ နောက်ပိုင်း source၊ စာတမ်း၊ ဒေတာ သို့မဟုတ် ကိရိယာ ထုတ်ပြန်မှုတိုင်းတွင် ၎င်း၏ dependency များ၊ upstream လိုင်စင်များနှင့် ရည်ရွယ်ထားသော အသုံးပြုမှုနှင့် သင့်လျော်သော စည်းကမ်းချက်များ ပါဝင်ပါမည်။
ဤနည်းဖြင့် module တစ်ခု၏ လိုင်စင်ကို အခြား module တစ်ခုတွင် မှားယွင်းစွာ အသုံးချခြင်းကို ရှောင်ရှားပြီး ပံ့ပိုးကူညီသူများ၊ upstream ပရောဂျက်များနှင့် downstream အသုံးပြုသူများကို ကာကွယ်ပါသည်။
အစီအစဉ်၏ ကာလရှည် ဦးတည်ချက်
ဦးတည်ချက်မှာ ရှင်းလင်းပါသည်: အများသိ၊ အတည်ပြုနိုင်ပြီး ပြန်လည်ထုတ်လုပ်နိုင်သော နည်းပညာပစ္စည်း ပမာဏကို အဆက်မပြတ် တိုးမြှင့်သွားရန် ဖြစ်ပါသည်။
1. အများသိ နည်းပညာစာတမ်းများကို ဆက်လက် ချဲ့ထွင်ခြင်း
ယင်းတွင် ချိတ်ဆက်မှု သက်တမ်းစက်ဝန်းများ၊ routing၊ DNS၊ ကွန်ရက်ပြောင်းလဲမှုများ၊ လုံခြုံသော configuration နှင့် မတူညီသော ပလက်ဖောင်းများပေါ်ရှိ စမ်းသပ်မှုတို့ ပါဝင်ပါသည်။
2. ဗားရှင်းသတ်မှတ်ထားသော ထုတ်ကုန်မှတ်တမ်းများကို ဆက်လက် ထုတ်ပြန်ခြင်း
မှတ်တမ်းများတွင် ပလက်ဖောင်းများ၊ ဗားရှင်းများ၊ ရက်စွဲများ၊ checksum များ၊ အရေးကြီးသော ပြောင်းလဲမှုများ၊ သိရှိထားသော ကန့်သတ်ချက်များနှင့် တည်ငြိမ်သော ကိုးကားလင့်ခ်များကို ထပ်ထည့်ပါမည်။
3. အမှန်တကယ် စွမ်းဆောင်ရည် dataset များကို ဆက်လက် ထပ်ထည့်ခြင်း
ရက်စွဲပါ၊ ဗားရှင်းသတ်မှတ်ထား၊ ပတ်ဝန်းကျင်အလိုက် သတ်မှတ်ထားပြီး စက်ဖတ်နိုင်သော ဒေတာကို အများသိ နည်းလမ်းအောက်တွင် ထုတ်ပြန်ပါမည်။
4. လုံခြုံရေး၊ စွမ်းဆောင်ရည်နှင့် ပွင့်လင်းမြင်သာမှု အစီရင်ခံစာများကို ဆက်လက် ထုတ်ပြန်ခြင်း
အစီရင်ခံစာများသည် မူဝါဒ၊ အတွင်းပိုင်းစမ်းသပ်မှု၊ လွတ်လပ်သော ပြန်လည်ထုတ်လုပ်မှုနှင့် ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုတို့ကို ခွဲခြားပါမည်။
5. လွတ်လပ်သော ပြန်လည်ထုတ်လုပ်မှုကို အားပေးခြင်း
သုတေသီများသည် မတူညီသော ကွန်ရက်များ၊ စက်ပစ္စည်းများနှင့် ဒေသများကို နှိုင်းယှဉ်ရန် တူညီသော နည်းလမ်းများနှင့် ပုံစံများကို အသုံးပြုနိုင်ပါသည်။
6. ထုတ်ပြန်ရေးနှင့် ဒေတာကိရိယာများကို ဆက်လက် တိုးတက်အောင် ပြုလုပ်ခြင်း
ပုံစံချခြင်း၊ လုံခြုံရေး၊ စာတမ်းနှင့် စမ်းသပ်မှု လုပ်ငန်းစဉ်ဆိုင်ရာ automation ကို ချဲ့ထွင်သွားပါမည်။
7. VPN ထုတ်ကုန် source code ကို အဆင့်လိုက် ထုတ်ပြန်ခြင်း
လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှု၊ dependency နှင့် လိုင်စင် သုံးသပ်ပြီးနောက် စီစဉ်ထားသော ပရိုတိုကော၊ client နှင့် အခြား အဓိကနည်းပညာများကို တဖြည်းဖြည်း ထုတ်ပြန်သွားပါမည်။
8. ပိုမိုပြည့်စုံသော ထုတ်ဖော်မှုနှင့် ပြင်ဆင်မှု မှတ်တမ်း တည်ဆောက်ခြင်း
အရေးကြီးသော လုံခြုံရေးပြဿနာများ၊ သက်ရောက်သော ဗားရှင်းများ၊ ပြင်ဆင်ထားသော ဗားရှင်းများနှင့် နောက်ဆက်တွဲ အပ်ဒိတ်များတွင် ရှင်းလင်းသော မှတ်တမ်း ရှိပါမည်။
Repository တွင် ကိုးကားရေး metadata ပါဝင်ပါသည်။ သုတေသီများသည် ရက်စွဲမပါသော ကြော်ငြာပစ္စည်းများအစား tag တပ်ထားသော Release များ၊ ပြောင်းလဲ၍မရသော commit များနှင့် အမှန်တကယ် အသုံးပြုခဲ့သော ရက်စွဲပါ အစီရင်ခံစာ သို့မဟုတ် dataset ကို ကိုးကားသင့်ပါသည်။
အများသိ ဖော်ပြချက်များမှ ရေရှည် အတည်ပြုနိုင်မှုဆီသို့
Open source သည် စတင်မိတ်ဆက်ပွဲ တစ်ခုသာ မဖြစ်သင့်ပါ။
ကာလရှည် open source အတွက် ထိန်းသိမ်းမှု၊ ပြင်ပပါဝင်မှု၊ ရှင်းလင်းသော လိုင်စင်၊ ဗားရှင်းစီမံခန့်ခွဲမှု၊ လုံခြုံရေးပြင်ဆင်မှုများနှင့် အခြားသူများ အတည်ပြု၍ ပြန်လည်ထုတ်လုပ်နိုင်သော နည်းပညာပစ္စည်းများ လိုအပ်ပါသည်။
စာတမ်းများ၊ သုတေသနနည်းလမ်းများ၊ ဒေတာပုံစံများ၊ အထောက်အထား စံနှုန်းများ၊ အစီရင်ခံစာ ဖွဲ့စည်းပုံများနှင့် စစ်ဆေးရေးကိရိယာများဖြင့် စတင်ခြင်းသည် ပိုမိုကျယ်ပြန့်သော source ထုတ်ပြန်မှုအတွက် အခြေခံကို တည်ဆောက်ပေးပါသည်။
ပထမ၊ အများသိ ဝင်ပေါက်တစ်ခု တည်ထောင်ခြင်း
ယခင်က ပြန့်ကျဲနေခဲ့သော နည်းပညာ၊ လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှုနှင့် စွမ်းဆောင်ရည် ပစ္စည်းများကို ထိန်းသိမ်းထားသော GitHub repository တစ်ခုတွင် စုစည်းထားပါသည်။
ဒုတိယ၊ ထုတ်ပြန်ရေး စံနှုန်းများ တည်ထောင်ခြင်း
အစီအစဉ်သည် မည်သည်တို့ကို ထုတ်ပြန်နိုင်သည်၊ စမ်းသပ်မှုများတွင် မည်သည့် field များ ပါဝင်ရမည်၊ အထောက်အထားကို မည်သို့ အမျိုးအစားခွဲမည်နှင့် ပြင်ဆင်မှုများကို မည်သို့ မှတ်တမ်းတင်မည်ကို သတ်မှတ်ထားပါသည်။
တတိယ၊ နောက်ပိုင်း open source အတွက် အခြေခံ တည်ထောင်ခြင်း
အစီရင်ခံစာများ၊ dataset များ၊ ပရိုတိုကောများ၊ client များနှင့် အခြား module များအတွက် လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှု၊ လိုင်စင်နှင့် ဗားရှင်းစီမံခန့်ခွဲမှု လုပ်ငန်းစဉ်များကို ပြင်ဆင်ထားပါသည်။
ထို့ကြောင့် ပထမအဆင့်သည် ကန့်သတ်ထားသော ကနဦးထုတ်ပြန်မှုကို ရလဒ်တစ်ခုလုံးအဖြစ် မတင်ပြပါ။ ၎င်းသည် ချဲ့ထွင်ရန် ဒီဇိုင်းထုတ်ထားသော လုပ်ငန်းစဉ်တစ်ခုကို ဖွင့်လှစ်ပေးခြင်း ဖြစ်ပါသည်။
မေးလေ့ရှိသော မေးခွန်းများ (FAQ)
SingLinkVPN သည် ၎င်း၏ open-source အစီအစဉ်ကို တရားဝင် စတင်ပြီးပြီလား?
ဟုတ်ကဲ့၊ SingLinkVPN သည် open-source အစီအစဉ်ကို တရားဝင် စတင်ပြီး ဖြစ်ပါသည်။ တရားဝင် open-source နှင့် နည်းပညာသုတေသန repository သည် အသက်ဝင်နေပြီဖြစ်ပြီး ပထမအဆင့် စာတမ်းများ၊ သုတေသနနည်းလမ်းများ၊ ဒေတာပုံစံများနှင့် စစ်ဆေးရေးကိရိယာများကို အများသိ ထုတ်ပြန်ထားပါသည်။
VPN source code အားလုံးကို ယခု အများသိ ထုတ်ပြန်ပြီးပြီလား?
မထုတ်ပြန်ရသေးပါ။ ပရိုတိုကော၊ client နှင့် အခြား ထုတ်ကုန် source code ကို လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှု၊ dependency နှင့် လိုင်စင် သုံးသပ်ပြီးနောက် module တစ်ခုချင်းစီ ထုတ်ပြန်သွားပါမည်။
အားလုံးကို တစ်ပြိုင်နက် ဘာကြောင့် မထုတ်ပြန်သနည်း?
VPN ထုတ်ကုန်တစ်ခုတွင် production ဆာဗာ အချက်အလက်များ၊ credential များ၊ ကိုယ်ပိုင် API များ၊ အရေးကြီးသော ကာကွယ်ရေးယန္တရားများ၊ ပြင်ပ dependency များနှင့် မတူညီသော လိုင်စင်အောက်ရှိ code များ ပါဝင်နိုင်သောကြောင့် အားလုံးကို တစ်ပြိုင်နက် မထုတ်ပြန်ပါ။
အဆင့်လိုက် သုံးသပ်ခြင်းသည် အသုံးပြုသူဒေတာ၊ အခြေခံအဆောက်အအုံ အသေးစိတ်များ၊ live credential များ သို့မဟုတ် ပြန်လည်ဖြန့်ဝေ၍မရသော ပြင်ပ code များ ပေါက်ကြားမည့် အန္တရာယ်ကို လျှော့ချပါသည်။
အမှန်တကယ် စွမ်းဆောင်ရည်ဒေတာကို ထုတ်ပြန်မည်လား?
ဟုတ်ကဲ့၊ အမှန်တကယ် စွမ်းဆောင်ရည်ဒေတာကို ထုတ်ပြန်ပါမည်။ နည်းလမ်းနှင့် စက်ဖတ်နိုင်သော ပုံစံသည် ပထမခြေလှမ်း ဖြစ်ပါသည်။ ရက်စွဲပါ၊ ဗားရှင်းသတ်မှတ်ထားသော ဒေတာနှင့် အစီရင်ခံစာများကို ပတ်ဝန်းကျင်၊ နမူနာအရွယ်အစားနှင့် ကန့်သတ်ချက်များနှင့်အတူ နောက်ဆက်တွဲ ထုတ်ပြန်ပါမည်။
လုံခြုံရေးနှင့် ပွင့်လင်းမြင်သာမှု အစီရင်ခံစာများကို အများသိ ထုတ်ပြန်မည်လား?
ဟုတ်ကဲ့၊ ထုတ်ပြန်ပါမည်။ Repository တွင် သီးသန့် အစီရင်ခံစာ directory နှင့် ထုတ်ပြန်ရေးစည်းမျဉ်းများ ရှိပါသည်။ အစီရင်ခံစာများကို ၎င်းတို့၏ အထောက်အထား၊ နည်းလမ်းများ၊ ဗားရှင်းများနှင့် ကန့်သတ်ချက်များ အသင့်ဖြစ်သောအခါ ထပ်ထည့်ပါမည်။
လုံခြုံရေးမော်ဒယ် ထုတ်ပြန်ခြင်းသည် ပြင်ပအဖွဲ့အစည်း စစ်ဆေးမှု ပြီးဆုံးပြီဟု ဆိုလိုသလား?
မဆိုလိုပါ။ လုံခြုံရေးမော်ဒယ်သည် နောက်ပိုင်း စမ်းသပ်မှုနှင့် အကဲဖြတ်မှုအတွက် အများသိ အခြေခံ ဖြစ်ပါသည်။
ပြင်ပအဖွဲ့အစည်း အကဲဖြတ်မှုတွင် အကဲဖြတ်သူကို ဖော်ပြပြီး အတည်ပြုနိုင်သော အစီရင်ခံစာသို့ လင့်ခ်ချိတ်ပါမည်။ ၎င်းကို အတွင်းပိုင်းစမ်းသပ်မှုအဖြစ် မတင်ပြပါ။
Developer များက ဘာတွေ ပံ့ပိုးနိုင်သနည်း?
Developer များသည် စာတမ်းများ၊ ဘာသာပြန်ခြင်း၊ သုတေသနနည်းလမ်းများ၊ ဒေတာအရည်အသွေး၊ အများသုံးစွဲနိုင်မှု၊ စစ်ဆေးရေးကိရိယာများနှင့် စမ်းသပ်မှု ပြန်လည်ထုတ်လုပ်ခြင်းတို့တွင် ပံ့ပိုးနိုင်ပါသည်။
လုံခြုံရေး အားနည်းချက်များကို အများသိ Issue တွင် မတင်ဘဲ သီးသန့် အစီရင်ခံရပါမည်။
အများသိဒေတာတွင် အသုံးပြုသူဒေတာ ပါဝင်မည်လား?
မပါဝင်ပါ။ အများသိဒေတာကို စုစည်းထားရမည် သို့မဟုတ် ကိုယ်ရေးအထောက်အထား ဖယ်ရှားထားရမည်ဖြစ်ပြီး အကောင့်ဒေတာ၊ ငွေပေးချေမှုဒေတာ၊ ကိုယ်ပိုင် IP လိပ်စာများ၊ access token များ၊ production log များ သို့မဟုတ် မူရင်း production traffic တို့ ပါဝင်၍ မရပါ။
နိဂုံး: open source သည် ကာလရှည် ယုံကြည်မှု၏ အစ ဖြစ်သည်
SingLinkVPN open-source အစီအစဉ်သည် ယခု စတင်လည်ပတ်နေပါပြီ။
ပထမအဆင့်တွင် နည်းပညာစာတမ်းများ၊ သုတေသနနည်းလမ်းများ၊ အထောက်အထား စံနှုန်းများ၊ ဒေတာပုံစံများ၊ ထုတ်ဖော်ရေး စည်းမျဉ်းများ၊ အစီရင်ခံစာ ဖွဲ့စည်းပုံများနှင့် စစ်ဆေးရေးကိရိယာများကို တည်ထောင်ထားပါသည်။
လုံခြုံရေး၊ စွမ်းဆောင်ရည်နှင့် ပွင့်လင်းမြင်သာမှု အစီရင်ခံစာများ ထပ်မံ ထွက်ရှိလာပါမည်။ အများသိဒေတာများကို တသမတ်တည်းသော ပုံစံဖြင့် ထပ်ထည့်ပါမည်။ နည်းပညာပစ္စည်းများနှင့် ထုတ်ကုန် source များကို လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှုနှင့် လိုင်စင် သုံးသပ်ပြီးနောက် အဆင့်လိုက် ထပ်မံ ထုတ်ပြန်ပါမည်။
ဤသည်မှာ တစ်ကြိမ်တည်း အမှတ်တံဆိပ် ကြေညာချက် သို့မဟုတ် နောက်ဆုံးခြေလှမ်း မဟုတ်ပါ။ ၎င်းသည် ဆက်လက်ဖြစ်ပေါ်နေမည့် အင်ဂျင်နီယာလုပ်ငန်း ဖြစ်ပါသည်။
ကျွန်ုပ်တို့၏ ရည်မှန်းချက်မှာ SingLinkVPN ၏ နည်းပညာ၊ လုံခြုံရေး၊ ကိုယ်ရေးလုံခြုံမှုနှင့် စွမ်းဆောင်ရည် အချက်အလက်များကို အမှတ်တံဆိပ်ကသာ ဖော်ပြသော ပစ္စည်းများမှ အသိုင်းအဝိုင်းက စစ်ဆေး၊ ကိုးကား၊ အတည်ပြု၊ ပြန်လည်ထုတ်လုပ်ပြီး ဆက်လက် စိစစ်နိုင်သော အများသိ အထောက်အထားအဖြစ် ပြောင်းလဲရန် ဖြစ်ပါသည်။
စာတမ်းများကို တိုးတက်အောင်ပြုလုပ်ရန်၊ သုတေသနကို ပြန်လည်ထုတ်လုပ်ရန်၊ ဒေတာကို အတည်ပြုရန်နှင့် နည်းပညာဆွေးနွေးမှုတွင် ပါဝင်လိုသော developer များ၊ လုံခြုံရေး သုတေသီများ၊ နည်းပညာမီဒီယာများနှင့် အသိုင်းအဝိုင်း အသုံးပြုသူများကို ကြိုဆိုပါသည်။
Open source သည် ကာလရှည် ယုံကြည်မှု၏ အစပင် ဖြစ်ပါသည်။
ပြီးတော့ ဤသည်မှာ ပထမခြေလှမ်းသာ ဖြစ်ပါသည်။


