Shadowsocks dukumeenti

Qaabka Habaynta Shadowsocks

Config Faylka

Shadowsocks waxay qaadataa qaabaynta JSON:

{

    "server":"my_server_ip",

    "server_port":8388,

    "Dekedda_maxalli":1080,

    "password":"barfoo!",

    "Qaabka":"chacha20-ietf-poly1305"

}

Qaabka JSON

  • server Magacaaga martida loo yahay ama serverka IP (IPv4/IPv6).
  • server_port: nambarka dekedda serverka.
  • local_port: nambarka dekada deegaanka.
  • erayga sirta ah: erayga sirta ah ee loo isticmaalo in lagu sireeyo wareejinta.
  • habka: habka sireed.

Habka sirta

Waanu habaynaynaa adeegayaashayada waxaanan kugula talinaynaa inaad isticmaasho chacha20-ietf-poly1305 AEAD cipher sababtoo ah waa habka ugu adag ee sirta. 

Haddii aad habaynayso server-kaaga shadowsocks, waxaad ka dooran kartaa midkood "chacha20-ietf-poly1305" ama "aes-256-gcm".

URI & Koodhka QR

Shadowsocks ee Android / IOS sidoo kale waxay qaadataa BASE64 qaabeynta qaabka URI:

ss://BASE64-XILDHIBAAN-XILDHIBAAN-LA'AAN-XARAAN#TAG

 

URI-ga cad waa inuu ahaado: ss://habka:password@hostname:port

URI-ga sare ma raaco RFC3986. Erayga sirta ah ee kiiskan waa inuu ahaadaa qoraal cad, oo aan boqolkiiba boqol la sugin.



Tusaale: Waxaan isticmaaleynaa server ka 192.168.100.1:8888 isticmaalaya bf-cfb habka sirta ah iyo erayga sirta ah imtixaan/!@#:

 

Kadib, oo leh URI cad ss://bf-cfb:tijaabada/!@#:@192.168.100.1:8888, waxaan soo saari karnaa BASE64 ku lifaaqan URI: 

 

> console.log ("ss://" + btoa

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Si aad gacan uga geysato abaabulka iyo aqoonsiga URI-yadan, waxaad ku dhejin kartaa sumad ka dib xargaha summada leh ee BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Adegidda

Shadowsocks waxay isticmaashaa ciwaanada laga helay qaabka cinwaanka SOCKS5:

[Nooca 1-byte] [martigeliyaha dhererka isbeddelka] [2-byte port]

 

Waa kuwan noocyada cinwaanka lagu qeexay:

  • 0x01: martigeliyaha waa ciwaanka 4-byte IPv4.
  • 0x03 : martida loo yahay waa xadhig dhererka doorsooma, oo ka bilaabma dhererka 1-byte, oo uu ku xigo magaca 255-byte ee ugu badan.
  • 0x04: martigeliyaha waa ciwaanka 16-byte IPv6.

 

Lambarka dekeddu waa 2-byte-indian weyn oo aan saxeexin.

TCP

Macmiilka ss-maxalliga ahi waxa uu bilaabay xidhiidhinta ss-remote isaga oo soo diraya xog sir ah oo ka bilaabmaysa ciwaanka bartilmaameedka ah oo ay ku xigto xogta lacag-bixinta. Sirintu way ka duwanaan doontaa iyadoo ku xidhan ciferka la isticmaalay.

[cinwaanka bartilmaameedka][loadload]

ss-remote-ku waxa uu helayaa xogta sir ah,kadibna waxa uu furfuraa oo kala saaraa ciwaanka bartilmaameedka ah. Kadibna waxay abuurtaa xiriir TCP cusub bartilmaameedka waxayna u gudbisaa xogta culeyska. ss-remote waxa ay ka helaan jawaabta bartilmaameedka ka dibna sir xogta oo dib ugu celi ss-local ilaa ay ka go'do.

Ujeedooyinka qarsoodiga ah, kuwa maxalliga ah iyo kuwa fog-fog waa inay soo diraan xogta gacan-qaadka oo ay wataan xoogaa lacag ah oo ku jira xirmada koowaad.

UDP

ss-local waxay soo dirtaa baakidhka xogta sir ah oo ka kooban ciwaanka bartilmaameedka iyo culayska la saarayo ss-remote.

[cinwaanka bartilmaameedka][loadload]

Marka baakidhka sir ah la helo, ss-remote wuxuu furfuraa oo kala saaraa ciwaanka bartilmaameedka ah. Kadib waxay soo dirtaa xirmo xogeed cusub oo culeyska lagu saarayo bartilmaameedka. ss-remote waxa ay ka heshaa baakidhka xogta bartilmaameedka oo u siidiya ciwaanka bartilmaameedka culayska baakidh kasta. Nuqullada sir ah ayaa dib loogu soo celiyaa ss-local.

[cinwaanka bartilmaameedka][loadload]

Habkan waxa lagu karkarin karaa ss-remote oo fulinaya turjumaada ciwaanka shabakada ee ss-local.

Bilow tijaabadaada bilaashka ah ee 5-maalmood