dokuméntasi Shadowsocks

Format Konfigurasi Shadowsocks

File Konpigurasikeun

Shadowsocks nyandak konfigurasi format JSON:

{

    "server":"my_server_ip",

    "Server_port": 8388,

    "local_port": 1080,

    "sandi":"barfoo!",

    "Metoda": "chacha20-ietf-poly1305"

}

Format JSON

  • server: hostname atanapi server IP anjeun (IPv4/IPv6).
  • server_port: angka port server.
  • local_port: nomer port lokal.
  • sandi: sandi dipaké pikeun encrypt mindahkeun.
  • métode: métode énkripsi.

Métode Énkripsi

Kami ngonpigurasikeun server kami sareng nyarankeun yén anjeun nganggo cipher chacha20-ietf-poly1305 AEAD sabab éta mangrupikeun metode enkripsi anu paling kuat. 

Lamun ngonpigurasikeun server shadowsocks sorangan, Anjeun bisa milih ti boh "chacha20-ietf-poly1305" atawa "aes-256-gcm".

URI & QR Code

Shadowsocks pikeun Android / IOS ogé nyandak konfigurasi format URI anu disandikeun BASE64:

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

 

URI polos kedah: ss: // métode: sandi @ hostname: port

URI di luhur henteu nuturkeun RFC3986. Sandi dina hal ieu kudu téks polos, teu persen-disandikeun.



Conto: Kami nganggo server di 192.168.100.1:8888 ngagunakeun bf-cfb métode énkripsi sarta sandi uji/!@#:

 

Lajeng, kalawan URI polos ss://bf-cfb:test/!@#:@192.168.100.1:8888, urang tiasa ngahasilkeun URI disandikeun BASE64: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Pikeun ngabantosan ngatur sareng ngaidentipikasi URI ieu, anjeun tiasa nambihan tag saatos senar anu disandikeun BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

alamat

Shadowsocks nganggo alamat anu aya dina format alamat SOCKS5:

[Tipe 1-bait][host panjang variabel][port 2-bait]

 

Ieu mangrupikeun jinis alamat anu ditetepkeun:

  • 0x01: host mangrupikeun alamat IPv4 4-bait.
  • 0x03 : host nyaéta string panjang variabel, dimimitian ku panjang 1-bait, dituturkeun ku ngaran domain max 255-bait.
  • 0x04: host mangrupikeun alamat IPv16 6-bait.

 

Jumlah port nyaéta 2-bait badag-endian integer unsigned.

TCP

Klién ss-lokal ngamimitian sambungan ka ss-remote ku ngirim data énkripsi dimimitian ku alamat target dituturkeun ku data payload. Énkripsi bakal béda-béda gumantung kana cipher anu dianggo.

[alamat target][payload]

ss-remote nampi data énkripsi, teras ngadekrip sareng nga-parses alamat target. Teras nyiptakeun sambungan TCP énggal ka udagan sareng neraskeun data payload ka dinya. ss-remote nampi balesan ti udagan teras énkripsi data sareng teraskeun deui ka ss-local dugi ka dipegatkeun.

Pikeun tujuan obfuscation, lokal sareng jauh kedah ngirim data sasalaman sareng sababaraha muatan dina pakét munggaran.

UDP

ss-local ngirimkeun pakét data énkripsi anu ngandung alamat target sareng payload ka ss-remote.

[alamat target][payload]

Sakali pakét énkripsi ditampi, ss-remote ngadekrip sareng nga-parses alamat target. Éta teras ngirimkeun pakét data énggal kalayan muatan ka udagan. ss-remote narima pakét data ti udagan jeung prepends alamat target kana payload dina unggal pakét. Salinan énkripsi dikirim deui ka ss-local.

[alamat target][payload]

Prosés ieu bisa digodog nepi ka ss-jauh ngalakukeun tarjamahan alamat jaringan pikeun ss-lokal.

Mimitian percobaan Gratis 5 dinten anjeun