Shadowsocks dokumentazioa
Nabigazioa
Shadowsocks konfigurazio formatua
Konfigurazio fitxategia
Shadowsocks-ek JSON formatuko konfigurazioak hartzen ditu:
{
“zerbitzari”:”nire_zerbitzari_ip”,
"Zerbitzari_ataka":8388,
"portu lokala":1080,
“pasahitza”:”barfoo!”,
"metodoa":"chacha20-ietf-poly1305"
}
JSON formatua
- zerbitzaria: zure ostalari-izena edo zerbitzariaren IP (IPv4/IPv6).
- server_port: zerbitzariaren atakaren zenbakia.
- local_port: tokiko atakaren zenbakia.
- pasahitza: transferentzia enkriptatzeko erabiltzen den pasahitza.
- metodo: metodo de encriptación.
Enkriptatzeko metodoa
Gure zerbitzariak konfiguratzen ditugu eta chacha20-ietf-poly1305 AEAD zifra erabiltzea gomendatzen dizugu, zifratzeko metodorik indartsuena delako.
Zure shadowsocks zerbitzaria konfiguratzen baduzu, "chacha20-ietf-poly1305" edo "aes-256-gcm" aukera dezakezu.
URI eta QR kodea
Shadowsocks-ek Android / IOSrako BASE64 kodetutako URI formatuaren konfigurazioak ere hartzen ditu:
ss://BASE64-CODED-STRING-WITHOUT-PADDING#TAG
URI arruntak hau izan behar du: ss://metodo:pasahitza@ostalari-izena:port
Goiko URIak ez du RFC3986 jarraitzen. Kasu honetan pasahitzak testu arrunta izan behar du, ez ehuneko kodetuta.
Adibidea: zerbitzari bat erabiltzen ari gara 192.168.100.1:8888 helbidean erabiliz bf-cfb enkriptatzeko metodoa eta pasahitza proba/!@#:.
Ondoren, URI arruntarekin ss://bf-cfb:test/!@#:@192.168.100.1:8888, BASE64 kodetutako URIa sor dezakegu:
> console.log( "ss://" + btoa ("bf-cfb:test/!@#:@192.168.100.1:8888"))
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg
URI hauek antolatzen eta identifikatzen laguntzeko, etiketa bat gehi dezakezu BASE64 kodetutako katearen ondoren:
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server
helbideratzeko
Shadowsocks-ek SOCKS5 helbide formatuan aurkitutako helbideak erabiltzen ditu:
[1 byte mota][luzera aldakorreko ostalaria][2 byte ataka]
Hona hemen zehaztutako helbide motak:
- 0x01 : host 4 byteko IPv4 helbidea da.
- 0x03: ostalaria luzera aldakorreko kate bat da, 1-byte-ko luzera batekin hasten da, eta ondoren gehienez 255-byte-ko domeinu-izena.
- 0x04 : host 16 byteko IPv6 helbidea da.
Portuaren zenbakia 2 byteko big-endian sinatu gabeko zenbaki oso bat da.
TCP
Ss-local bezeroak ss-remote-rako konexioa abiarazten du datu enkriptatuak bidaliz xede-helbidetik hasita eta karga-datuak jarraituz. Enkriptatzea desberdina izango da erabilitako zifratuaren arabera.
[helbidea]
Ss-remote-k enkriptatutako datuak jasotzen ditu, gero xede-helbidea deszifratzen eta analizatzen du. Ondoren, TCP konexio berri bat sortzen du xedearekin eta hari kargaren datuak birbidaltzen dizkio. ss-remote-k xedearen erantzuna jasotzen du, gero datuak enkriptatzen ditu eta ss-local-era birbidaltzen ditu deskonektatu arte.
Ofuskatze-helburuetarako, tokikoek eta urrunekoek esku-harremanaren datuak bidali beharko lituzkete lehen paketean karga pixka batekin.
UDP
ss-local-ek xede-helbidea eta karga-karga dituen enkriptatutako datu-paketea bidaltzen du ss-remote-ra.
[helbidea]
Enkriptatutako paketea jaso ondoren, ss-remote-k xede-helbidea deszifratzen eta analizatzen du. Ondoren, datu-pakete berri bat bidaltzen du helburura kargarekin. ss-remote-k helburuko datu-paketeak jasotzen ditu eta xede-helbidea jartzen dio pakete bakoitzeko kargari. Enkriptatutako kopiak ss-local-era bidaltzen dira.
[helbidea]
Prozesu hau ss-remote ss-local-erako sare-helbideen itzulpena egitean laburtu daiteke.