Shadowsocks documentation
Fikarohana
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.