Belgekirina Shadowsocks
Navigation
Forma Vesazkirina Shadowsocks
Pelê vesaz bike
Shadowsocks mîhengên formata JSON digire:
{
"server":"my_server_ip",
"server_port": 8388,
"local_port": 1080,
"şîfre": "barfoo!",
"rêbaz":"chacha20-ietf-poly1305"
}
Forma JSON
- server: Navê mêvandar an IP-ya servera we (IPv4 / IPv6).
- server_port: jimareya porta serverê.
- local_port: hejmara porta herêmî.
- şîfre: şîfreyek ku ji bo şîfrekirina veguhastinê tê bikar anîn.
- rêbaz: rêbaza şîfrekirinê.
Rêbaza Şîfrekirinê
Em serverên xwe mîheng dikin û pêşniyar dikin ku hûn şîfreya chacha20-ietf-poly1305 AEAD bikar bînin ji ber ku ew rêbaza herî bihêz a şîfrekirinê ye.
Ger servera xweya shadowsocks mîheng bikî, hûn dikarin ji "chacha20-ietf-poly1305" an "aes-256-gcm" hilbijêrin.
Koda URI & QR
Shadowsocks ji bo Android / IOS di heman demê de mîhengên formata URI-ya kodkirî ya BASE64 digire:
ss://BASE64-ENCODED-STRING-WITHOUT-PADDING#TAG
Divê URI-ya sade ev be: ss: // rêbaz: şîfre @ navê mêvandar: port
URI-ya jorîn RFC3986 naşopîne. Di vê rewşê de şîfre divê nivîsek sade be, ne ji sedî kodkirî be.
Mînak: Em serverek li 192.168.100.1:8888 bikar tînin bi bikaranîna bf-cfb rêbaza şîfrekirinê û şîfreya îmtîhan/!@#:.
Dûv re, bi URI-ya sade ss://bf-cfb:test/!@#:@192.168.100.1:8888, em dikarin URI-ya kodkirî ya BASE64 biafirînin:
> console.log("ss://" + btoa("bf-cfb:test/!@#:@192.168.100.1:8888") )
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg
Ji bo ku hûn van URI-yan birêxistin bikin û nas bikin, hûn dikarin li dû rêzika kodkirî ya BASE64 etîketekê pêve bikin:
ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server
Navnîşankirin
Shadowsocks navnîşanên ku di forma navnîşana SOCKS5 de têne dîtin bikar tîne:
[Cûreya 1-byte][Hêzvanê dirêj-guherbar][porta 2-byte]
Li vir celebên navnîşan têne diyarkirin:
- 0x01 : mêvandar navnîşek IPv4 ya 4-byte ye.
- 0x03 : mêvandar rêzek dirêjahiya guhêrbar e, ku bi dirêjiya 1-byte dest pê dike, li dûv jî navek domainê ya herî zêde 255-byte heye.
- 0x04 : mêvandar navnîşek IPv16 ya 6-byte ye.
Jimareya portê jimareyek 2-byte ya mezin-endî ya bênîşan e.
TCP
Xerîdarê ss-herêmî pêwendiyek bi ss-dûr re bi şandina daneyên şîfrekirî yên ku bi navnîşana armancê dest pê dike û dûv re jî daneya barkirinê dest pê dike. Dê şîfrekirin li gorî şîfreya ku hatî bikar anîn cûda be.
[navnîşana armancê]
ss-dûr daneyên şîfrekirî distîne, dûv re navnîşana armancê dişifre û pars dike. Dûv re ew pêwendiyek TCP-ya nû ji armancê re diafirîne û daneya barkirinê jê re dişîne. ss-remote bersivek ji armancê werdigire dûv re daneyan şîfre dike û heya ku were qut kirin paşve dişîne ss-local.
Ji bo mebestên nebaşkirinê, herêmî û dûr divê daneyên destan bi hin bargiraniyê di pakêta yekem de bişînin.
UDP
ss-local pakêta daneya şîfrekirî ya ku navnîşana mebest û bargiran heye dişîne ss-dûr.
[navnîşana armancê]
Dema ku pakêta şîfrekirî hate wergirtin, ss-dûr navnîşana armancê şîfre dike û pars dike. Dûv re ew pakêtek daneya nû digel bargiraniyê dişîne armancê. ss-remote pakêtên daneyê ji armancê distîne û navnîşana armancê di her pakêtê de li ber bargiraniyê vedigire. Kopiyên şîfrekirî ji ss-local re têne şandin.
[navnîşana armancê]
Ev pêvajo dikare ji bo ss-dûr vegerandina navnîşana torê ya ji bo ss-herêmî were kelandin.