Shadowsocks ሰነድ

የ Shadowsocks ውቅር ቅርጸት

ፋይልን ያዋቅሩ

Shadowsocks የJSON ቅርጸት ውቅሮችን ይወስዳል፡-

{

    "አገልጋይ":"የእኔ_አገልጋይ_ip",

    "የአገልጋይ_ወደብ"፡8388፣

    "አካባቢያዊ_ወደብ":1080,

    "የይለፍ ቃል":"ባርፉ!",

    "ዘዴ":"chacha20-ietf-poly1305"

}

JSON ቅርጸት

  • አገልጋይ: የአስተናጋጅ ስምዎ ወይም የአገልጋይ አይፒ (IPv4/IPv6)።
  • server_port: የአገልጋይ ወደብ ቁጥር.
  • local_port: የአካባቢ ወደብ ቁጥር.
  • የይለፍ ቃል፡ ማስተላለፍን ለማመስጠር የሚያገለግል የይለፍ ቃል።
  • ዘዴ: የምስጠራ ዘዴ.

የምስጠራ ዘዴ

ሰርቨሮቻችንን እናዋቅራለን እና chacha20-ietf-poly1305 AEAD cipher መጠቀም በጣም ጠንካራው የምስጠራ ዘዴ ስለሆነ እንመክራለን። 

የራስዎን የ shadowsocks አገልጋይ ካዋቀሩ ከ"chacha20-ietf-poly1305" ወይም "aes-256-gcm" መምረጥ ይችላሉ።

URI እና QR ኮድ

Shadowsocks ለ አንድሮይድ/አይኦኤስ እንዲሁ በ BASE64 የተመሰጠረ የዩአርአይ ቅርፀት ውቅሮችን ይወስዳል፡-

ss://BASE64-የተቀየረ-ሕብረ-ቁምፊ-ያለ ማሸጊያ#TAG

 

ግልጽው URI፡ ss:// method:password@hostname:port መሆን አለበት።

ከላይ ያለው URI RFC3986 አይከተልም። በዚህ ጉዳይ ላይ ያለው የይለፍ ቃል ግልጽ ጽሑፍ እንጂ በመቶኛ የተቀመጠ መሆን የለበትም።



ምሳሌ፡ 192.168.100.1፡8888 ላይ አገልጋይ እየተጠቀምን ነው። በመጠቀም bf-cfb የምስጠራ ዘዴ እና የይለፍ ቃል ፈተና/!@#:

 

ከዚያ ከቀላል ዩአርአይ ጋር ss://bf-cfb:ፈተና/!@#:@192.168.100.1:8888የ BASE64 ኮድ URI መፍጠር እንችላለን፡- 

 

> console.log ("ss://" + btoa("bf-cfb:test/!@#:@192.168.100.1:8888"))

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

እነዚህን ዩአርአይዎች ለማደራጀት እና ለመለየት ለማገዝ ከBASE64 ኮድ ከተቀመጠው ሕብረቁምፊ በኋላ መለያ ማከል ይችላሉ፡

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

አድራሻ ማድረግ

Shadowsocks በ SOCKS5 አድራሻ ቅርፀት የሚገኙትን አድራሻዎች ይጠቀማል፡-

[1-ባይት ዓይነት][ተለዋዋጭ-ርዝመት አስተናጋጅ][2-ባይት ወደብ]

 

የተገለጹት የአድራሻ ዓይነቶች እነሆ፡-

  • 0x01፡ አስተናጋጅ ባለ 4-ባይት IPv4 አድራሻ ነው።
  • 0x03: አስተናጋጅ ተለዋዋጭ ርዝመት ሕብረቁምፊ ነው, በ 1-ባይት ርዝመት ይጀምራል, እና ከፍተኛው 255-ባይት የጎራ ስም ይከተላል.
  • 0x04፡ አስተናጋጅ ባለ 16-ባይት IPv6 አድራሻ ነው።

 

የወደብ ቁጥሩ ባለ2-ባይት ትልቅ-ኤንዲያን ያልተፈረመ ኢንቲጀር ነው።

TCP

የss-local ደንበኛ የተመሰጠረ ውሂብን ከዒላማው አድራሻ በመጀመር ከክፍያ ጭነት መረጃ ጋር በመላክ ከኤስኤስ-ርቀት ጋር ግንኙነት ይጀምራል። ምስጠራው በተጠቀመው ምስጠራ ላይ በመመስረት የተለየ ይሆናል።

[የዒላማ አድራሻ] [የክፍያ ጭነት]

የኤስኤስ-ርቀት መቆጣጠሪያው ኢንክሪፕት የተደረገውን መረጃ ይቀበላል፣ከዚያም ዲክሪፕት አድርጎ የዒላማ አድራሻውን ይተነትናል። ከዚያ ከዒላማው ጋር አዲስ የ TCP ግንኙነት ይፈጥራል እና የክፍያ ጭነት ውሂብ ወደ እሱ ያስተላልፋል። ss-remote ከዒላማው ምላሽ ከተቀበለ በኋላ ውሂቡን በማመስጠር ግንኙነቱ እስኪቋረጥ ድረስ ወደ ss-local ያስተላልፋል።

ለመደበቅ ዓላማዎች የአካባቢ እና የርቀት መቆጣጠሪያ የመጨባበጥ መረጃን ከተወሰነ ጭነት ጋር በመጀመሪያው ፓኬት መላክ አለባቸው።

UDP

ss-local ኢንክሪፕትድ የተደረገውን የዳታ ፓኬት ኢላማ አድራሻውን እና ክፍያውን ወደ ኤስኤስ-ርቀት ይልካል።

[የዒላማ አድራሻ] [የክፍያ ጭነት]

ኢንክሪፕት የተደረገው ፓኬት አንዴ ከደረሰ፣ ss-remote ዲክሪፕት አድርጎ የዒላማ አድራሻውን ይተነትናል። ከዚያም አዲስ የውሂብ ፓኬት ከክፍያ ጋር ወደ ዒላማው ይልካል. ss-remote የውሂብ እሽጎችን ከዒላማው ይቀበላል እና የዒላማውን አድራሻ በእያንዳንዱ ፓኬት ውስጥ ካለው ጭነት ጋር ያዘጋጃል። የተመሰጠሩ ቅጂዎች ወደ ss-local ይላካሉ።

[የዒላማ አድራሻ] [የክፍያ ጭነት]

ይህ ሂደት የአውታረ መረብ አድራሻን ለ ss-local በማከናወን ወደ ኤስኤስ-ርቀት መቀቀል ይቻላል።

የ5-ቀን ነጻ ሙከራህን ጀምር