Dokumentazzjoni Shadowsocks

Format tal-Konfigurazzjoni Shadowsocks

Fajl tal-Konfigurazzjoni

Shadowsocks jieħu konfigurazzjonijiet tal-format JSON:

{

    “server”:”my_server_ip”,

    "server_port":8388,

    “port_lokali”:1080,

    “password”:”barfoo!”,

    “metodu”:”chacha20-ietf-poly1305″

}

Format JSON

  • server: l-isem tal-host jew l-IP tas-server tiegħek (IPv4/IPv6).
  • server_port: numru tal-port tas-server.
  • local_port: numru tal-port lokali.
  • password: password użata biex tikkodifika t-trasferiment.
  • metodu: metodu ta 'kriptaġġ.

Metodu ta 'Encryption

Aħna kkonfiguraw is-servers tagħna u nirrakkomandaw li tuża ċ-ċifra AEAD chacha20-ietf-poly1305 minħabba li hija l-aktar metodu b'saħħtu ta 'encryption. 

Jekk tikkonfigura s-server tiegħek shadowsocks, tista 'tagħżel jew minn "chacha20-ietf-poly1305" jew "aes-256-gcm".

URI u Kodiċi QR

Shadowsocks għal Android / IOS jieħu wkoll konfigurazzjonijiet tal-format URI kodifikat BASE64:

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

 

L-URI sempliċi għandu jkun: ss://method:password@hostname:port

L-URI ta' hawn fuq ma jsegwix RFC3986. Il-password f'dan il-każ għandha tkun test sempliċi, mhux kodifikat fil-mija.



Eżempju: Qed nużaw server fuq 192.168.100.1:8888 jużaw bf-cfb metodu ta' encryption u password test/!@#:

 

Imbagħad, bl-URI sempliċi ss://bf-cfb:test/!@#:@192.168.100.1:8888, nistgħu niġġeneraw l-URI kodifikat BASE64: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Biex tgħin torganizza u tidentifika dawn l-URIs, tista' tehmeż tikketta wara s-sekwenza kodifikata BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Indirizzar

Shadowsocks juża l-indirizzi misjuba fil-format tal-indirizz SOCKS5:

[tip ta' byte] [ospiti ta' tul varjabbli] [port ta' 1 byte]

 

Hawn huma t-tipi ta' indirizz definiti:

  • 0x01 : il-host huwa indirizz IPv4 ta' 4 byte.
  • 0x03 : il-host huwa string ta' tul varjabbli, li jibda b'tul ta' byte 1, segwit minn isem ta' dominju massimu ta' 255 byte.
  • 0x04 : il-host huwa indirizz IPv16 ta' 6 byte.

 

In-numru tal-port huwa numru sħiħ mhux iffirmat ta' big-endian ta' 2 byte.

TCP

Il-klijent ss-local jibda konnessjoni ma' ss-remote billi jibgħat dejta kriptata li tibda bl-indirizz fil-mira segwit mid-dejta tat-tagħbija. Il-kriptaġġ se jkun differenti skont iċ-ċifra użata.

[indirizz fil-mira][loadload]

L-ss-remote jirċievi d-dejta kodifikata, imbagħad jiddeċifra u janalizza l-indirizz fil-mira. Imbagħad toħloq konnessjoni TCP ġdida mal-mira u tibgħatilha d-dejta tat-tagħbija. ss-remote jirċievi tweġiba mill-mira imbagħad jikkripta d-dejta u jibgħatha lura lil ss-local sakemm tiġi skonnettjata.

Għal skopijiet ta 'obfuscation, lokali u remoti għandhom jibagħtu d-dejta tal-handshake b'xi payload fl-ewwel pakkett.

UDP

ss-local jibgħat il-pakkett tad-dejta encrypted li fih l-indirizz fil-mira u t-tagħbija lill-ss-remote.

[indirizz fil-mira][loadload]

Ladarba l-pakkett ikkodifikat jiġi riċevut, ss-remote jiddeċifra u janalizza l-indirizz fil-mira. Imbagħad jibgħat pakkett ta 'dejta ġdid bit-tagħbija tal-merkanzija lejn il-mira. ss-remote jirċievi l-pakketti tad-dejta mill-mira u jipprependi l-indirizz tal-mira għat-tagħbija f'kull pakkett. Kopji kriptati jintbagħtu lura lil ss-local.

[indirizz fil-mira][loadload]

Dan il-proċess jista 'jiġi mgħolli biex ss-remote twettaq traduzzjoni ta' indirizz tan-netwerk għal ss-local.

Ibda l-prova tiegħek b'xejn ta' 5 ijiem