Shadowsocksi dokumentatsioon

Shadowsocksi konfiguratsioonivorming

Faili seadistamine

Shadowsocks võtab JSON-vormingus konfiguratsioonid:

{

    "server":"minu_serveri_ip",

    "server_port":8388,

    "local_port":1080,

    "password":"barfoo!",

    "meetod":"chacha20-ietf-poly1305"

}

JSON-vorming

  • server: teie hostinimi või serveri IP (IPv4/IPv6).
  • server_port: serveri pordi number.
  • local_port: kohaliku pordi number.
  • parool: parool, mida kasutatakse ülekande krüptimiseks.
  • meetod: krüpteerimismeetod.

Krüpteerimismeetod

Konfigureerime oma serverid ja soovitame kasutada chacha20-ietf-poly1305 AEAD šifrit, kuna see on tugevaim krüpteerimismeetod. 

Kui konfigureerite oma shadowsocks-serverit, saate valida kas "chacha20-ietf-poly1305" või "aes-256-gcm".

URI ja QR-kood

Shadowsocks Androidile / IOS-ile võtab ka BASE64 kodeeritud URI-vormingus konfiguratsioonid:

ss://BASE64-KODEERITUD-JAING-ILMA PADDINGTA#TAG

 

Tavaline URI peaks olema: ss://method:password@hostname:port

Ülaltoodud URI ei järgi RFC3986. Parool peaks sel juhul olema lihttekst, mitte protsentides kodeeritud.



Näide: kasutame serverit aadressil 192.168.100.1:8888 kasutamine bf-cfb krüpteerimismeetod ja parool test/!@#:

 

Seejärel tavalise URI-ga ss://bf-cfb:test/!@#:@192.168.100.1:8888, saame genereerida BASE64 kodeeritud URI: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Nende URI-de korrastamise ja tuvastamise hõlbustamiseks saate BASE64 kodeeritud stringi järele lisada sildi:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Aadressimine

Shadowsocks kasutab SOCKS5 aadressivormingus leitud aadresse:

[1-baidine tüüp][muutuva pikkusega host][2-baidine port]

 

Siin on määratletud aadressitüübid:

  • 0x01: host on 4-baidine IPv4-aadress.
  • 0x03 : host on muutuva pikkusega string, mis algab 1-baidise pikkusega, millele järgneb kuni 255-baidine domeeninimi.
  • 0x04: host on 16-baidine IPv6-aadress.

 

Pordi number on 2-baidine suur-endian märgita täisarv.

TCP

ss-local klient algatab ühenduse ss-remote'iga, saates krüptitud andmed, mis algavad sihtaadressist, millele järgnevad kasulikud andmed. Krüpteerimine on olenevalt kasutatavast šifrist erinev.

[siht-aadress][koormus]

SS-pult võtab krüptitud andmed vastu, seejärel dekrüpteerib ja analüüsib sihtaadressi. Seejärel loob see sihtmärgiga uue TCP-ühenduse ja edastab sellele kasuliku koormuse andmed. ss-remote saab sihtmärgilt vastuse, seejärel krüpteerib andmed ja saadab need tagasi ss-localile, kuni see katkestatakse.

Hägustamise eesmärgil peaksid kohalikud ja kaugseadmed saatma käepigistuse andmed koos mõne kasuliku koormusega esimeses paketis.

UDP

ss-local saadab sihtaadressi ja kasulikku koormust sisaldava krüptitud andmepaketi ss-remote'ile.

[siht-aadress][koormus]

Kui krüptitud pakett on vastu võetud, dekrüpteerib ja sõelub ss-remote sihtaadressi. Seejärel saadab see sihtmärgile uue andmepaketi kasuliku koormusega. ss-remote võtab sihtmärgilt vastu andmepaketid ja lisab sihtaadressi iga paketi kasuliku koormuse ette. Krüptitud koopiad saadetakse tagasi ss-localile.

[siht-aadress][koormus]

Selle protsessi saab taandata ss-remote'ile, mis teostab ss-locali võrguaadressi tõlkimise.

Alustage oma 5-päevast tasuta prooviperioodi