షాడోసాక్స్ డాక్యుమెంటేషన్
నావిగేషన్
షాడోసాక్స్ కాన్ఫిగరేషన్ ఫార్మాట్
ఫైల్ను కాన్ఫిగర్ చేయండి
షాడోసాక్స్ JSON ఫార్మాట్ కాన్ఫిగరేషన్లను తీసుకుంటుంది:
{
“సర్వర్”:”my_server_ip”,
“సర్వర్_పోర్ట్”:8388,
“లోకల్_పోర్ట్”:1080,
“పాస్వర్డ్”:”బార్ఫూ!”,
“పద్ధతి”:”chacha20-ietf-poly1305″
}
JSON ఫార్మాట్
- సర్వర్: మీ హోస్ట్ పేరు లేదా సర్వర్ IP (IPv4/IPv6).
- సర్వర్_పోర్ట్: సర్వర్ పోర్ట్ నంబర్.
- local_port: స్థానిక పోర్ట్ సంఖ్య.
- పాస్వర్డ్: బదిలీని గుప్తీకరించడానికి ఉపయోగించే పాస్వర్డ్.
- పద్ధతి: ఎన్క్రిప్షన్ పద్ధతి.
ఎన్క్రిప్షన్ పద్ధతి
మేము మా సర్వర్లను కాన్ఫిగర్ చేస్తాము మరియు మీరు chacha20-ietf-poly1305 AEAD సాంకేతికలిపిని ఉపయోగించమని సిఫార్సు చేస్తున్నాము ఎందుకంటే ఇది ఎన్క్రిప్షన్ యొక్క బలమైన పద్ధతి.
మీ స్వంత shadowsocks సర్వర్ని కాన్ఫిగర్ చేస్తే, మీరు “chacha20-ietf-poly1305” లేదా “aes-256-gcm” నుండి ఎంచుకోవచ్చు.
URI & QR కోడ్
Android / IOS కోసం షాడోసాక్స్ BASE64 ఎన్కోడ్ చేసిన URI ఫార్మాట్ కాన్ఫిగరేషన్లను కూడా తీసుకుంటుంది:
ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG
సాదా URI ఇలా ఉండాలి: ss://మెథడ్:పాస్వర్డ్@హోస్ట్నేమ్:పోర్ట్
పై URI RFC3986ని అనుసరించదు. ఈ సందర్భంలో పాస్వర్డ్ సాదా వచనంగా ఉండాలి, శాతం ఎన్కోడ్ చేయకూడదు.
ఉదాహరణ: మేము 192.168.100.1:8888 వద్ద సర్వర్ని ఉపయోగిస్తున్నాము ఉపయోగించి bf-cfb ఎన్క్రిప్షన్ పద్ధతి మరియు పాస్వర్డ్ పరీక్ష/!@#:.
అప్పుడు, సాదా URIతో ss://bf-cfb:test/!@#:@192.168.100.1:8888, మేము BASE64 ఎన్కోడ్ చేసిన URIని రూపొందించవచ్చు:
> console.log( “ss://” + btoa(“bf-cfb:test/!@#:@192.168.100.1:8888”) )
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg
ఈ URIలను నిర్వహించడంలో మరియు గుర్తించడంలో సహాయం చేయడానికి, మీరు BASE64 ఎన్కోడ్ చేసిన స్ట్రింగ్ తర్వాత ట్యాగ్ని జోడించవచ్చు:
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server
ప్రసంగిస్తూ
షాడోసాక్స్ SOCKS5 చిరునామా ఆకృతిలో కనిపించే చిరునామాలను ఉపయోగిస్తుంది:
[1-బైట్ రకం][వేరియబుల్-పొడవు హోస్ట్][2-బైట్ పోర్ట్]
నిర్వచించిన చిరునామా రకాలు ఇక్కడ ఉన్నాయి:
- 0x01 : హోస్ట్ అనేది 4-బైట్ IPv4 చిరునామా.
- 0x03 : హోస్ట్ అనేది వేరియబుల్ లెంగ్త్ స్ట్రింగ్, ఇది 1-బైట్ పొడవుతో ప్రారంభమవుతుంది, దాని తర్వాత గరిష్టంగా 255-బైట్ డొమైన్ పేరు ఉంటుంది.
- 0x04 : హోస్ట్ అనేది 16-బైట్ IPv6 చిరునామా.
పోర్ట్ సంఖ్య 2-బైట్ పెద్ద-ఎండియన్ సంతకం చేయని పూర్ణాంకం.
TCP
ss-లోకల్ క్లయింట్ పేలోడ్ డేటా తర్వాత లక్ష్య చిరునామాతో ప్రారంభించి గుప్తీకరించిన డేటాను పంపడం ద్వారా ss-remoteకి కనెక్షన్ను ప్రారంభిస్తుంది. ఉపయోగించిన సాంకేతికలిపిని బట్టి ఎన్క్రిప్షన్ భిన్నంగా ఉంటుంది.
[లక్ష్య చిరునామా] [పేలోడ్]
ss-రిమోట్ గుప్తీకరించిన డేటాను స్వీకరిస్తుంది, ఆపై లక్ష్య చిరునామాను డీక్రిప్ట్ చేసి అన్వయిస్తుంది. అప్పుడు అది లక్ష్యానికి కొత్త TCP కనెక్షన్ని సృష్టిస్తుంది మరియు పేలోడ్ డేటాను దానికి ఫార్వార్డ్ చేస్తుంది. ss-remote లక్ష్యం నుండి ప్రత్యుత్తరాన్ని అందుకుంటుంది, ఆపై డేటాను ఎన్క్రిప్ట్ చేస్తుంది మరియు డిస్కనెక్ట్ అయ్యే వరకు దాన్ని తిరిగి ss-localకి ఫార్వార్డ్ చేస్తుంది.
అస్పష్ట ప్రయోజనాల కోసం, లోకల్ మరియు రిమోట్ మొదటి ప్యాకెట్లో కొంత పేలోడ్తో హ్యాండ్షేక్ డేటాను పంపాలి.
UDP
ss-local లక్ష్య చిరునామా మరియు పేలోడ్ను కలిగి ఉన్న ఎన్క్రిప్టెడ్ డేటా ప్యాకెట్ను ss-remoteకి పంపుతుంది.
[లక్ష్య చిరునామా] [పేలోడ్]
గుప్తీకరించిన ప్యాకెట్ స్వీకరించబడిన తర్వాత, ss-రిమోట్ లక్ష్య చిరునామాను డీక్రిప్ట్ చేస్తుంది మరియు అన్వయిస్తుంది. ఇది పేలోడ్తో కొత్త డేటా ప్యాకెట్ను లక్ష్యానికి పంపుతుంది. ss-remote లక్ష్యం నుండి డేటా ప్యాకెట్లను స్వీకరిస్తుంది మరియు ప్రతి ప్యాకెట్లోని పేలోడ్కు లక్ష్య చిరునామాను ముందుగా ఉంచుతుంది. గుప్తీకరించిన కాపీలు ss-localకి తిరిగి పంపబడతాయి.
[లక్ష్య చిరునామా] [పేలోడ్]
ఈ ప్రక్రియను ss-లోకల్ కోసం నెట్వర్క్ అడ్రస్ అనువాదాన్ని ప్రదర్శించే ss-రిమోట్కు ఉడకబెట్టవచ్చు.