షాడోసాక్స్ డాక్యుమెంటేషన్

షాడోసాక్స్ కాన్ఫిగరేషన్ ఫార్మాట్

ఫైల్ను కాన్ఫిగర్ చేయండి

షాడోసాక్స్ 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-రిమోట్‌కు ఉడకబెట్టవచ్చు.

మీ 5-రోజుల ఉచిత ట్రయల్‌ని ప్రారంభించండి