# Hidden Services

သတိျပဳရန္၊ Vidalia ရွိ Hidden service အတြက္ ေထာက္ပံ့မႈသည္ အသစ္ျဖစ္ပါသည္။ bug မ်ားလည္းရွိေနႏိုင္ၿပီး သင္၏ hidden service configuration ကိုလည္း အေႏွာင့္အယွက္ေပးႏိုင္သည္။ ထို႔ေၾကာင့္ ထိုတခုထဲကို ပံုေအာအားမကိုးပါႏွင့္။ bug သို႔မဟုတ္ feature အသစ္အတြက္ မွတ္ခ်က္ရွိပါက အသိေပးပါ။

### hidden service ဆိုတာဘာလဲ

hidden service က သင့္ကို HTTP service သို႔မဟုတ္ IP လိပ္စာမေဖာ္ျပပဲလုပ္ရသည့္ TCP အေျခခံ service အကုန္ ေထာက္ပံ့ေပးႏိုင္ပါသည္။ hidden service ကိုေထာက္ပံ့ေပးမည့္ protocol ကို Tor က လံုၿခံဳေရးအတြက္အသံုးျပဳထားသည့္ အခ်က္အလက္မ်ားရွိသည့္ circuit မ်ားတြင္ တည္ေဆာက္ထားပါသည္။

hidden service အတြက္ အေသးစိတ္အခ်က္လက္မ်ားကို Tor's design paper (doc/design-paper/tor-design.pdf) သို႔မဟုတ္ Rendezvous Specification (doc/spec/rend-spec.txt)၏ က႑ ၅ တြင္ဖတ္ပါ။

### hidden service ကိုဘယ္လို ေထာက္ပံ့ေပးရမလဲ

hidden service ကိုေထာက္ပံ့ျခင္းတြင္ အနည္းဆံုးအဆင့္ ၂ ခုရွိပါသည္

1. web server ကိုသြင္းယူျခင္း (IRC ကဲ့သို႔ သင္ေထာက္ပံ့လိုေသာ မည္သည့္ service မဆို၏ဆာဗာအတြက္) local request မ်ားကိုၾကည့္ပါ။
2. သင္၏ hidden service ကို configure လုပ္ပါ။ ထိုအခါမွ သင့္ local server ထဲကို Tor user မ်ားထံမွ relay request မ်ားေရာက္ပါမည္။

Tor website (https://www.torproject.org/docs/tor-hidden-service.html)တြင္ အေသးစိတ္ကို အဆင့္လိုက္ျပထားေသာ tutorial ေကာင္းမ်ားရွိပါသည္။

### ဘယ္ေဒတာေတြကို ေထာက္ပံ့ေပးဖို႔လိုသလဲ။

service table တြင္ configured hidden အေၾကာင္းပါဝင္ေသာ colum ၅ ခုပါရွိသည္။

- Onion လိပ္စာ (ေဖာ္ျပျပီး): Tor သည္ သင့္ဝန္ေဆာင္မႈကို ေရြးထုတ္ျခင္းအားျဖင့္ ဝန္ေဆာင္မႈ (သို႔မဟုတ္ onion) လိပ္စာကို ေဖာ္ျပေပးပါသည္။ ဝန္ေဆာင္မႈကို ရယူႏိုင္ေသာ သူေတြကို onion လိပ္စာကို ေပးပါ။ "Copy to clipboard" button ကို typos အား ေရွာင္ၾကဥ္ရန္ အသံုးျပဳႏိုင္သည္။ အကယ္၍ ဝွက္ထားေသာ ဝန္ေဆာင္မႈကို ဖန္တီးျပီးသြားခဲ့လွ်င္ "[Created by Tor]" လို႔ ေျပာလိမ့္မည္။ onion လိပ္စာ အစစ္မွန္ကို ျပသရန္ အလို႔ငွာ သင့္ ျပင္ဆင္ခ်က္မ်ားကို သိမ္းထားရန္ လိုအပ္ျပီး setting မ်ား၏ window ကို ျပန္ဖြင့္ရ လိုအပ္မည္ ျဖစ္သည္။
- Virtual Port (လိုအပ္သည္): ၎သည္ သင့္ဝန္ေဆာင္မႈကို ရယူရန္ အလို႔ငွာ client က သိရန္ လိုအပ္ေသာ TCP port ျဖစ္သည္။ ပံုမွန္အားျဖင့္ သတ္မွတ္ထားေသာ ဝန္ေဆာင္မႈ port ကို အသံုးျပဳလိမ့္မည္။ ဥပမာ HTTP အတြက္ port 80 ။ virtual port သည္ ပံုမွန္အားျဖင့္ firewall setting မ်ားႏွင့္ ျပဳလုပ္ရန္ မရွိပါ အဘယ့္ေၾကာင့္ဆုိေသာ္ ၎သည္ Tor ကို internally သာ အသံုးျပဳေသာေၾကာင့္ ျဖစ္သည္။
- Target (optional): "Virtual Port" ထဲရွိ သင္သတ္မွတ္ထားသည့္ တစ္ခုထက္ မတူညီေသာ port ေပၚရွိ localhost ကို Tor ဆီမွ relay ဆက္သြယ္မႈ request ပံုမွန္ျပဳလုပ္လိမ့္မည္။ ထို႔ေၾကာင့္ ဦးတည္ခ်က္ပါဝင္ေသာ physical လိပ္စာကို သင္သတ္မွတ္ႏိုင္ျပီး port ဆီမွ သင့္ဝွက္ထားေသာ ဝန္ေဆာင္မႈဆီသို႔ redirect ျပဳလုပ္ရန္ request လုပ္ႏိုင္သည္။ ဥပမာ localhost:5222 သို႔ (သို႔မဟုတ္ port သည္ သင့္ဆာဗာကို မည္သို႔ listen ျပဳလုပ္သည္ျဖစ္ေစ)။ မည္သည့္ ဦးတည္ခ်က္ကိုမွ သင္မသတ္မွတ္ ႏိုင္ခဲ့လွ်င္ localhost ထဲရွိ "Virtual Port" ထဲတြင္ port သတ္မွတ္ရန္ Tor က request မ်ားကို redirect လုပ္လိမ့္မည္။
- Service Directory (required): Tor သည္ သပ္သပ္စီ ခြဲထုတ္ထားေသာ directory ထဲတြင္ အခ်ိဳ႕ ဝွက္ထားေသာ ဝန္ေဆာင္မႈ သတ္မွတ္ခ်က္ဖိုင္မ်ားကို သိမ္းထားရန္ လိုအပ္သည္။ ဥပမာ- private key ႏွင့္ onion လိပ္စာ ပါဝင္ေသာ hostname ဖိုင္။ ၎ directory သည္ ဝန္ေဆာင္မႈက ေထာက္ပံ့ေပးေသာ content မ်ားပါဝင္ေသာ directory ႏွင့္ ကြဲျပားသင့္သည္။ ဝန္ေဆာင္မႈ directory အတြက္ အေကာင္းဆံုး ေနရာသည္ Tor ၏ data directory ထဲတြင္ directory အခြဲတစ္ခုသာ ျဖစ္သင့္သည္။ run ေနေသာ ဝန္ေဆာင္မႈ၏ directory ကို မေျပာင္းႏိုင္သည္ကို မွတ္ထားပါ။ (၎ကို ခြင့္ျပဳရန္ မျဖစ္ႏိုင္ပါ အဘယ့္ေၾကာင့္ဆိုေသာ္ သင့္ hard disk ေပၚရွိ directory မ်ားကို ဖယ္ထုတ္ရန္ အေထာက္ကူမေပးႏိုင္ပါ) အကယ္၍ အျခားေသာ directory သို႔ ဝွက္ထားေသာ ဝန္ေဆာင္မႈကို ေရႊ႕ေျပာင္းခ်င္လွ်င္ ေက်းဇူးျပဳ၍ ေအာက္ပါအတိုင္း ျပဳလုပ္ပါ: Vidalia ထဲရွိ ဝန္ေဆာင္မႈကို disable ျပဳလုပ္ရန္ စတင္ပါ။ ျပင္ဆင္ခ်က္မ်ားကို သိမ္းပါ။ ထို႔ေနာက္ သင့္ hard disk ေပၚက directory ကို ေနရာအသစ္သို႔ ေရႊ႕ပါ။ Vidalia ထဲရွိ directory ကို ေနရာ အသစ္သို႔ ေျပာင္းပါ။ ဝန္ေဆာင္မႈကို enable လုပ္ပါ။ ျပင္ဆင္ခ်က္အသစ္ကို သိမ္းပါ။
- Enabled: အကယ္၍ checkbox ကို disable လုပ္ထားလွ်င္ Vidalia သည္ Tor ထဲရွိ ဝွက္ထားသည့္ ဝန္ေဆာင္မႈကို မျပင္ဆင္ႏိုင္ပါ။ ၎သည္ လက္ရွိအသံုးမလိုေသာ ဝန္ေဆာင္မႈ၏ ျပင္ဆင္ခ်က္မ်ားကို သိမ္းထား ျခင္းအားျဖင့္ ေနာက္ပိုင္းအသံုးျပဳရန္ အသံုးဝင္ႏိုင္သည္။ enable မလုပ္ထားေသာ ဝန္ေဆာင္မႈမ်ား အားလံုးကို သတ္မွတ္ထားေသာ Vidalia ျပင္ဆင္ခ်က္ ဖိုင္ vidalia.conf ထဲတြင္ သိမ္းထားသည္။

### button ငါးခုက ဘာအတြက္ အသံုးျပဳတာလဲ?

- ဝန္ေဆာင္မႈမ်ားကိုထပ္ေပါင္းျခင္း: ဝန္ေဆာင္မႈအသစ္ ျပင္ဆင္မႈမ်ားကို ဖန္တီးပါ။
- ဝန္ေဆာင္မႈမ်ားကိုျဖဳတ္ျခင္း: ဝွက္ထားေသာ ဝန္ေဆာင္မႈ ျပင္ဆင္ျခင္းမ်ားကို ထာဝရ ျဖဳတ္ပစ္သည္။ (အကယ္၍ ဝန္ေဆာင္မႈကို ယာယီျဖဳတ္ခ်င္လွ်င္ enable လုပ္ထားျပီးသား checkbox ကို uncheck လုပ္ပါ။)
- Copy to clipboard: clipboard သို႔ onion လိပ္စာကို ကူးပါ။ ထို႔ေၾကာင့္ သင့္ဝန္ေဆာင္မႈကို မည္သူမဆို အသံုးျပဳရန္ ေျပာျပႏိုင္ပါသည္။
- Browse: local ဝန္ေဆာင္မႈ directory ကို ရွာေဖြရန္ ခြင့္ျပဳသည္။

### အဆင့္ျမင့္ ဝွက္ထားေသာ ဝန္ေဆာင္မႈ setting မ်ားကို ျပင္ဆင္ႏိုင္ပါသလား?

Tor သည္ ဝွက္ထားေသာ ဝန္ေဆာင္မႈမ်ား အတြက္ သတ္မွတ္ထားေသာ setting မ်ားကို ျပင္ဆင္ရန္ ခြင့္ျပဳပါသည္။ ဥပမာ မိတ္ဆက္ ပြိဳင့္မ်ား အျဖစ္ ေသခ်ာေသာ node မ်ားကို အသံုးျပဳရန္ (သို႔မဟုတ္ ေရွာင္ၾကဥ္ရန္) သို႔မဟုတ္ တူညီေသာ ဝန္ေဆာင္မႈအတြက္ မ်ားစြာေသာ virtual port မ်ားကို ေထာက္ပံ့ေပးရန္ တို႔ ျဖစ္သည္။

ဘယ္လိုပဲျဖစ္ျဖစ္ ကၽြႏု္ပ္တို႔သည္ ဘံု setting မ်ားကိုသာ ေထာက္ပံ့ေပးရန္ ႏွင့္ Vidalia ထဲရွိ အရာမ်ားကို သတ္မွတ္ရန္ ဆံုးျဖတ္ခဲ့ပါသည္။ အကယ္၍ အဆင့္ျမင့္ setting မ်ားကို ျပင္ဆင္ခ်င္လွ်င္ Tor torrc ဖိုင္ထဲတြင္ ျပဳလုပ္ရန္ လိုအပ္ပါသည္။ ဝွက္ထားေသာ ဝန္ေဆာင္မႈမ်ားကို တည္းျဖတ္ေနတဲ့ အခါမွာေတာင္ Vidalia က ၎ setting မ်ားကို ဖယ္ထုတ္ လိမ့္မည္ မဟုတ္ပါ။ အကယ္၍ virtual port တစ္ခုထက္ပို၍ သတ္မွတ္ခ်င္လွ်င္ ပထမဦးစြာ ေဖာ္ျပေပးလိမ့္မည္ ျဖစ္ျပီး တည္းျဖတ္ႏိုင္ပါလိမ့္မည္။

### အျခား ဝွက္ထားေသာ ဝန္ေဆာင္မႈမ်ားကို ရယူရန္ Vidalia က ဘယ္လိုလုပ္သလဲ?

ထိုကဲ့သို႔ ျပဳလုပ္ရန္ မလိုအပ္ပါ။ အကယ္၍ အျခားေသာ ဝွက္ထားေသာ ဝန္ေဆာင္မႈကို ရယူခ်င္လွ်င္ ဝန္ေဆာင္မႈ၏ onion လိပ္စာကို သင့္ browser ထဲတြင္ ရိုက္ထည့္ပါ။ (သို႔မဟုတ္ web ဝန္ေဆာင္မႈ မဟုတ္လွ်င္ သင့္ေလွ်ာ္ေသာ client application ကိုသံုးပါ)။ က်န္တာကို Tor က ျပဳလုပ္ေပးပါမည္။ အဲ့ဒိအတြက္ Tor ကို အေထြထူး ျပင္ဆင္ရန္ မလိုအပ္ပါ။