Shadowsocks ದಸ್ತಾವೇಜನ್ನು

Shadowsocks ಕಾನ್ಫಿಗರೇಶನ್ ಫಾರ್ಮ್ಯಾಟ್

ಫೈಲ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ

Shadowsocks JSON ಫಾರ್ಮ್ಯಾಟ್ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ:

{

    “ಸರ್ವರ್”:”my_server_ip”,

    "ಸರ್ವರ್_ಪೋರ್ಟ್":8388,

    "ಲೋಕಲ್_ಪೋರ್ಟ್":1080,

    "ಪಾಸ್ವರ್ಡ್":"ಬಾರ್ಫೂ!",

    "ವಿಧಾನ":"chacha20-ietf-poly1305"

}

JSON ಫಾರ್ಮ್ಯಾಟ್

  • ಸರ್ವರ್: ನಿಮ್ಮ ಹೋಸ್ಟ್ ಹೆಸರು ಅಥವಾ ಸರ್ವರ್ IP (IPv4/IPv6).
  • ಸರ್ವರ್_ಪೋರ್ಟ್: ಸರ್ವರ್ ಪೋರ್ಟ್ ಸಂಖ್ಯೆ.
  • ಲೋಕಲ್_ಪೋರ್ಟ್: ಸ್ಥಳೀಯ ಪೋರ್ಟ್ ಸಂಖ್ಯೆ.
  • ಗುಪ್ತಪದ: ವರ್ಗಾವಣೆಯನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಳಸುವ ಪಾಸ್‌ವರ್ಡ್.
  • ವಿಧಾನ: ಗೂಢಲಿಪೀಕರಣ ವಿಧಾನ.

ಗೂಢಲಿಪೀಕರಣ ವಿಧಾನ

ನಾವು ನಮ್ಮ ಸರ್ವರ್‌ಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ನೀವು chacha20-ietf-poly1305 AEAD ಸೈಫರ್ ಅನ್ನು ಬಳಸಬೇಕೆಂದು ಶಿಫಾರಸು ಮಾಡುತ್ತೇವೆ ಏಕೆಂದರೆ ಇದು ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನ ಪ್ರಬಲ ವಿಧಾನವಾಗಿದೆ. 

ನಿಮ್ಮ ಸ್ವಂತ shadowsocks ಸರ್ವರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತಿದ್ದರೆ, ನೀವು "chacha20-ietf-poly1305" ಅಥವಾ "aes-256-gcm" ನಿಂದ ಆಯ್ಕೆ ಮಾಡಬಹುದು.

URI & QR ಕೋಡ್

Android / IOS ಗಾಗಿ Shadowsocks ಸಹ BASE64 ಎನ್ಕೋಡ್ ಮಾಡಿದ URI ಫಾರ್ಮ್ಯಾಟ್ ಸಂರಚನೆಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ:

ss://BASE64-ಎನ್‌ಕೋಡೆಡ್-ಸ್ಟ್ರಿಂಗ್-ವಿಥೌಟ್-ಪ್ಯಾಡಿಂಗ್#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

 

ಈ URI ಗಳನ್ನು ಸಂಘಟಿಸಲು ಮತ್ತು ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡಲು, BASE64 ಎನ್‌ಕೋಡ್ ಮಾಡಿದ ಸ್ಟ್ರಿಂಗ್‌ನ ನಂತರ ನೀವು ಟ್ಯಾಗ್ ಅನ್ನು ಸೇರಿಸಬಹುದು:

ss://YmYtY2ZiOnRlc3QvIUAjOkAxOTIuMTY4LjEwMC4xOjg4ODg#example-server

ವಿಳಾಸ

Shadowsocks SOCKS5 ವಿಳಾಸ ಸ್ವರೂಪದಲ್ಲಿ ಕಂಡುಬರುವ ವಿಳಾಸಗಳನ್ನು ಬಳಸುತ್ತದೆ:

[1-ಬೈಟ್ ಪ್ರಕಾರ][ವೇರಿಯಬಲ್-ಉದ್ದದ ಹೋಸ್ಟ್][2-ಬೈಟ್ ಪೋರ್ಟ್]

 

ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ವಿಳಾಸ ಪ್ರಕಾರಗಳು ಇಲ್ಲಿವೆ:

  • 0x01 : ಹೋಸ್ಟ್ 4-ಬೈಟ್ IPv4 ವಿಳಾಸವಾಗಿದೆ.
  • 0x03 : ಹೋಸ್ಟ್ ಒಂದು ವೇರಿಯಬಲ್ ಉದ್ದದ ಸ್ಟ್ರಿಂಗ್ ಆಗಿದೆ, ಇದು 1-ಬೈಟ್ ಉದ್ದದಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ನಂತರ ಗರಿಷ್ಠ 255-ಬೈಟ್ ಡೊಮೇನ್ ಹೆಸರು.
  • 0x04 : ಹೋಸ್ಟ್ 16-ಬೈಟ್ IPv6 ವಿಳಾಸವಾಗಿದೆ.

 

ಪೋರ್ಟ್ ಸಂಖ್ಯೆಯು 2-ಬೈಟ್ ದೊಡ್ಡ-ಎಂಡಿಯನ್ ಸಹಿ ಮಾಡದ ಪೂರ್ಣಾಂಕವಾಗಿದೆ.

TCP

ss-ಸ್ಥಳೀಯ ಕ್ಲೈಂಟ್ ss-ರಿಮೋಟ್‌ಗೆ ಸಂಪರ್ಕವನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಡೇಟಾವನ್ನು ಗುರಿ ವಿಳಾಸದಿಂದ ಪ್ರಾರಂಭಿಸಿ ಪೇಲೋಡ್ ಡೇಟಾ ನಂತರ ಕಳುಹಿಸುತ್ತದೆ. ಬಳಸಿದ ಸೈಫರ್ ಅನ್ನು ಅವಲಂಬಿಸಿ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ವಿಭಿನ್ನವಾಗಿರುತ್ತದೆ.

[ಗುರಿ ವಿಳಾಸ][ಪೇಲೋಡ್]

ss-ರಿಮೋಟ್ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ನಂತರ ಗುರಿ ವಿಳಾಸವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ. ನಂತರ ಅದು ಗುರಿಗೆ ಹೊಸ TCP ಸಂಪರ್ಕವನ್ನು ರಚಿಸುತ್ತದೆ ಮತ್ತು ಅದಕ್ಕೆ ಪೇಲೋಡ್ ಡೇಟಾವನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡುತ್ತದೆ. ss-remote ಗುರಿಯಿಂದ ಪ್ರತ್ಯುತ್ತರವನ್ನು ಪಡೆಯುತ್ತದೆ ನಂತರ ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಸಂಪರ್ಕ ಕಡಿತಗೊಳ್ಳುವವರೆಗೆ ಅದನ್ನು ss-local ಗೆ ಹಿಂತಿರುಗಿಸುತ್ತದೆ.

ಅಸ್ಪಷ್ಟ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ಸ್ಥಳೀಯ ಮತ್ತು ರಿಮೋಟ್ ಮೊದಲ ಪ್ಯಾಕೆಟ್‌ನಲ್ಲಿ ಕೆಲವು ಪೇಲೋಡ್‌ನೊಂದಿಗೆ ಹ್ಯಾಂಡ್‌ಶೇಕ್ ಡೇಟಾವನ್ನು ಕಳುಹಿಸಬೇಕು.

UDP

ss-local ಗುರಿ ವಿಳಾಸ ಮತ್ತು ಪೇಲೋಡ್ ಅನ್ನು ಹೊಂದಿರುವ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ss-ರಿಮೋಟ್‌ಗೆ ಕಳುಹಿಸುತ್ತದೆ.

[ಗುರಿ ವಿಳಾಸ][ಪೇಲೋಡ್]

ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿದ ನಂತರ, ss-ರಿಮೋಟ್ ಗುರಿ ವಿಳಾಸವನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ಪಾರ್ಸ್ ಮಾಡುತ್ತದೆ. ಇದು ನಂತರ ಗುರಿಗೆ ಪೇಲೋಡ್‌ನೊಂದಿಗೆ ಹೊಸ ಡೇಟಾ ಪ್ಯಾಕೆಟ್ ಅನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ss-remote ಗುರಿಯಿಂದ ಡೇಟಾ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಪ್ಯಾಕೆಟ್‌ನಲ್ಲಿರುವ ಪೇಲೋಡ್‌ಗೆ ಗುರಿ ವಿಳಾಸವನ್ನು ಪೂರ್ವಭಾವಿಯಾಗಿ ಮಾಡುತ್ತದೆ. ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಪ್ರತಿಗಳನ್ನು ss-local ಗೆ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.

[ಗುರಿ ವಿಳಾಸ][ಪೇಲೋಡ್]

ಈ ಪ್ರಕ್ರಿಯೆಯನ್ನು ss-remote ಗೆ ಕುದಿಸಿ ss-local ಗಾಗಿ ನೆಟ್‌ವರ್ಕ್ ವಿಳಾಸ ಅನುವಾದವನ್ನು ನಿರ್ವಹಿಸಬಹುದು.

ನಿಮ್ಮ 5 ದಿನಗಳ ಉಚಿತ ಪ್ರಯೋಗವನ್ನು ಪ್ರಾರಂಭಿಸಿ