שאַדאָווסאָקקס דאַקיומענטיישאַן

שאַדאָווסאָקקס קאַנפיגיעריישאַן פֿאָרמאַט

קאָנפיג טעקע

Shadowsocks נעמט JSON פֿאָרמאַט קאַנפיגיעריישאַנז:

{

    "סערווער":"מיין_סערווער_יפּ",

    "סערווער_פּאָרט":8388,

    "לאָקאַל_פּאָרט":1080,

    "שפּריכוואָרט": "באַרפו!",

    "מעטאָד": "chacha20-ietf-poly1305"

}

JSON פֿאָרמאַט

  • סערווער: דיין האָסטנאַמע אָדער סערווער IP (IPv4/IPv6).
  • סערווער_פּאָרט: סערווער פּאָרט נומער.
  • local_port: היגע פּאָרט נומער.
  • פּאַראָל: אַ פּאַראָל געניצט צו ענקריפּט אַריבערפירן.
  • אופֿן: ענקריפּשאַן אופֿן.

ענקריפּשאַן מעטאַד

מיר קאַנפיגיער אונדזער סערווערס און רעקאָמענדירן אַז איר נוצן די Chacha20-ietf-poly1305 AEAD סייפער ווייַל דאָס איז די סטראָנגעסט אופֿן פון ענקריפּשאַן. 

אויב איר קאַנפיגיער דיין אייגענע שאַדאָוז סאַקס סערווער, איר קענט קלייַבן צווישן "chacha20-ietf-poly1305" אָדער "aes-256-gcm".

URI & QR קאָד

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-ביטע גרויס-ענדיאַן אַנסיינד ינטאַדזשער.

טקפּ

דער ss-היגע קליענט ינישיאַץ אַ קשר צו ss-ווייַט דורך שיקן ינקריפּטיד דאַטן סטאַרטינג מיט די ציל אַדרעס נאכגעגאנגען דורך די פּיילאָוד דאַטן. די ענקריפּשאַן וועט זיין אַנדערש דיפּענדינג אויף די סיפער געניצט.

[ציל אַדרעס] [פּיילאָוד]

די ss-ווייַט נעמט די ינקריפּטיד דאַטן, און דעקריפּץ און פּאַרסעס די ציל אַדרעס. דערנאָך עס קריייץ אַ נייַע TCP פֿאַרבינדונג צו די ציל און פאָרווערדז די פּיילאָוד דאַטן צו עס. ss-remote באקומט אַ ענטפער פון די ציל און ינקריפּט די דאַטן און פאָרווערדז עס צוריק צו ss-local ביז עס איז דיסקאַנעקטיד.

פֿאַר אַבפאַסקיישאַן צוועקן, היגע און ווייַט זאָל שיקן די האַנדשייק דאַטן מיט עטלעכע פּיילאָוד אין דער ערשטער פּאַקאַט.

ודפּ

ss-local סענדז די ינקריפּטיד דאַטן פּאַקאַט מיט די ציל אַדרעס און פּיילאָוד צו ss-remote.

[ציל אַדרעס] [פּיילאָוד]

אַמאָל די ינקריפּטיד פּאַקאַט איז באקומען, ss-ווייַט דעקריפּט און פּאַרסעס די ציל אַדרעס. דערנאָך עס סענדז אַ נייַע דאַטן פּאַקאַט מיט די פּיילאָוד צו די ציל. ss-remote נעמט די דאַטן פּאַקיץ פון די ציל און פּריפּענדז די ציל אַדרעס צו די פּיילאָוד אין יעדער פּאַקאַט. ענקריפּטיד קאפיעס זענען געשיקט צוריק צו ss-local.

[ציל אַדרעס] [פּיילאָוד]

דעם פּראָצעס קענען זיין בוילד אַראָפּ צו ss-ווייַט פּערפאָרמינג אַ נעץ אַדרעס איבערזעצונג פֿאַר ss-local.

אָנהייב דיין 5-טאָג פריי פּראָצעס