Ҳуҷҷатҳои Shadowsocks

Формати конфигуратсияи Shadowsocks

Танзимоти файл

Shadowsocks конфигуратсияҳои формати JSON-ро мегирад:

{

    "сервер":"сервери_ипи ман",

    "server_port": 8388,

    "порти_маҳаллӣ": 1080,

    "парол":"барфу!",

    "метод":"chacha20-ietf-poly1305"

}

Формати JSON

  • сервер: номи мизбон ё IP сервери шумо (IPv4/IPv6).
  • server_port: рақами порти сервер.
  • local_port: рақами порти маҳаллӣ.
  • парол: пароле, ки барои рамзгузории интиқол истифода мешавад.
  • усул: усули рамзгузорӣ.

Усули рамзгузорӣ

Мо серверҳои худро танзим мекунем ва тавсия медиҳем, ки рамзи chacha20-ietf-poly1305 AEAD-ро истифода баред, зеро он қавитарин усули рамзгузорӣ аст. 

Агар сервери shadowsocks-и худро танзим кунед, шумо метавонед аз "chacha20-ietf-poly1305" ё "aes-256-gcm" интихоб кунед.

URI ва рамзи QR

Shadowsocks барои Android / IOS инчунин конфигуратсияҳои формати URI-и рамзгузоришудаи BASE64-ро мегирад:

ss://BASE64-КОДДОШИ-САТР-БЕ-ПОЛГИРӢ#TAG

 

URI оддӣ бояд бошад: ss://method:password@name host:port

URI дар боло ба RFC3986 пайравӣ намекунад. Парол дар ин ҳолат бояд матни оддӣ бошад, на бо фоиз рамзгузорӣ.



Мисол: Мо серверро дар 192.168.100.1:8888 истифода мебарем истифода bf-cfb усули рамзгузорӣ ва парол озмоиш/!@#:

 

Сипас, бо URI оддӣ ss://bf-cfb:test/!@#:@192.168.100.1:8888, мо метавонем URI-и рамзгузоришудаи BASE64-ро тавлид кунем: 

 

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

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg

 

Барои кӯмак дар ташкил ва муайян кардани ин URI, шумо метавонед тегро пас аз сатри рамзгузоришудаи BASE64 илова кунед:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

Мулоҳиза

Shadowsocks суроғаҳои дар формати суроғаи SOCKS5 мавҷудбударо истифода мебарад:

[Навъи 1-байт][хости дарозии тағирёбанда][порти 2-байт]

 

Дар ин ҷо намудҳои суроғаҳо муайян шудаанд:

  • 0x01: мизбон суроғаи 4-байтии IPv4 аст.
  • 0x03 : мизбон сатри дарозии тағйирёбанда аст, ки аз дарозии 1-байт сар мешавад ва пас аз он номи домейни ҳадди аксар 255-байт аст.
  • 0x04: мизбон суроғаи 16-байтии IPv6 аст.

 

Рақами порт адади 2-байтии бутуни беимзо мебошад.

TCP

Мизоҷи ss-маҳаллӣ пайвастшавӣ ба ss-remote тавассути ирсоли маълумоти рамзгузоришуда аз суроғаи мавриди ҳадаф ва пас аз он маълумоти боркашониро оғоз мекунад. Рамзгузорӣ вобаста ба рамзе, ки истифода мешавад, гуногун хоҳад буд.

[суроғаи мақсаднок][борбори]

Дастгоҳи ss-дурдаст маълумоти рамзшударо қабул мекунад, сипас суроғаи ҳадафро рамзкушо ва таҳлил мекунад. Он гоҳ он пайвасти нави TCP-ро ба ҳадаф эҷод мекунад ва маълумотро ба он интиқол медиҳад. ss-remote аз ҳадаф ҷавоб мегирад ва сипас маълумотро рамзгузорӣ мекунад ва то он даме, ки пайвастшавӣ қатъ карда шавад, онро ба ss-local бармегардонад.

Барои мақсадҳои нофаҳмо, маҳаллӣ ва дурдаст бояд маълумоти дастфишорро бо каме бори пурбор дар бастаи аввал фиристанд.

UDP

ss-local бастаи маълумоти рамзгузоришударо, ки суроғаи мақсаднок ва бори пурборро дорад, ба ss-remote мефиристад.

[суроғаи мақсаднок][борбори]

Пас аз гирифтани бастаи рамзгузоришуда, ss-remote суроғаи ҳадафро рамзкушоӣ ва таҳлил мекунад. Он гоҳ бастаи нави маълумотро бо бори пурбор ба ҳадаф мефиристад. ss-remote бастаҳои маълумотро аз ҳадаф қабул мекунад ва суроғаи ҳадафро ба бори пурборкунандаи ҳар як баста пеш мебарад. Нусхаҳои рамзгузоришуда ба ss-local бармегарданд.

[суроғаи мақсаднок][борбори]

Ин равандро метавон то ss-дурдаст иҷро кард ва тарҷумаи суроғаи шабакаро барои ss-local иҷро кард.

Озмоиши ройгони 5-рӯзаи худро оғоз кунед