์•„์›ƒ๋ผ์ธ ํ”„๋กœ์ ํŠธ์˜ Shadowsocks ํ”„๋ก์‹œ ๊ตฌํ˜„์ธoutline-ss-server 1.4 ๋ฆด๋ฆฌ์Šค

์•„์›ƒ๋ผ์ธ-ss-server 1.4 ํ”„๋ก์‹œ ์„œ๋ฒ„๊ฐ€ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. Shadowsocks ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์˜ ํŠน์„ฑ์„ ์ˆจ๊ธฐ๊ณ  ๋ฐฉํ™”๋ฒฝ์„ ์šฐํšŒํ•˜๋ฉฐ ํŒจํ‚ท ๊ฒ€์‚ฌ ์‹œ์Šคํ…œ์„ ์†์ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ์•„์›ƒ๋ผ์ธ ํ”„๋กœ์ ํŠธ์— ์˜ํ•ด ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋Š” ํด๋ผ์ด์–ธํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ณต์šฉ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ ๋˜๋Š” ์ž์ฒด ์žฅ๋น„์—์„œ ์•„์›ƒ๋ผ์ธ-ss-์„œ๋ฒ„ ๊ธฐ๋ฐ˜์˜ ๋‹ค์ค‘ ์‚ฌ์šฉ์ž Shadowsocks ์„œ๋ฒ„๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ์ œ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๊ด€๋ฆฌํ•˜๊ณ  ํ‚ค๋กœ ์‚ฌ์šฉ์ž ์•ก์„ธ์Šค๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๋Š” ๊ฒ€์—ด์„ ์šฐํšŒํ•˜๊ณ  ์ •๋ณด์˜ ์ž์œ ๋กœ์šด ๊ตํ™˜์„ ์กฐ์งํ•˜๊ธฐ ์œ„ํ•œ ๋„๊ตฌ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์ง„ Google ๋‚ด ๋ถ€์„œ์ธ Jigsaw์—์„œ ๊ฐœ๋ฐœํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์•„์›ƒ๋ผ์ธ-ss-์„œ๋ฒ„๋Š” Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ Apache 2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์ฝ”๋“œ๋Š” Shadowsocks ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋งŒ๋“  ํ”„๋ก์‹œ ์„œ๋ฒ„ go-shadowsocks2์ž…๋‹ˆ๋‹ค. ์ตœ๊ทผ Shadowsocks ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์š” ํ™œ๋™์€ Rust ์–ธ์–ด๋กœ ๋œ ์ƒˆ๋กœ์šด ์„œ๋ฒ„ ๊ฐœ๋ฐœ์— ์ง‘์ค‘๋˜์–ด ์žˆ์œผ๋ฉฐ Go ์–ธ์–ด๋กœ์˜ ๊ตฌํ˜„์€ XNUMX๋…„ ๋„˜๊ฒŒ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ๊ธฐ๋Šฅ๋ฉด์—์„œ ๋ˆˆ์— ๋„๊ฒŒ ๋’ค๋–จ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

outline-ss-server์™€ go-shadowsocks2์˜ ์ฐจ์ด์ ์€ ํ•˜๋‚˜์˜ ๋„คํŠธ์›Œํฌ ํฌํŠธ๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ง€์›, ์—ฐ๊ฒฐ์„ ์ˆ˜์‹ ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋„คํŠธ์›Œํฌ ํฌํŠธ๋ฅผ ์—ฌ๋Š” ๊ธฐ๋Šฅ, ์—ฐ๊ฒฐ์„ ๋Š์ง€ ์•Š๊ณ  ํ•ซ ์žฌ์‹œ์ž‘ ๋ฐ ๊ตฌ์„ฑ ์—…๋ฐ์ดํŠธ ์ง€์›, ๋‚ด์žฅ ๊ธฐ๋Šฅ์œผ๋กœ ๊ท€๊ฒฐ๋ฉ๋‹ˆ๋‹ค. prometheus ํ”Œ๋žซํผ .io๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ํŠธ๋ž˜ํ”ฝ ์ˆ˜์ • ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์•„์›ƒ๋ผ์ธ ํ”„๋กœ์ ํŠธ์˜ Shadowsocks ํ”„๋ก์‹œ ๊ตฌํ˜„์ธoutline-ss-server 1.4 ๋ฆด๋ฆฌ์Šค

outlook-ss-server๋Š” ๋˜ํ•œ ํ”„๋กœ๋ธŒ ์š”์ฒญ ๋ฐ ํŠธ๋ž˜ํ”ฝ ์žฌ์ƒ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ ์š”์ฒญ์„ ํ†ตํ•œ ๊ณต๊ฒฉ์€ ํ”„๋ก์‹œ ์กด์žฌ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ณต๊ฒฉ์ž๋Š” ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋Œ€์ƒ Shadowsocks ์„œ๋ฒ„๋กœ ๋ณด๋‚ด๊ณ  ์˜ค๋ฅ˜๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ๋‹ซ๊ธฐ ์ „์— ์„œ๋ฒ„๊ฐ€ ์ฝ์„ ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠธ๋ž˜ํ”ฝ ์žฌ์ƒ ๊ณต๊ฒฉ์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ์„ธ์…˜์„ ๊ฐ€๋กœ์ฑ„๊ณ  ๊ฐ€๋กœ์ฑ„๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์žฌ์ „์†กํ•˜์—ฌ ํ”„๋ก์‹œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ์š”์ฒญ์„ ํ†ตํ•œ ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด,outline-ss-server ์„œ๋ฒ„๋Š” ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„์ฐฉํ•˜๋”๋ผ๋„ ์—ฐ๊ฒฐ์„ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ์˜ค๋ฅ˜๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๊ณ  ๊ณ„์†ํ•ด์„œ ์ •๋ณด๋ฅผ ์ˆ˜์‹ ํ•˜์—ฌ ์ผ์ข…์˜ ๋ธ”๋ž™ํ™€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์žฌ์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ์ง€๋ง‰ ์ˆ˜์ฒœ ๊ฐœ์˜ ํ•ธ๋“œ์…ฐ์ดํฌ ์‹œํ€€์Šค(์ตœ๋Œ€ 40๊ฐœ, ํฌ๊ธฐ๋Š” ์„œ๋ฒ„๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์„ค์ •๋˜๊ณ  ์‹œํ€€์Šค๋‹น 20๋ฐ”์ดํŠธ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋น„ํ•จ)์— ๋Œ€ํ•ด ์ €์žฅ๋œ ์ฒดํฌ์„ฌ์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ์˜ ๋ฐ˜๋ณต ์—ฌ๋ถ€๋ฅผ ์ถ”๊ฐ€๋กœ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„์˜ ๋ฐ˜๋ณต ์‘๋‹ต์„ ์ฐจ๋‹จํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์„œ๋ฒ„ ํ•ธ๋“œ์…ฐ์ดํฌ ์‹œํ€€์Šค๋Š” 32๋น„ํŠธ ํƒœ๊ทธ์™€ ํ•จ๊ป˜ HMAC ์ธ์ฆ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํŠธ๋ž˜ํ”ฝ ์ˆจ๊ธฐ๊ธฐ ์ˆ˜์ค€ ์ธก๋ฉด์—์„œ,outline-ss-server ๊ตฌํ˜„์˜ Shadowsocks ํ”„๋กœํ† ์ฝœ์€ Tor ์ต๋ช… ๋„คํŠธ์›Œํฌ์˜ Obfs4 ํ”Œ๋Ÿฌ๊ทธ์ธ ์ „์†ก์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœํ† ์ฝœ์€ ์ค‘๊ตญ์˜ ํŠธ๋ž˜ํ”ฝ ๊ฒ€์—ด ์‹œ์Šคํ…œ(โ€œ์ค‘๊ตญ์˜ ๋งŒ๋ฆฌ ๋ฐฉํ™”๋ฒฝโ€)์„ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“ค์–ด์กŒ์œผ๋ฉฐ ๋‹ค๋ฅธ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ์ „๋‹ฌ๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์ƒ๋‹นํžˆ ํšจ๊ณผ์ ์œผ๋กœ ์ˆจ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋žœ๋ค ์‹œ๋“œ ์ฒจ๋ถ€ ๋ฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์œผ๋กœ ์ธํ•ด ํŠธ๋ž˜ํ”ฝ ์‹๋ณ„์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค). ์—ฐ์†์ ์ธ ํ๋ฆ„).

SOCKS5๋Š” ์š”์ฒญ ํ”„๋ก์‹œ๋ฅผ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. SOCKS5๋ฅผ ์ง€์›ํ•˜๋Š” ํ”„๋ก์‹œ๊ฐ€ ๋กœ์ปฌ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜์–ด ์š”์ฒญ์ด ์‹ค์ œ๋กœ ์‹คํ–‰๋˜๋Š” ์›๊ฒฉ ์„œ๋ฒ„๋กœ ํŠธ๋ž˜ํ”ฝ์„ ํ„ฐ๋„๋งํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ํŠธ๋ž˜ํ”ฝ์€ ์•”ํ˜ธํ™”๋œ ํ„ฐ๋„(์ธ์ฆ๋œ ์•”ํ˜ธํ™”๋Š” AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM ๋ฐ AEAD_AES_256_GCM ์ง€์›)์— ๋ฐฐ์น˜๋˜๋ฉฐ ์ƒ์„ฑ ์‚ฌ์‹ค์„ ์ˆจ๊ธฐ๋Š” ๊ฒƒ์ด Shadowsocks์˜ ์ฃผ์š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. TCP ๋ฐ UDP ํ„ฐ๋„ ๊ตฌ์„ฑ์ด ์ง€์›๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Tor์˜ ํ”Œ๋Ÿฌ๊ทธ์ธ ์ „์†ก์„ ์—ฐ์ƒ์‹œํ‚ค๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ SOCKS5์— ์˜ํ•ด ์ œํ•œ๋˜์ง€ ์•Š๋Š” ์ž„์˜ ํ„ฐ๋„ ์ƒ์„ฑ๋„ ์ง€์›๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€