د شیدوزاک اسناد
ګرځښت
د Shadowsocks ترتیب بڼه
دوتنه
Shadowsocks د JSON فارمیټ تشکیلات اخلي:
{
"سرور":"my_server_ip"،
"سرور_پورټ": 8388،
"ځایی_پورټ": 1080 ،
"پاسورډ":"بارفو!",
"طريقه":"chacha20-ietf-poly1305"
}
د JSON بڼه
- سرور ستاسو کوربه نوم یا سرور IP (IPv4/IPv6).
- سرور_پورټ: د سرور پورټ شمیره.
- local_port: د محلي بندر شمیره.
- پاسورډ: یو پټنوم چې د لیږد کوډ کولو لپاره کارول کیږي.
- طریقه: د کوډ کولو طریقه.
د کوډ کولو طریقه
موږ خپل سرورونه تنظیم کوو او وړاندیز کوو چې تاسو د چاچا20-ietf-poly1305 AEAD سیفر وکاروئ ځکه چې دا د کوډ کولو خورا قوي میتود دی.
که خپل د شیدو ساکس سرور تنظیم کړئ ، تاسو کولی شئ له "chacha20-ietf-poly1305" یا "aes-256-gcm" څخه غوره کړئ.
URI او QR کوډ
د Android / IOS لپاره Shadowsocks هم د BASE64 کوډ شوي URI فارمیټ تشکیلات اخلي:
ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG
ساده URI باید وي: ss://method:password@hostname:port
پورته URI د RFC3986 پیروي نه کوي. په دې حالت کې پاسورډ باید ساده متن وي، نه په فیصده کوډ شوی.
بېلګه: موږ په 192.168.100.1: 8888 کې سرور کاروو د کارولو bf-cfb د کوډ کولو طریقه او پټنوم ازموینه/!@#:.
بیا، د ساده URI سره ss://bf-cfb:test/!@#:@192.168.100.1:8888، موږ کولی شو د BASE64 کوډ شوی URI تولید کړو:
> console.log("ss://" + btoa("bf-cfb:test/!@#:@192.168.100.1:8888") )
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg
د دې URIs په تنظیم او پیژندلو کې د مرستې لپاره ، تاسو کولی شئ د BASE64 کوډ شوي تار وروسته یو ټاګ ضمیمه کړئ:
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server
پته کول
Shadowsocks د SOCKS5 پته په بڼه کې موندل شوي پتې کاروي:
[1-بایټ ډول] [متغیر اوږدوالی کوربه] [2-بایټ بندر]
دلته د پتې ډولونه تعریف شوي دي:
- 0x01 : کوربه د 4-بایټ IPv4 پته ده.
- 0x03 : کوربه د متغیر اوږدوالی تار دی، د 1-بایټ اوږدوالي سره پیل کیږي، وروسته د اعظمي 255-بایټ ډومین نوم.
- 0x04 : کوربه د 16-بایټ IPv6 پته ده.
د پورټ شمیره د 2-بایټ لوی-اینډین نه لاسلیک شوی عدد دی.
TCP
د ss-سیمه ایز پیرودونکي د کوډ شوي ډیټا په لیږلو سره د ss-remote سره اړیکه پیل کوي د هدف پتې سره پیل کیږي او د پایلوډ ډیټا تعقیبوي. کوډ کول به د کارول شوي سایفر پورې اړه ولري.
[د هدف پته [پیلوډ]
ss-remote د کوډ شوي ډاټا ترلاسه کوي، بیا د هدف پته ډیکریپټ او پارس کوي. بیا دا هدف ته یو نوی TCP پیوستون رامینځته کوي او د تادیې ډیټا دې ته لیږي. ss-remote د هدف څخه ځواب ترلاسه کوي بیا ډاټا کوډ کوي او بیرته یې ss-local ته لیږدوي تر هغه چې دا منحل نشي.
د ګډوډۍ موخو لپاره، ځایی او لیرې باید په لومړۍ کڅوړه کې د ځینې تادیاتو سره د لاسي شیک ډیټا واستوي.
UDP
ss-local د کوډ شوي ډیټا کڅوړه لیږي چې د هدف پته لري او ss-remote ته تادیه کوي.
[د هدف پته [پیلوډ]
یوځل چې کوډ شوی کڅوړه ترلاسه شي ، ss-remote د هدف پته ډیکریپټ او پارس کوي. دا بیا هدف ته د تادیاتو سره یو نوی ډیټا پاکټ لیږي. ss-remote د هدف څخه ډیټا پاکټونه ترلاسه کوي او د هدف پته په هر پاکټ کې تادیه کولو ته وړاندې کوي. کوډ شوي کاپي بیرته ss-local ته لیږل کیږي.
[د هدف پته [پیلوډ]
دا پروسه د ss-remote لپاره جوش کیدی شي د ss-local لپاره د شبکې پته ژباړه ترسره کوي.