Dokumentasi Shadowsocks

Format Konfigurasi Shadowsocks

Fail Konfigurasi

Shadowsocks mengambil konfigurasi format JSON:

{

    “server”:”my_server_ip”,

    “server_port”:8388,

    “local_port”:1080,

    “kata laluan”:”barfoo!”,

    “kaedah”:”chacha20-ietf-poly1305″

}

Format JSON

  • pelayan: nama hos atau IP pelayan anda (IPv4/IPv6).
  • server_port: nombor port pelayan.
  • local_port: nombor port tempatan.
  • kata laluan: kata laluan yang digunakan untuk menyulitkan pemindahan.
  • kaedah: kaedah penyulitan.

Kaedah Penyulitan

Kami mengkonfigurasi pelayan kami dan mengesyorkan agar anda menggunakan sifir AEAD chacha20-ietf-poly1305 kerana ia adalah kaedah penyulitan yang paling kuat. 

Jika mengkonfigurasi pelayan shadowsocks anda sendiri, anda boleh memilih sama ada "chacha20-ietf-poly1305" atau "aes-256-gcm".

URI & Kod QR

Shadowsocks untuk Android / IOS juga mengambil konfigurasi format URI yang dikodkan BASE64:

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

 

URI biasa hendaklah: ss://method:password@hostname:port

URI di atas tidak mengikut RFC3986. Kata laluan dalam kes ini hendaklah teks biasa, bukan dikodkan peratus.



Contoh: Kami menggunakan pelayan di 192.168.100.1:8888 menggunakan bf-cfb kaedah penyulitan dan kata laluan ujian/!@#:

 

Kemudian, dengan URI biasa ss://bf-cfb:test/!@#:@192.168.100.1:8888, kita boleh menjana URI yang dikodkan BASE64: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Untuk membantu mengatur dan mengenal pasti URI ini, anda boleh menambahkan teg selepas rentetan yang dikodkan BASE64:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Menangani

Shadowsocks menggunakan alamat yang terdapat dalam format alamat SOCKS5:

[jenis 1-bait][hos panjang pembolehubah][port 2-bait]

 

Berikut ialah jenis alamat yang ditakrifkan:

  • 0x01 : hos ialah alamat IPv4 4-bait.
  • 0x03 : hos ialah rentetan panjang berubah-ubah, bermula dengan panjang 1-bait, diikuti dengan nama domain maksimum 255-bait.
  • 0x04 : hos ialah alamat IPv16 6-bait.

 

Nombor port ialah integer tak bertanda big-endian 2-bait.

TCP

Pelanggan ss-local memulakan sambungan ke ss-remote dengan menghantar data yang disulitkan bermula dengan alamat sasaran diikuti dengan data muatan. Penyulitan akan berbeza bergantung pada sifir yang digunakan.

[alamat sasaran][muatan]

ss-remote menerima data yang disulitkan, kemudian menyahsulit dan menghuraikan alamat sasaran. Kemudian ia mencipta sambungan TCP baharu ke sasaran dan memajukan data muatan kepadanya. ss-remote menerima balasan daripada sasaran kemudian menyulitkan data dan memajukannya kembali ke ss-local sehingga ia diputuskan.

Untuk tujuan mengelirukan, setempat dan jauh harus menghantar data jabat tangan dengan beberapa muatan dalam paket pertama.

UDP

ss-local menghantar paket data yang disulitkan yang mengandungi alamat sasaran dan muatan ke ss-remote.

[alamat sasaran][muatan]

Sebaik sahaja paket yang disulitkan diterima, ss-remote menyahsulit dan menghuraikan alamat sasaran. Ia kemudian menghantar paket data baharu dengan muatan ke sasaran. ss-remote menerima paket data daripada sasaran dan menambah alamat sasaran kepada muatan dalam setiap paket. Salinan yang disulitkan dihantar semula ke ss-local.

[alamat sasaran][muatan]

Proses ini boleh dipecahkan kepada ss-remote melaksanakan terjemahan alamat rangkaian untuk ss-local.

Mulakan percubaan Percuma 5 hari anda