Litokomane tsa Shadowsocks

Shadowsocks Configuration Format

Lokisa File

Li-Shadowsocks li nka litlhophiso tsa sebopeho sa JSON:

{

    "server":"my_server_ip",

    "Server_port": 8388,

    “boemakepe ba lehae”:1080,

    "password":"barfoo!",

    "mokhoa": "chacha20-ietf-poly1305"

}

JSON Format

  • seva: lebitso la moamoheli oa hau kapa IP ea seva (IPv4/IPv6).
  • server_port: nomoro ea boema-kepe ea seva.
  • local_port: nomoro ea boema-kepe ea lehae.
  • phasewete: phasewete e sebedisoang ho fetisetsoa ka mokhoa o patehileng.
  • mokhoa: mokhoa oa ho kenyelletsa.

Mokhoa oa ho Encryption

Re lokisa li-server tsa rona mme re khothaletsa hore o sebelise chacha20-ietf-poly1305 AEAD cipher hobane ke mokhoa o matla ka ho fetisisa oa ho kenyelletsa. 

Haeba u lokisa seva sa hau sa shadowsocks, u ka khetha ho tloha ho "chacha20-ietf-poly1305" kapa "aes-256-gcm".

URI & QR Code

Li-Shadowsocks tsa Android / IOS li boetse li nka li-configs tsa URI tse kentsoeng tsa BASE64:

ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG

 

URI e hlakileng e lokela ho ba: ss://method:password@hostname:port

URI e ka holimo ha e latele RFC3986. Lekunutu tabeng ena e lokela ho ba mongolo o hlakileng, eseng oa liperesente.



Mohlala: Re sebelisa seva ho 192.168.100.1:8888 sebelisa bf-cfb mokhoa oa encryption le password teko/!@#:

 

Ebe, ka URI e hlakileng ss://bf-cfb:test/!@#:@192.168.100.1:8888, re ka hlahisa URI e kentsoeng ea BASE64: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Ho thusa ho hlophisa le ho tseba li-URI tsena, o ka kenya tag ka mor'a khoele e kentsoeng ea BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Ho buisana

Li-Shadowsocks li sebelisa liaterese tse fumanehang ka mokhoa oa liaterese tsa SOCKS5:

[mofuta oa libaete tse 1][moamoheli oa bolelele bo feto-fetohang][2-byte port]

 

Mefuta ea liaterese ke ena:

  • 0x01 : moamoheli ke aterese ea IPv4 ea 4-byte.
  • 0x03 : moamoheli ke khoele e fapaneng ea bolelele, ho qala ka bolelele ba 1-byte, e lateloe ke lebitso la domain la max 255-byte.
  • 0x04 : moamoheli ke aterese ea IPv16 ea 6-byte.

 

Nomoro ea boema-kepe ke palo e kholo ea 2-byte e sa ngolisoang.

TCP

Moreki oa ss-local o qala khokahanyo ho ss-remote ka ho romella data e patiloeng ho qala ka aterese e hlakotsoeng e lateloang ke data ea litefiso. Khokahano e tla fapana ho latela cipher e sebelisitsoeng.

[aterese e reriloeng] [payload]

Ss-remote e amohela data e patiloeng, ebe e hlakola le ho fetisa aterese eo u e batlang. Ebe e theha khokahano e ncha ea TCP ho sepheo ebe e fetisetsa data ea tefo ho eona. ss-remote e fumana karabo ho tsoa ho sepheo ebe e encrypt data ebe e e fetisetsa ho ss-local ho fihlela e khaotsoe.

Bakeng sa merero ea ho hlaka, sebaka sa lehae le se hole li lokela ho romella data ea ho ts'oarana ka letsoho e nang le moputso o itseng ka har'a pakete ea pele.

UDP

ss-local e romella sephutheloana sa data se patiloeng se nang le aterese eo u lebelletseng ho eona le mojaro oa moputso ho ss-remote.

[aterese e reriloeng] [payload]

Hang ha sephutheloana se patiloeng se amoheloa, ss-remote decrypts le ho fetisa aterese eo u batlang ho e sheba. E ntan'o romela pakete e ncha ea data e nang le moputso ho sepheo. ss-remote e amohela lipakete tsa data ho tsoa ho sepheo mme e etella pele aterese e lebisitsoeng ho moputso oa pakete ka 'ngoe. Likopi tse patiloeng li khutlisetsoa ho ss-local.

[aterese e reriloeng] [payload]

Ts'ebetso ena e ka behoa ho ss-remote ho fetolela aterese ea marang-rang bakeng sa ss-local.

Qala teko ea hau ea matsatsi a 5 mahala