Shadowsocksi dokumentatsioon
NAVIGATSIOON
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.