Shadowsocks belgeleri

Shadowsocks Yapılandırma Biçimi

Yapılandırma dosyası

Shadowsocks, JSON biçimi yapılandırmalarını alır:

{

    “sunucu”:”my_server_ip”,

    "Sunucu_portu":8388,

    “yerel_bağlantı noktası”:1080,

    “şifre”:”barfoo!”,

    "yöntem": "chacha20-ietf-poly1305"

}

JSON Biçimi

  • sunucu: ana bilgisayar adınız veya sunucu IP'niz (IPv4/IPv6).
  • server_port: sunucu bağlantı noktası numarası.
  • local_port: yerel bağlantı noktası numarası.
  • şifre: aktarımı şifrelemek için kullanılan bir şifre.
  • yöntem: şifreleme yöntemi.

Şifreleme Yöntemi

Sunucularımızı yapılandırıyoruz ve en güçlü şifreleme yöntemi olduğu için chacha20-ietf-poly1305 AEAD şifresini kullanmanızı tavsiye ediyoruz. 

Kendi shadowsocks sunucunuzu yapılandırıyorsanız, "chacha20-ietf-poly1305" veya "aes-256-gcm" arasından seçim yapabilirsiniz.

URI ve QR Kodu

Android / IOS için Shadowsocks ayrıca BASE64 kodlu URI biçimi yapılandırmalarını da alır:

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

 

Düz URI şöyle olmalıdır: ss://method:password@hostname:port

Yukarıdaki URI, RFC3986'yı takip etmez. Bu durumda şifre, yüzde kodlu değil, düz metin olmalıdır.



Örnek: 192.168.100.1:8888 adresinde bir sunucu kullanıyoruz kullanma erkek arkadaş-cfb şifreleme yöntemi ve parola Ölçek/!@#:

 

Ardından, düz URI ile ss://bf-cfb:test/!@#:@192.168.100.1:8888, BASE64 kodlu URI'yi oluşturabiliriz: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Bu URI'leri düzenlemeye ve tanımlamaya yardımcı olması için BASE64 kodlu dizesinden sonra bir etiket ekleyebilirsiniz:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Adresleme

Shadowsocks, SOCKS5 adres biçiminde bulunan adresleri kullanır:

[1 baytlık tip][değişken uzunluklu ana bilgisayar][2 baytlık bağlantı noktası]

 

Tanımlanan adres türleri şunlardır:

  • 0x01 : ana bilgisayar, 4 baytlık bir IPv4 adresidir.
  • 0x03 : ana bilgisayar, 1 baytlık bir uzunlukla başlayan ve en fazla 255 baytlık bir alan adıyla devam eden değişken uzunluklu bir dizedir.
  • 0x04 : ana bilgisayar, 16 baytlık bir IPv6 adresidir.

 

Bağlantı noktası numarası, 2 baytlık bir big-endian işaretsiz tamsayıdır.

TCP

ss-local istemcisi, hedef adresle başlayan şifreli verileri ve ardından yük verileri göndererek ss-remote ile bir bağlantı başlatır. Şifreleme, kullanılan şifreye bağlı olarak farklı olacaktır.

[hedef adres][yük]

ss-remote şifrelenmiş verileri alır, ardından hedef adresin şifresini çözer ve ayrıştırır. Ardından hedefe yeni bir TCP bağlantısı oluşturur ve yük verilerini ona iletir. ss-remote, hedeften bir yanıt alır, ardından verileri şifreler ve bağlantısı kesilene kadar ss-local'a geri iletir.

Gizleme amacıyla, yerel ve uzak, el sıkışma verilerini ilk pakette bir miktar yük ile göndermelidir.

UDP

ss-local, hedef adresi ve yükü içeren şifrelenmiş veri paketini ss-remote'a gönderir.

[hedef adres][yük]

Şifrelenmiş paket alındığında, ss-remote hedef adresin şifresini çözer ve ayrıştırır. Daha sonra hedefe yük ile yeni bir veri paketi gönderir. ss-remote, hedeften veri paketlerini alır ve her paketteki yükün başına hedef adresi ekler. Şifrelenmiş kopyalar ss-local'a geri gönderilir.

[hedef adres][yük]

Bu işlem, ss-local için bir ağ adresi çevirisi gerçekleştiren ss-remote'a indirgenebilir.

5 günlük Ücretsiz denemenizi başlatın