Shadowsocks documentation

Shadowsocks Configuration Format

Config File

Ny Shadowsocks dia maka endrika endrika JSON:

{

    “server”:”my_server_ip”,

    "server_port":8388,

    “local_port”:1080,

    "password":"barfoo!",

    “fomba”:”chacha20-ietf-poly1305″

}

Format JSON

  • mpizara : ny anaranao mpampiantrano na ny mpizara IP (IPv4/IPv6).
  • server_port: laharan'ny seranan-tsambo.
  • local_port: laharana seranan-tsambo eo an-toerana.
  • tenimiafina: tenimiafina ampiasaina hanodinana ny famindrana.
  • fomba: fomba encryption.

Fomba fanafenana

Ampifandraiso amin'ny mpizara anay izahay ary manoro hevitra anao hampiasa ny sivana chacha20-ietf-poly1305 AEAD satria io no fomba matanjaka indrindra amin'ny fanafenana. 

Raha manamboatra ny mpizara shadowsocks anao ianao dia afaka misafidy amin'ny "chacha20-ietf-poly1305" na "aes-256-gcm".

URI & QR Code

Shadowsocks ho an'ny Android / IOS koa dia maka BASE64 voakodia amin'ny endrika URI:

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

 

Ny URI tsotra dia tokony: ss://method:password@hostname:port

Ny URI etsy ambony dia tsy manaraka RFC3986. Ny tenimiafina amin'ity tranga ity dia tokony ho lahatsoratra tsotra, fa tsy voakodia isan-jato.



Ohatra: Mampiasa mpizara izahay amin'ny 192.168.100.1:8888 mampiasa bf-cfb fomba fanafenana sy tenimiafina fitsapana/!@#:

 

Avy eo, miaraka amin'ny URI tsotra ss://bf-cfb:test/!@#:@192.168.100.1:8888, afaka mamorona ny URI voakodia BASE64 isika: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Mba hanampiana amin'ny fandaminana sy hamantarana ireo URI ireo dia azonao atao ny manisy marika aorian'ny tady voarakotra BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

niresaka

Shadowsocks dia mampiasa ny adiresy hita ao amin'ny endrika adiresy SOCKS5:

[karazana 1-byte][mpampiantrano amin'ny halavany miovaova][serana 2-byte]

 

Ireto ny karazana adiresy voafaritra:

  • 0x01 : adiresy IPv4 4-byte ny mpampiantrano.
  • 0x03 : ny mpampiantrano dia tady miovaova ny halavany, manomboka amin'ny halavan'ny 1-byte, arahin'ny anarana domaine max 255-byte.
  • 0x04 : adiresy IPv16 6-byte ny mpampiantrano.

 

Ny laharan'ny seranan-tsambo dia integer 2-byte big-endian tsy misy sonia.

TCP

Ny mpanjifa ss-local dia manomboka fifandraisana amin'ny ss-remote amin'ny alàlan'ny fandefasana angon-drakitra miafina manomboka amin'ny adiresy kendrena arahin'ny angon-drakitra entana. Ny encryption dia ho hafa noho ny cipher ampiasaina.

[adiresy kendrena]

Ny ss-remote dia mandray ny angon-drakitra voatahiry, avy eo dia mamadika sy manara-maso ny adiresy kendrena. Avy eo dia mamorona fifandraisana TCP vaovao amin'ny lasibatra izy ary mandefa ny angon-drakitra momba izany. Ny ss-remote dia mahazo valiny avy amin'ny lasibatra avy eo dia mametaka ny angon-drakitra ary mamerina izany any amin'ny ss-local mandra-pahatapaka azy.

Ho an'ny tanjona fanakorontanana, ny eo an-toerana sy ny lavitr'ezaka dia tokony handefa ny angon-drakitra mifandray tanana miaraka amin'ny entana sasany ao amin'ny fonosana voalohany.

UDP

Ny ss-local dia mandefa ny fonosana angon-drakitra voatahiry misy ny adiresy kendrena sy ny entana ho an'ny ss-remote.

[adiresy kendrena]

Raha vao voaray ilay fonosana miafina, ss-remote decrypts ary manara-maso ny adiresy kendrena. Avy eo dia mandefa fonosana data vaovao miaraka amin'ny enta-mavesatra mankany amin'ny tanjona. Ny ss-remote dia mandray ny packet data avy amin'ny kendrena ary manomana ny adiresin'ny kendrena amin'ny entana isaky ny fonosana. Averina any amin'ny ss-local ny dika voasivana.

[adiresy kendrena]

Ity dingana ity dia azo atambatra ho ss-lavitra manao fandikana adiresy tambajotra ho an'ny ss-local.

Atombohy ny fitsapana maimaim-poana mandritra ny 5 andro