Dokumentazzjoni Shadowsocks
Navigazzjoni
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.