ဒီ Xray VLESS Reality server setup လမ်းညွှန်က သင့်ရဲ့ VPS မှာ ခေတ်မီ proxy တစ်ခု တပ်ဆင်နည်းကို လမ်းညွှန်ပေးပါတယ်။ Reality transport-security layer ပါတဲ့ VLESS က လက်ရှိမှာ အများဆုံး တောင်းဆိုခံရတဲ့ self-hosted proxy setup ပါ။ Reality transport-security layer ပါတဲ့ VLESS က လက်ရှိမှာ အများဆုံး တောင်းဆိုခံရတဲ့ self-hosted proxy setup ပါ။ classic VPN နဲ့ မတူဘဲ ထူးခြားတဲ့ handshake ဒါမှမဟုတ် fixed packet signature မထုတ်လုပ်ပါဘူး။ Reality က တကယ့်၊ လူကြိုက်များတဲ့ website (target) ရဲ့ TLS 1.3 handshake ကို clone လုပ်ပါတယ်။ ဒါကြောင့် DPI system က wire ကို စောင့်ကြည့်နေတဲ့အတွက် သင့်ရဲ့ server ကို ချိတ်ဆက်မှုဟာ အဲဒီ website ကို လာရောက်လည်ပတ်သူတစ်ယောက်နဲ့ တူညီနေပါတယ်။ fake ဒါမှမဟုတ် self-signed certificate မရှိပါဘူး။ ဘာလို့လဲဆိုတော့ သင့်ရဲ့ server က handshake လုပ်နေစဉ်အတွင်း target site ရဲ့ တကယ့် certificate ကို ခဏတာ forward လုပ်လို့ပါ။
protocol stack ကတော့- VLESS (ပေါ့ပါးပြီး stateless proxy protocol handling authentication) ဖြစ်ပြီး XTLS Vision (raw socket level မှာ encrypt လုပ်ပြီးသား TLS record တွေကို copy ကူးခြင်းဖြင့် connection ကို မြန်ဆန်စေတဲ့ flow-control mode) ပေါ်မှာ run နေပါတယ်။ Reality (အထက်မှာဖော်ပြထားတဲ့ camouflage layer) မှ လုံခြုံအောင်ပြုလုပ်ထားပါတယ်။ ဒီသုံးခုစလုံးဟာ မူလ V2Ray/V2Fly project ရဲ့ actively maintained successor ဖြစ်တဲ့ Xray-core ဆိုတဲ့ project တစ်ခုတည်းကနေ ဆင်းသက်လာတာပါ။
ဒီလမ်းညွှန်ချက်က Xray server တစ်ခုကို command line ကနေတစ်ဆင့် ကိုယ်တိုင်တည်ဆောက်ပြီး web panel နဲ့ Docker မပါဘဲ VPS မှာ အသေးဆုံး footprint ပါ။ domain name နဲ့ TLS certificate ဝယ်ယူဖို့ မလိုအပ်ပါဘူး။ Reality က handshake အတွက် target site ရဲ့ certificate ကို ငှားယူပြီး သူ့ရဲ့ကိုယ်ပိုင် certificate ကို ဘယ်တော့မှ မပြပါဘူး။ ပြီးရင် your_IP လို့ရေးထားတဲ့နေရာမှာ သင်သတ်မှတ်ထားတဲ့ IP address ကို ရိုက်ထည့်ရပါမယ်။
လိုအပ်မည့်အရာများ- Ubuntu 22.04/24.04 သို့မဟုတ် Debian 11/12 ကို အသုံးပြုထားသော VPS တစ်ခု၊ root access၊ သင့် VPS ၏ IP address နှင့် TCP port 443 အခမဲ့ (web server၊ panel သို့မဟုတ် အခြား proxy များ နားထောင်နေစရာမလိုပါ)။
ဆာဗာမရှိသေးဘူးလား။ ဆာဗာမှာယူနည်းနှင့် ငွေပေးချေနည်းကို ကြည့်ပါ ။
ဒါကို တခြား self-hosted option တွေနဲ့ အရင်နှိုင်းယှဉ်ကြည့်မလား။ WireGuard-based အစားထိုးနည်းလမ်းအတွက် AmneziaWG Server Deployment Guide ကို ကြည့်ပါ၊ ဒါမှမဟုတ် ခေတ်မီ၊ ဆင်ဆာဖြတ်တောက်မှုကို ခံနိုင်ရည်ရှိတဲ့ protocol နှစ်ခုအတွက် Hysteria2 နဲ့ TUIC setup ကို ကြည့်ပါ။
ဆာဗာသို့ ချိတ်ဆက်ခြင်း
ဝင်းဒိုး (PuTTY)
PuTTY ကိုဖွင့်ပြီး Host Name နေရာမှာ သင့်ရဲ့ VPS IP address ကိုရိုက်ထည့်ပြီး port ကို 22 သတ်မှတ်ပြီး သင့်ရဲ့ VPS provider က email ပို့လိုက်တဲ့ password ကိုသုံးပြီး root အနေနဲ့ login ဝင်ပါ။
ဆာဗာ IP လိပ်စာ: သင့် IP လိပ်စာ
root အနေဖြင့် ဝင်ရောက်ပါ
စကားဝှက်: သင့်စကားဝှက်
- PuTTY ကိုဖွင့်ပြီး Host Name နေရာမှာ သင့်ရဲ့ VPS IP address ကိုထည့်ပါ။
- port ကို ၂၂ လို့ သတ်မှတ်ပါ။
- root အနေနဲ့ login ဝင်ပါ။
- သင့် VPS ပံ့ပိုးပေးသူက အီးမေးလ်ပို့ထားတဲ့ စကားဝှက်ကိုသုံးပါ။ ပြီးရင် server ရဲ့ shell prompt မှာ ရောက်သင့်ပါတယ်။
PuTTY/SSH မှတစ်ဆင့် ချိတ်ဆက်ခြင်းအကြောင်း အသေးစိတ်လမ်းညွှန်ချက်အတွက် SSH မှတစ်ဆင့် Linux server သို့ မည်သို့ချိတ်ဆက်ရမည်ကို ကြည့်ပါ ။
Linux / macOS (တာမီနယ်)
ssh root@your_IP
အောက်ဖော်ပြပါ command အားလုံးကို ဤ SSH session တွင် server ပေါ်တွင် run ပါသည် — အပိုင်း ၂ မှ ၆ အထိနှင့် အပိုင်း ၁၀ ရှိ server-side check များကို လွှမ်းခြုံထားသည်။ အပိုင်း ၇ မှ ၉ အထိ (VPN client ကို install လုပ်ပြီး configure လုပ်ခြင်း) သည် သင့်ကိုယ်ပိုင် Windows/Android/iOS device တွင် ဖြစ်ပေါ်ပါသည်၊ အဘယ်ကြောင့်ဆိုသော် ၎င်းသည် proxy လည်ပတ်ရန် လိုအပ်သော device ဖြစ်သောကြောင့်ဖြစ်သည်။ ထိုအပိုင်းတစ်ခုစီတွင် မည်သည့်စာကြောင်းများရှိပါက server ကို ထိနေသေးသည်ကို ရှင်းရှင်းလင်းလင်း ဖော်ပြထားသည်။
Server ပြင်ဆင်ခြင်း
စနစ်အဆင့်မြှင့်တင်ပါ
ဘာမှမထည့်သွင်းမီ၊ package list ကို refresh လုပ်ပြီး install လုပ်ထားတဲ့ package တွေကို upgrade လုပ်ပါ-
apt update -y && apt upgrade -y
apt အဆင့်မြှင့်တင်ပြီးနောက် session အနှောင့်အယှက်ဖြစ်သွားပါက (dbus/polkit ကို ပြန်လည်စတင်သည်) ဤသို့ဖြစ်လိမ့်မည်ဟု မျှော်လင့်ရသည် - SSH မှတစ်ဆင့် ပြန်လည်ချိတ်ဆက်ပါ။
ဒါက kernel ကို အဆင့်မြှင့်တင်မယ်ဆိုရင် ဆက်မလုပ်ခင် reboot လုပ်တာက ကောင်းတဲ့ အကြံပါပဲ။ (apt နဲ့ Linux package manager တွေ ဘယ်လိုအလုပ်လုပ်လဲဆိုတာကို ပြန်သုံးသပ်ဖို့ Linux Package Managers ကို ကြည့်ပါ ။) အောက်ပါတို့နဲ့ စစ်ဆေးပါ-
cat /var/run/reboot-required
ဖိုင်ရှိနေပါက 'reboot' ဖြင့် ဦးစွာ reboot လုပ်ပြီး စက္ကန့် ၃၀ ခန့်စောင့်ပြီးနောက် ပြန်လည်ချိတ်ဆက်ပါ။
ဤလမ်းညွှန်ချက်အသုံးပြုသည့် ကိရိယာများကို ထည့်သွင်းပါ
apt install -y curl wget unzip openssl ufw qrencode
Xray installer ကိုယ်တိုင်က curl နဲ့ unzip လိုအပ်ပါတယ်။ openssl က အပိုင်း ၄ မှာ short ID ကို generate လုပ်ပါတယ်။ ufw က အောက်မှာ firewall configure လုပ်ထားတာပါ။ qrencode က ပြီးသွားတဲ့ client link ကို အပိုင်း ၇ မှာ scannable QR code အဖြစ်ပြောင်းပေးပါတယ်။
စနစ်နာရီကို စစ်ဆေးပါ
Reality ရဲ့ handshake မှာ timestamp check (maxTimeDiff field ကို default အနေနဲ့ disable လုပ်ထားပေမယ့် သိထားသင့်တဲ့ field) ပါဝင်ပြီး၊ clock သိသိသာသာ ရွေ့လျားနေတာကလည်း server ရဲ့ တခြားနေရာတွေမှာ ပုံမှန် TLS certificate validation ကို မှားယွင်းစွာ လုပ်ဆောင်စေနိုင်ပါတယ်။ clock ကို sync လုပ်ထားကြောင်း အတည်ပြုပါ-
timedatectl status
"System clock synchronized" မှာ "no" လို့ပြနေရင် အောက်ပါနဲ့ enable လုပ်ပါ-
timedatectl set-ntp true
firewall (UFW) ကို configure လုပ်ပါ။
UFW စည်းမျဉ်းများအကြောင်း ပိုမိုသိရှိလိုပါက Linux တွင် Firewall ကို ပြင်ဆင်ခြင်းကို ကြည့်ပါ ။
လိုအပ်မယ့် port နှစ်ခုကို ဖွင့်ပါ- SSH အတွက် 22/tcp (ဒီစည်းမျဉ်းကို ကျော်သွားရင် server ကို ဝင်ရောက်ခွင့် ဆုံးရှုံးနိုင်ခြေရှိပါတယ်) နဲ့ 443/tcp၊ Xray က နားထောင်မယ့် port နဲ့ သာမန် HTTPS traffic က အသုံးပြုတဲ့ port တစ်ခုတည်းကို ဖွင့်ပါ - ဒါကြောင့် Reality အတွက် မှန်ကန်တဲ့ ရွေးချယ်မှုပါပဲ။
ufw allow 22/tcp
ufw allow 443/tcp
ufw --force enable
ufw status
စည်းမျဉ်းနှစ်ခုစလုံးကို ufw status output တွင် ALLOW အဖြစ်ပြသသင့်သည်။
VLESS Reality Server အတွက် Xray-core ထည့်သွင်းခြင်း
Xray-core ပရောဂျက် (XTLS) သည် binary ကို systemd service အဖြစ် install လုပ်သည့် တရားဝင် install-and-upgrade script ကို ထုတ်ဝေသည်။ bash ထဲသို့ piping မလုပ်မီ third-party script များကို ပြန်လည်သုံးသပ်ပါ - ဤတစ်ခုသည် ပရောဂျက်၏ကိုယ်ပိုင် repository မှ တိုက်ရိုက်လာခြင်းဖြစ်သည်။
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
binary ရှိမရှိ စစ်ဆေးပြီး ထည့်သွင်းထားတဲ့ version ကို စစ်ဆေးပါ-
/usr/local/bin/xray version
command output ကို paginated လုပ်ပြီး hang ဖြစ်နေရင် နှိပ်ပါ။ Q ထွက်ရန်။ Xray binary ကို ထည့်သွင်းထားသည် /usr/local/bin/xrayနှင့် ၎င်း၏ configuration ဖိုင်များကို သိမ်းဆည်းထားသည် /usr/local/etc/xray/.
ရှိပြီးသား installation ကို အဆင့်မြှင့်တင်ဖို့အတွက်လည်း installer script ကိုပဲသုံးနိုင်ပါတယ်။ option တွေရဲ့ အပြည့်အစုံစာရင်း (ဖယ်ရှားခြင်း၊ geodata-only updates တွေနဲ့ log rotation အပါအဝင်) ကို run လိုက်ပါ။
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" --help
သော့များနှင့် အထောက်အထားများ ထုတ်လုပ်ခြင်း
လက်တွေ့အထောက်အထားစိစစ်ခြင်းသည် အချက်အလက်လေးခုပေါ်တွင် မူတည်ပါသည်။ ယခု ၎င်းတို့အားလုံးကို ထုတ်လုပ်ပါ။ အပိုင်း ၅ ရှိ ဆာဗာဖွဲ့စည်းမှုထဲသို့ ကူးထည့်ရပါမည်။
client အတွက် UUID တစ်ခု ဖန်တီးပါ
/usr/local/bin/xray uuid
ဒါက VLESS user ID ပါ — client ကို server ကို authenticate လုပ်ပေးတဲ့ credential ဖြစ်လို့ credential အနေနဲ့ သတ်မှတ်ပါ။ access ပေးချင်တဲ့ device ဒါမှမဟုတ် person တိုင်းအတွက် command ကို ထပ် run ပါ။
Reality X25519 key pair ကို generate လုပ်ပါ။
/usr/local/bin/xray x25519
၎င်းက စာကြောင်းသုံးကြောင်း ထုတ်ပေးသည်- PrivateKey ၊ Password နှင့် Hash32 ။ PrivateKey သည် server configuration ထဲသို့သာ ဝင်ရောက်ပြီး ဘယ်တော့မှ မျှဝေ၍မရပါ။ Password သည် သက်ဆိုင်ရာ public key ဖြစ်သည် - အမည်မည်သို့ပင်ရှိစေကာမူ ၎င်းသည် client တိုင်းထည့်သွင်းသော တန်ဖိုးဖြစ်သည်။ Xray သည် လူများအား ပေါ့ဆစွာထုတ်ဝေခြင်းမှ ကာကွယ်ရန် PublicKey မှ Password သို့ အမည်ပြောင်းလဲခဲ့သည်။ Hash32 ကို သီးခြား VLESS Encryption feature အတွက်သာ အသုံးပြုပြီး Reality setup အတွက် မလိုအပ်ပါ။
အတိုကောက် ID တစ်ခု ထုတ်လုပ်ပါ
openssl rand -hex 8
၎င်းက မတူညီသော client များ သို့မဟုတ် client အုပ်စုများကို ခွဲခြားသိရှိရန် အသုံးပြုသည့် စာလုံး ၁၆ လုံးပါ hexadecimal string ကို ထုတ်လုပ်ပေးသည်။ server နှင့် client နှစ်ခုစလုံးသည် တန်ဖိုးတစ်ခုတည်းကို အသုံးပြုရမည်။
လက်တွေ့ပစ်မှတ်တစ်ခုကို ရွေးချယ်ပြီး စမ်းသပ်ပါ
ပစ်မှတ်က သင့်ဆာဗာက တုပတဲ့ TLS handshake ရဲ့ တကယ့်ဝက်ဘ်ဆိုက်ပါ။ ၎င်းသည် TLS 1.3 နှင့် HTTP/2 ကို ပံ့ပိုးပေးရမည်ဖြစ်ပြီး Cloudflare ကဲ့သို့သော CDN နောက်ကွယ်တွင် မရှိရ (Xray သည် Reality authentication မအောင်မြင်သော traffic များကို ပစ်မှတ်ထံ တိုက်ရိုက် forward လုပ်သောကြောင့် CDN-fronted target သည် သင့်ဆာဗာကို ထို CDN အတွက် open relay အဖြစ်သို့ ပြောင်းလဲနိုင်သည်) နှင့် ဖြစ်နိုင်ခြေရှိသော latency profile အတွက် သင့် VPS နှင့် တူညီသော network region တွင် host လုပ်ထားသင့်သည်။ server မှ candidate တစ်ခုကို တိုက်ရိုက်စမ်းသပ်ပါ-
/usr/local/bin/xray tls ping www.microsoft.com:443
URL မဟုတ်ဘဲ ဗလာ hostname ကိုသုံးပါ။ Reality targets အဖြစ် အသုံးများသော domain အနည်းငယ်မှာ တည်ငြိမ်ပြီး TLS 1.3 အသုံးပြုနိုင်ကာ CDN မပါသောကြောင့် www.microsoft.com၊ addons.mozilla.org၊ dl.google.com တို့ဖြစ်သည်။ အနည်းငယ်ကို စမ်းသပ်ပြီး သင့် VPS တည်နေရာမှ ယုံကြည်စိတ်ချစွာ တုံ့ပြန်နိုင်သော တစ်ခုကို ရွေးချယ်ပါ။ အပိုင်း ၅ ရှိ target နှင့် serverNames entry နှစ်ခုလုံးနှင့် တူညီသော hostname ကို သင်အသုံးပြုမည်ဖြစ်သည်။
Server Configuration ရေးသားခြင်း
ထည့်သွင်းသူနှင့်အတူ ပါလာသော config ကို backup လုပ်ပြီးနောက် တည်းဖြတ်ရန်ဖိုင်ကိုဖွင့်ပါ-
cp /usr/local/etc/xray/config.json /usr/local/etc/xray/config.json.orig
nano /usr/local/etc/xray/config.json
တည်းဖြတ်ရန်အတွက် configuration ဖိုင်ကိုဖွင့်ပါ-
nano /usr/local/etc/xray/config.json
ဖိုင်တစ်ခုလုံးကို အောက်ပါ template ဖြင့် အစားထိုးပါ၊ အပိုင်း ၄ မှ သင့်ကိုယ်ပိုင် UUID၊ PrivateKey၊ short ID နှင့် target hostname တို့ကို အစားထိုးပါ (နှင့် အပိုင်း ၂ တွင် သင်ဖွင့်ထားသော port ကို ၄၄၃ မှ ပြောင်းလဲထားပါက)။
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"users": [
{
"id": "YOUR-UUID-HERE",
"flow": "xtls-rprx-vision",
"email": "client1"
}
],
"decryption": "none"
},
"streamSettings": {
"method": "raw",
"security": "reality",
"realitySettings": {
"show": false,
"target": "www.microsoft.com:443",
"serverNames": ["www.microsoft.com"],
"privateKey": "YOUR-SERVER-PRIVATE-KEY",
"shortIds": ["YOUR-SHORT-ID"]
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" },
{ "protocol": "blackhole", "tag": "blocked" }
]
}
ဖိုင်ကို သိမ်းဆည်းရန် Ctrl+O (WriteOut) ကိုနှိပ်ပါ။
ဖိုင်အမည်ကို အတည်ပြုရန် Enter နှိပ်ပါ။
nano ကနေထွက်ဖို့ Ctrl+X နှိပ်ပါ။
အရေးကြီးသော အကွက်များ- users[].id သည် အပိုင်း ၄ မှ UUID ဖြစ်သည်။ users[].flow သည် XTLS Vision ကို ဖွင့်သည်။ method (ယခင်က network ဟုခေါ်သည်) သည် လက်တွေ့ဘဝ လိုအပ်သည့် ရိုးရိုး TCP-based နည်းလမ်းဖြစ်သည့် RAW transport ကို ရွေးချယ်သည်။ target နှင့် serverNames များသည် အပိုင်း ၄ တွင် သင်စမ်းသပ်ထားသော site များဖြစ်သည်။ privateKey သည် server-side X25519 key ဖြစ်ပြီး Password တန်ဖိုးကို ဘယ်တော့မှ မသုံးပါ။ shortIds သည် တင်ပြခွင့်ပြုထားသော short ID client တိုင်းကို စာရင်းပြုစုသည်။ နောက်ပိုင်းတွင် user များ ထပ်မံထည့်သွင်းရန်အတွက်၊ users array တွင် အပို object များကို ထည့်သွင်းပါ၊ တစ်ခုချင်းစီတွင် ၎င်း၏ကိုယ်ပိုင် UUID နှင့် email label ပါရှိပြီး service ကို ပြန်လည်စတင်ပါ။
Xray 26.3.27 ကတည်းက minClientVer field အတိအကျမပါတဲ့ Reality inbound ဟာ server ရဲ့ core version ရဲ့ default ကို ပြဌာန်းပါတယ် — client apps အဟောင်းတွေ (out-of-date v2rayN, v2rayNG, ဒါမှမဟုတ် Xray-core အဟောင်းကို bundling လုပ်ထားတဲ့ Streisand build) ကို client မှာ error မရှိဘဲ ချိတ်ဆက်မယ့်အစား target ရဲ့ fallback page ကို တိတ်တဆိတ် redirect လုပ်ပါတယ်၊ server log မှာလည်း ဘာမှမှားယွင်းတာမရှိပါဘူး။ update လုပ်ပြီးနောက်မှာ ရုတ်တရက်အလုပ်လုပ်တဲ့ client က times out ဖြစ်သွားရင် client app ကိုယ်တိုင်ကို update လုပ်ကြည့်ပါ။ အဲဒါမဖြစ်နိုင်ဘူးဆိုရင်တော့ realitySettings ထဲမှာ "minClientVer": "25.9.11" (ဒါမှမဟုတ် တခြား baseline အဟောင်း) ကိုထည့်ပါ၊ အဲဒီ client အဟောင်းရဲ့ TLS fingerprint ကို ခေတ်မီ browser နဲ့ နည်းနည်းလေး ကိုက်ညီမှုနည်းအောင် လုပ်ပါတယ်။
အတည်ပြုပြီး ပြန်လည်စတင်ပါ
တိုက်ရိုက်ဝန်ဆောင်မှုကို ပြန်လည်စတင်ခြင်းမပြုမီ ပြင်ဆင်မှုကို စမ်းသပ်ပါ — ၎င်းသည် JSON စာလုံးပေါင်းအမှားများနှင့် ပံ့ပိုးမထားသော အကွက်များကို proxy ကို မဖယ်ရှားမီ ဖမ်းယူပေးပါသည်။
/usr/local/bin/xray run -test -c /usr/local/etc/xray/config.json
ဝန်ဆောင်မှုစတင်ခြင်းနှင့် Autostart ကိုဖွင့်ခြင်း
Xray ကို configuration အသစ်နဲ့ restart လုပ်ပြီး reboot လုပ်တဲ့အခါ အလိုအလျောက်စတင်နိုင်အောင် enable လုပ်ပါ။
systemctl enable --now xray
systemctl restart xray
systemctl status xray --no-pager
အခြေအနေက active (running) လို့ပြနေသင့်ပါတယ်။ တစ်ခုခုက port 443 မှာ တကယ်နားထောင်နေတယ်ဆိုတာ အတည်ပြုပါ။
ss -lntp | grep ':443'
Xray စတင်မအောင်မြင်ပါက အကြောင်းရင်းကို အမြန်ဆုံးသိရှိရန်မှာ systemd ဂျာနယ်ဖြစ်သည် (ယေဘုယျအားဖြင့် Linux မှတ်တမ်းများဖတ်ရှုခြင်းဆိုင်ရာ နောက်ခံအတွက် Linux မှတ်တမ်းများကို မည်သို့ဖတ်ရှုရမည်နှင့် ၎င်းကို မည်သည့်နေရာတွင် ရှာဖွေရမည်ကို ကြည့်ပါ )။
journalctl -u xray -n 50 --no-pager
Client Connection Link တည်ဆောက်ခြင်း
Xray client များသည် config ဖိုင်တစ်ခုအစား vless:// share link တစ်ခုတည်းကိုသာ import လုပ်ပါ။ Section 4 တွင်ထုတ်ပေးထားသော တန်ဖိုးများမှ တည်ဆောက်ပါ (JSON field ကိုယ်တိုင်ကို method ဟုခေါ်သော်လည်း client apps များ၏ share-link format သည် transport အတွက် type=tcp အမည်ဟောင်းကို အသုံးပြုနေဆဲဖြစ်သည်)။
YOUR-UUID — xray uuid မှ (ဥပမာ၊ a1b2c3d4-e5f6-7890-abcd-ef1234567890)
YOUR-PASSWORD-PUBLIC-KEY — သည် xray x25519 မှ စကားဝှက်ဖြစ်သည် (PrivateKey မဟုတ်ပါ!)
YOUR-SHORT-ID — openssl မှ rand -hex 8 (ဥပမာ၊ a1b2c3d4e5f67890)
your_IP — (သင့်ဆာဗာ၏ IP)
SNI — www.microsoft.com (သို့မဟုတ် သင့်ပစ်မှတ်)
vless://YOUR-UUID-HERE@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server
နမူနာလင့်ခ်-
vless://a1b2c3d4-e5f6-7890-abcd-ef1234567890@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=xyz_public_key_here&sid=a1b2c3d4e5f67890&type=tcp&flow=xtls-rprx-vision#My-Xray-Server
pbk သည် xray x25519 မှ Password တန်ဖိုး (public key၊ private key မဟုတ်ပါ)၊ sni သည် target hostname နှင့် ကိုက်ညီပြီး # နောက်က စာသားသည် မည်သည့် client တွင်မဆို လွတ်လပ်စွာ အမည်ပြောင်းနိုင်သော display label တစ်ခုသာဖြစ်သည်။
မိုဘိုင်းဖောက်သည်များက ၎င်းကို တိုက်ရိုက်စကင်ဖတ်နိုင်စေရန် QR ကုဒ်အဖြစ်သို့ ပြောင်းလဲပါ-
qrencode -o ~/vless-client.png "vless://YOUR-UUID@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server"
သို့မဟုတ် ဖိုင်ကို မသိမ်းဆည်းဘဲ terminal သို့ တိုက်ရိုက် print ထုတ်ပါ-
qrencode -t ansiutf8 "vless://YOUR-UUID@your_IP:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR-PASSWORD-PUBLIC-KEY&sid=YOUR-SHORT-ID&type=tcp&flow=xtls-rprx-vision#My-Xray-Server"
PNG ကို scp ဖြင့် သင့်ကိုယ်ပိုင်ကွန်ပျူတာသို့ ကူးယူပါ၊ ဆာဗာမှမဟုတ်ဘဲ သင့်ကွန်ပျူတာ၏ terminal (သို့မဟုတ် Windows ရှိ PowerShell) မှ လုပ်ဆောင်ပါ။
scp root@your_IP:~/vless-client.png .
Windows မှချိတ်ဆက်ခြင်း။
ဒီအပိုင်းမှာ ပါရှိတဲ့ အရာအားလုံးဟာ SSH ကနေ မဟုတ်ဘဲ သင့်ရဲ့ Windows PC မှာ ဖြစ်ပျက်တာဖြစ်ပြီး client ဟာ proxy ကို တကယ်အသုံးပြုမယ့် device မှာ run ရပါမယ်။
v2rayN ကို ထည့်သွင်းပါ
v2rayN သည် အခမဲ့၊ တက်ကြွစွာ ထိန်းသိမ်းထားသော GUI client တစ်ခုဖြစ်ပြီး native VLESS/Reality ပံ့ပိုးမှုပါရှိသည်။ နောက်ဆုံးထွက်ဗားရှင်းကို ပရောဂျက်၏ စာမျက်နှာမှ ဒေါင်းလုဒ်လုပ်ပါ -
Windows 64-bit .zip asset ကို ရယူပါ (self-contained build တစ်ခုသည် မကြာသေးမီက v2rayN ဗားရှင်းများတွင် သီးခြား .NET runtime မလိုအပ်ပါ)၊ ၎င်းကို မည်သည့်နေရာတွင်မဆို extract လုပ်ပြီး v2rayN.exe ကို run ပါ။
ဆာဗာကိုတင်သွင်းပါ
Section 7 မှာ built-in vless:// link ကို clipboard ထဲ copy ကူးထည့်ပါ (ဒါမှမဟုတ် scp နဲ့ QR PNG ကို copy ကူးပြီးဖွင့်ပါ)၊ ပြီးရင် v2rayN မှာ Servers ကိုရွေးပြီး import bulk URL from clipboard (ဒါမှမဟုတ် built-in scanner ကနေတစ်ဆင့် QR code ကို scan ဖတ်ပါ)။ server profile အသစ်ဟာ # ပြီးရင် သင်သတ်မှတ်ထားတဲ့ label နဲ့ list ထဲမှာပေါ်လာပါလိမ့်မယ်။
ပရိုဖိုင်ကို right-click နှိပ်ပြီး active အဖြစ် ရွေးချယ်ပါ၊ ထို့နောက် main window ၏ toolbar မှ system proxy (သို့မဟုတ် စက်တစ်ခုလုံးကို routing လုပ်ရန် TUN mode) ကို enable လုပ်ပါ။
Android မှ ချိတ်ဆက်ခြင်း
ဒီမှာ အရာအားလုံးဟာ SSH ကနေ မဟုတ်ဘဲ သင့်ရဲ့ Android စက်မှာ ဖြစ်ပျက်ပါတယ်။
v2rayNG ကို ထည့်သွင်းပါ
v2rayNG သည် တူညီသော maintainer မှ v2rayN ၏ Android counterpart ဖြစ်ပြီး Android တွင် အသုံးအများဆုံး Xray client ဖြစ်သည်။ Google Play မှ install လုပ်ပါ သို့မဟုတ် သင့်ဒေသတွင် Play မရနိုင်ပါက project ၏ releases စာမျက်နှာမှ APK ကို တိုက်ရိုက် download လုပ်ပါ-
ဆာဗာကိုတင်သွင်းပါ
v2rayNG ကိုဖွင့်ပြီး ညာဘက်အပေါ်ထောင့်က + ခလုတ်ကိုနှိပ်ပြီး vless:// လင့်ခ်ကိုကူးယူပြီးနောက် Import config from Clipboard ကိုရွေးပါ။ သို့မဟုတ် QR ကုဒ်ကိုစကင်ဖတ်ပြီး Section 7 မှာထုတ်ပေးထားတဲ့ PNG ကိုကင်မရာနဲ့ချိန်ပါ။ တင်သွင်းထားတဲ့ပရိုဖိုင်ကိုရွေးဖို့နှိပ်ပြီး အောက်ခြေမှာရှိတဲ့ အဝိုင်းချိတ်ဆက်ခလုတ်ကိုနှိပ်ပါ။ Android က VPN ခွင့်ပြုချက်ကို ပထမဆုံးအကြိမ်တောင်းပါလိမ့်မယ် — tunnel တည်ဆောက်ဖို့ အတည်ပြုပါလိမ့်မယ်။
iOS မှ ချိတ်ဆက်ခြင်း
ဒီမှာအားလုံးက SSH ကနေမဟုတ်ဘဲ iPhone ဒါမှမဟုတ် iPad မှာဖြစ်ပျက်တာပါ။ Apple ရဲ့ App Store လမ်းညွှန်ချက်တွေအရ iOS မှာရှိတဲ့ Xray/VLESS client တွေဟာ system-integrated feature မဟုတ်ဘဲ အခမဲ့ဖြစ်ပေမယ့် တစ်ခါတစ်ရံမှာ ငွေပေးရတဲ့ standalone app တွေဖြစ်ပါတယ်။
လက်တွေ့ဘဝတွင် အသုံးပြုနိုင်သော ကလိုင်းယင့်တစ်ခု ထည့်သွင်းပါ
Streisand သည် အခြား protocol များနှင့်အတူ Reality ပါ၀င်သော VLESS ကို ပံ့ပိုးပေးသည့် အခမဲ့၊ open-source client တစ်ခုဖြစ်သည်။ App Store တွင် ရှာဖွေပါ သို့မဟုတ် ဤလင့်ခ်ကို ဖွင့်ပါ။
App Store ကတ်တလောက်များသည် စတိုးဆိုင်/ဒေသအလိုက် ကွဲပြားပြီး အချိန်နှင့်အမျှ ပြောင်းလဲနိုင်သည်။ Streisand ကို သင့်တွင် မမြင်ရပါက VLESS+Reality ပံ့ပိုးမှုရှိသော အခြားရွေးချယ်စရာများတွင် Happ၊ V2Box နှင့် V2rayTun တို့ ပါဝင်သည် — သင့်အကောင့်အတွက် ရရှိနိုင်သည့် မည်သည့်အရာကိုမဆို App Store တွင် ရှာဖွေပါ။
ဆာဗာကိုတင်သွင်းပါ
vless:// လင့်ခ်ကို သင့် clipboard သို့ ကူးယူပါ၊ client ကိုဖွင့်ပါ၊ ၎င်း၏ Add from clipboard (သို့မဟုတ် ညီမျှသော "import") option ကို အသုံးပြုပါ၊ သို့မဟုတ် client ၏ built-in scanner ဖြင့် Section 7 မှ QR code ကို scan ဖတ်ပါ။ profile အသစ်ကို on လုပ်ပါ။ iOS သည် VPN-configuration permission ကို ပထမဆုံးအကြိမ်တွင် တောင်းဆိုမည်ဖြစ်ပြီး Face ID၊ Touch ID သို့မဟုတ် သင့် passcode မှတစ်ဆင့် အတည်ပြုရန် လိုအပ်မည်ဖြစ်သည်။
ချိတ်ဆက်မှုကို စစ်ဆေးခြင်း။
အပိုင်း ၈၊ ၉ သို့မဟုတ် ၁၀ မှ tunnel ကို အသက်ဝင်နေချိန်တွင် သင့်ကိုယ်ပိုင် device (SSH session မဟုတ်ပါ) သို့ ပြန်သွားပြီး browser တွင် "what's my IP" checker ကို ဖွင့်ပါ — ပြသထားသော address သည် သင့် VPS ၏ IP address နှင့် ကိုက်ညီရပါမည်။
ယင်းအစား server ဘက်မှ အတည်ပြုရန်အတွက်၊ ချိတ်ဆက်မှုလုပ်ဆောင်ချက်အတွက် systemd ဂျာနယ်ကို စစ်ဆေးပြီး port 443 တွင် တည်ထောင်ထားသော TCP session တစ်ခုကို အတည်ပြုပါ။
journalctl -u xray -n 50 --no-pager
ss -tnp | grep ':443'
မူရင်း "warning" log level မှာ Xray က တစ်ဦးချင်းချိတ်ဆက်မှုတွေအကြောင်း သိပ်မပြပါဘူး။ ပြဿနာရှာဖွေဖြေရှင်းနေစဉ် အသေးစိတ်အချက်အလက်တွေကို ကြည့်ဖို့လိုအပ်ရင် config.json မှာ "loglevel": "info" ကို ယာယီသတ်မှတ်ပြီး service ကို restart လုပ်ပါ။ ပြီးရင် အရာအားလုံးအလုပ်လုပ်ပြီဆိုရင် warning ကိုပြန်ပြောင်းပါ။
ကိုးကားစရာ:
|
လယ်ယာ |
အဘိုး |
|
လိပ်စာ |
သင့်ရဲ့ VPS ရဲ့ အများသုံး IP address |
|
ဆိပ်ကမ်း |
၄၄၃ (တူညီသော port ကို အပိုင်း ၂ တွင် ဖွင့်လှစ်ခဲ့သည်) |
|
UUID / အိုင်ဒီ |
YOUR-UUID-HERE — xray uuid ဖြင့် အပိုင်း ၄ တွင် ထုတ်လုပ်ထားသည် |
|
စီးဆင်းမှု |
xtls-rprx-vision — နှစ်ဖက်စလုံးတွင် ကိုက်ညီရမည် |
|
လုံခွုံရေး |
အမှန် |
|
SNI / server အမည် |
အပိုင်း ၄ တွင် စမ်းသပ်ထားသော target hostname၊ ဥပမာ www.microsoft.com |
|
လက်ဗွေရာ (fp) |
chrome — ပံ့ပိုးပေးထားသော uTLS လက်ဗွေရာ; client တွင် သတ်မှတ်ရမည် |
|
အများသုံးသော့ / pbk |
xray x25519 မှ Password တန်ဖိုး — PrivateKey မဟုတ်ပါ |
|
အတိုကောက် ID / sid |
openssl rand -hex 8 ဖြင့် ထုတ်လုပ်ထားသည်။ shortIds ရှိ တန်ဖိုးတစ်ခုနှင့် ကိုက်ညီရမည်။ |
ကောက်ချက်
ဤလမ်းညွှန်ချက်ကို လိုက်နာခြင်းဖြင့် သင့် VPS သည် ၎င်း၏ကိုယ်ပိုင် Xray VLESS+Reality server ကို လည်ပတ်စေပြီး၊ domain နှင့် certificate မရှိဘဲ အစစ်အမှန်ဝက်ဘ်ဆိုက်သို့ ပုံမှန် HTTPS traffic အဖြစ် အယောင်ဆောင်ထားမည်ဖြစ်သည်။ ဝန်ဆောင်မှုသည် systemd unit xray အဖြစ် လည်ပတ်ပြီး သင့်ဘက်မှ မည်သည့်လုပ်ဆောင်ချက်မျှ မပါဘဲ reboot လုပ်နိုင်ပါသည်။
xray uuid မှ UUID အသစ်နှင့် သီးခြား email label တစ်ခုဖြင့် config.json ရှိ users array တွင် အခြား object တစ်ခုကို append လုပ်ပြီး service ကို restart လုပ်ခြင်းဖြင့် မည်သည့်အချိန်တွင်မဆို client အသစ်များကို ထည့်ပါ။ ထို့နောက် ထို user သည် Section 7 မှ ၎င်းတို့၏ကိုယ်ပိုင် share link ကိုတည်ဆောက်ပါ။ လူတစ်ဦး သို့မဟုတ် device တစ်ခုချင်းစီအတွက် သီးခြား UUID များသည် အခြားမည်သူ့ကိုမျှ မနှောင့်ယှက်ဘဲ တစ်ခုကို revoke လုပ်နိုင်သည်။
ဆာဗာလည်ပတ်နေချိန်တွင် လိုက်နာသင့်သော အလေ့အထအချို့-
- Xray ကို patch လုပ်ထားပါ။ အပိုင်း ၃ မှ install script ကို အခါအားလျော်စွာ ပြန်လည် run ပါ — ၎င်းသည် ရှိပြီးသား installation ကို အဆင့်မြှင့်တင်ပေးသည် — နှင့် အပိုင်း ၅ တွင် ဖော်ပြထားသော minClientVer အပြုအမူကို ထည့်သွင်းစဉ်းစားလျှင် client apps များကိုလည်း အပ်ဒိတ်လုပ်ပါ။
- config.json ကို server ပြင်ပ သီးသန့်တစ်နေရာရာတွင် backup လုပ်ပါ။ ၎င်းတွင် server ၏ Reality private key နှင့် client တိုင်း၏ UUID ကို သိမ်းဆည်းထားသည်။ ၎င်းကို ဆုံးရှုံးသွားခြင်းသည် device တိုင်းအတွက် အထောက်အထားများကို ပြန်လည်ထုတ်ပေးခြင်းဟု ဆိုလိုသည်။
- ပျောက်ဆုံးသွားသော စက်ပစ္စည်းများကို ချက်ချင်းရုပ်သိမ်းပါ။ config.json ရှိ users array မှ သက်ဆိုင်ရာ entry ကို ဖယ်ရှားပြီး service ကို ပြန်လည်စတင်ပါ။
ချိတ်ဆက်မှု မတက်လာပါက၊ အစီအစဉ်အတိုင်း စစ်ဆေးပါ-
- ဝန်ဆောင်မှုအခြေအနေ (systemctl status xray --no-pager) နှင့် ဂျာနယ် (journalctl -u xray -n 50 --no-pager)
- firewall စည်းမျဉ်းများ (ufw အခြေအနေ — port 443/tcp ပွင့်နေရမည်)
- ထို port 443 ကို အခြားဝန်ဆောင်မှုတစ်ခုဖြင့် ချည်နှောင်ထားပြီးသား မဟုတ်ပါ (ss -lntp | grep ':443' သည် xray ကိုသာ ပြသသင့်သည်)
- client ရှိ UUID၊ public key၊ short ID၊ SNI နှင့် flow တို့သည် config.json နှင့် တစ်ထပ်တည်းကျကြောင်း — မကိုက်ညီသော စာလုံးတစ်လုံးသည် handshake ကို တိတ်တဆိတ်ပျက်ကွက်သည်။
- xray tls ping နဲ့ Reality target ကိုယ်တိုင်ကို :၄၄၃၊ ဆိုက်သည် ၎င်း၏ TLS ပြင်ဆင်မှုကို ပြောင်းလဲခဲ့ပါက
Xray ကို အခြားရွေးချယ်စရာများနှင့် နှိုင်းယှဉ်နေပါသလား။ AmneziaWG Server Deployment Guide နှင့် WireGuard-based အခြားရွေးချယ်စရာများအတွက် သင့်ဆာဗာတွင် Wireguard VPN ကို မည်သို့တပ်ဆင်ရမည်ကို ကြည့်ပါ၊ သို့မဟုတ် lossy သို့မဟုတ် filtered များသော ကွန်ရက်များအတွက် တည်ဆောက်ထားသော အခြား censorship-resistant protocol နှစ်ခုအတွက် Hysteria2 နှင့် TUIC setup ကို ကြည့်ပါ ။ သင်သည် full tunneling setup ထက် ရိုးရှင်းသော proxy တစ်ခုသာ လိုအပ်ပါက CentOS/ArchLinux ရှိ 3proxy configuration သည် ပိုမိုပေါ့ပါးသော အခြားရွေးချယ်စရာတစ်ခုဖြစ်ပြီး Linux ရှိ VPN server setup အဟောင်း - PPTP သို့မဟုတ် OpenVPN? သည် setup လုပ်ရန် ပိုမိုရိုးရှင်းသော်လည်း DPI အတွက် ထောက်လှမ်းရန်နှင့် ပိတ်ဆို့ရန် ပိုမိုလွယ်ကူသော protocol များကို လွှမ်းခြုံထားသည်။ proxy live ဖြစ်ပြီးနောက် ယေဘုယျ server hardening အတွက် Linux Users: Management and Permissions ကို ကြည့်ပါ ။