Dokumentacioni i Shadowsocks

Formati i konfigurimit të Shadowsocks

Konfiguro Skedarin

Shadowsocks merr konfigurimin e formatit JSON:

{

    "server":"my_server_ip",

    "server_port":8388,

    “local_port”:1080,

    "fjalëkalimi": "barfoo!",

    "metoda":"chacha20-ietf-poly1305"

}

Formati JSON

  • serveri: emri juaj i hostit ose IP i serverit (IPv4/IPv6).
  • server_port: numri i portës së serverit.
  • local_port: numri i portit lokal.
  • fjalëkalimi: një fjalëkalim i përdorur për të enkriptuar transferimin.
  • metoda: metoda e kriptimit.

Metoda e kriptimit

Ne konfigurojmë serverët tanë dhe rekomandojmë që të përdorni shifrën chacha20-ietf-poly1305 AEAD sepse është metoda më e fortë e kriptimit. 

Nëse konfiguroni serverin tuaj shadowsocks, mund të zgjidhni nga "chacha20-ietf-poly1305" ose "aes-256-gcm".

Kodi URI dhe QR

Shadowsocks për Android / IOS gjithashtu merr konfigurimin e formatit URI të koduar BASE64:

ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG

 

URI e thjeshtë duhet të jetë: ss://method:password@hostname:port

URI-ja e mësipërme nuk ndjek RFC3986. Fjalëkalimi në këtë rast duhet të jetë tekst i thjeshtë, jo i koduar me përqindje.



Shembull: Ne po përdorim një server në 192.168.100.1:8888 përdorim bf-cfb metodën e kriptimit dhe fjalëkalimin test/!@#:

 

Pastaj, me URI të thjeshtë ss://bf-cfb:test/!@#:@192.168.100.1:8888, ne mund të gjenerojmë URI të koduar BASE64: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Për të ndihmuar në organizimin dhe identifikimin e këtyre URI-ve, mund të shtoni një etiketë pas vargut të koduar BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

adresim

Shadowsocks përdor adresat e gjetura në formatin e adresës SOCKS5:

[Lloji 1 byte][host me gjatësi të ndryshueshme][port 2 byte]

 

Këtu janë llojet e adresave të përcaktuara:

  • 0x01 : hosti është një adresë IPv4 4 bajt.
  • 0x03 : hosti është një varg me gjatësi të ndryshueshme, duke filluar me një gjatësi 1 bajt, e ndjekur nga një emër domaini maksimumi 255 bajt.
  • 0x04 : hosti është një adresë IPv16 6 bajt.

 

Numri i portit është një numër i plotë i panënshkruar nga big-endian 2-bajtë.

TCP

Klienti ss-lokal fillon një lidhje me ss-remote duke dërguar të dhëna të koduara duke filluar me adresën e synuar të ndjekur nga të dhënat e ngarkesës. Kriptimi do të jetë i ndryshëm në varësi të kodit të përdorur.

[adresa e synuar][ngarkesa]

Telekomanda ss merr të dhënat e koduara, pastaj deshifron dhe analizon adresën e synuar. Pastaj krijon një lidhje të re TCP me objektivin dhe ia përcjell të dhënat e ngarkesës. ss-remote merr një përgjigje nga objektivi, më pas i kodon të dhënat dhe i kthen në ss-local derisa të shkëputet.

Për qëllime mjegullimi, lokale dhe në distancë duhet të dërgojnë të dhënat e shtrëngimit të duarve me një ngarkesë të caktuar në paketën e parë.

UDP

ss-local dërgon paketën e të dhënave të koduar që përmban adresën e synuar dhe ngarkesën në ss-remote.

[adresa e synuar][ngarkesa]

Pasi të merret paketa e koduar, ss-remote deshifron dhe analizon adresën e synuar. Më pas dërgon një paketë të re të dhënash me ngarkesën në objektiv. ss-remote merr paketat e të dhënave nga objektivi dhe ia parashtron adresën e synuar ngarkesës në çdo paketë. Kopjet e koduara kthehen në ss-local.

[adresa e synuar][ngarkesa]

Ky proces mund të zbërthehet në ss-remote kryerjen e një përkthimi të adresës së rrjetit për ss-local.

Filloni provën tuaj 5-ditore falas