outline-ss-server 1.4 ํ๋ก์ ์๋ฒ๊ฐ ์ถ์๋์์ต๋๋ค. ์ด ์๋ฒ๋ Shadowsocks ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ํธ๋ํฝ์ ์์ฑ์ ์จ๊ธฐ๊ณ , ๋ฐฉํ๋ฒฝ์ ์ฐํํ๋ฉฐ, ํจํท ๊ฒ์ฌ ์์คํ ์ ์์ ๋๋ค. ์ด ์๋ฒ๋ Outline ํ๋ก์ ํธ์์ ๊ฐ๋ฐ ์ค์ด๋ฉฐ, ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ์ธ๋ฉ๊ณผ ์ ์ด ์ธํฐํ์ด์ค๋ฅผ ์ถ๊ฐ๋ก ์ ๊ณตํ์ฌ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ด๋ ์์ฒด ์ฅ๋น์ outline-ss-server ๊ธฐ๋ฐ ๋ค์ค ์ฌ์ฉ์ Shadowsocks ์๋ฒ๋ฅผ ์ ์ํ๊ฒ ๋ฐฐํฌํ๊ณ , ์น ์ธํฐํ์ด์ค๋ฅผ ํตํด ๊ด๋ฆฌํ๊ณ , ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ก์ธ์ค๋ฅผ ๊ตฌ์ฑํ ์ ์๋๋ก ํฉ๋๋ค. ์ด ์ฝ๋๋ ๊ฒ์ด์ ์ฐํํ๊ณ ์์ ๋ก์ด ์ ๋ณด ๊ตํ์ ์ํ ๋๊ตฌ๋ฅผ ๊ฐ๋ฐํ๊ธฐ ์ํด ์ค๋ฆฝ๋ Google์ ์ฌ์ ๋ถ์ธ Jigsaw์์ ๊ฐ๋ฐ ๋ฐ ์ ์ง ๊ด๋ฆฌํ๊ณ ์์ต๋๋ค.
Outline-ss-server๋ Go ์ธ์ด๋ก ์์ฑ๋์์ผ๋ฉฐ Apache 2.0 ๋ผ์ด์ ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ์ด ํ๋ก๊ทธ๋จ์ ํ๋ก์ ์ฝ๋๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.์๋ฒ go-shadowsocks2๋ Shadowsocks ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ์์ ์ ์ํ์ต๋๋ค. ์ต๊ทผ Shadowsocks ํ๋ก์ ํธ๋ ์๋ก์ด Rust ์๋ฒ ๊ฐ๋ฐ์ ์ฃผ๋ ฅํ๊ณ ์์ผ๋ฉฐ, Go ๊ตฌํ์ 1๋ ๋๊ฒ ์ ๋ฐ์ดํธ๋์ง ์์ ๊ธฐ๋ฅ ๋ฉด์์ ๋์ ๋๊ฒ ๋ค์ณ์ ธ ์์ต๋๋ค.
outline-s-server์ go-shadowsocks2์ ์ฐจ์ด์ ์ ํ๋์ ๋คํธ์ํฌ ํฌํธ๋ฅผ ํตํด ์ฌ๋ฌ ์ฌ์ฉ์๋ฅผ ์ฐ๊ฒฐํ ์ ์๋ ๊ธฐ๋ฅ, ์ฐ๊ฒฐ์ ํ์ฉํ๊ธฐ ์ํด ์ฌ๋ฌ ๋คํธ์ํฌ ํฌํธ๋ฅผ ์ด ์ ์๋ ๊ธฐ๋ฅ, ์ฐ๊ฒฐ์ ๋์ง ์๊ณ ํซ ๋ฆฌ์คํํธ ๋ฐ ๊ตฌ์ฑ ์ ๋ฐ์ดํธ๋ฅผ ์ง์ํ๋ ๊ธฐ๋ฅ, prometheus.io ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ํธ๋ํฝ์ ๋ชจ๋ํฐ๋งํ๊ณ ๋ณ๊ฒฝํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์ ๊ณต ๋๊ตฌ์ ๊ตญํ๋ฉ๋๋ค.

Outline-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
