Shadowsocks dokumentazioa

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.

Hasi zure 5 eguneko doako proba