์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
Shadowsocks
์ œ์ž‘์ž
์ฝ”๋“œ ๊ด€๋ฆฌ
์ข…๋ฅ˜
ํ”„๋ก์‹œ ํ”„๋กœ๊ทธ๋žจ
๊ฐœ๋ฐœ ์–ธ์–ด
C
ํ”Œ๋žซํผ
๊ณต์‹ ํ™ˆํŽ˜์ด์ง€
[2]
Shadowsocks / ๅฝฑๆขญ / ์„€๋„์šฐ์‚ญ์Šค[3]

1. ๊ฐœ์š”2. ๋ฐฐ๊ฒฝ3. ์›๋ฆฌ4. ์„œ๋น„์Šค ์ข…๋ฃŒ5. ๋ถ€ํ™œ
5.1. Project V (V2Ray)
6. ๊ฐ™์ด๋ณด๊ธฐ

1. ๊ฐœ์š”[ํŽธ์ง‘]

์ค‘๊ตญ์˜ ์ธํ„ฐ๋„ท ๊ฒ€์—ด ์‹œ์Šคํ…œ์ธ ํ™ฉ๊ธˆ๋ฐฉํŒจ๋ฅผ ์šฐํšŒํ•˜๊ธฐ ์œ„ํ•ด clowwindy๋ผ๋Š” ์ค‘๊ตญ์ธ ๊ฐœ๋ฐœ์ž์˜ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋ก์‹œ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ‹€์–ด ์ด๋ฅด๋Š” ๋ช…์นญ. Python, C๋ถ€ํ„ฐ, Go์™€ ๋ผ์ฆˆ๋ฒ ๋ฆฌ ํŒŒ์ด๊นŒ์ง€ ๋งŽ์€ ๋ฒ„์ „์œผ๋กœ ํฌํŒ…๋˜์—ˆ๋‹ค. UDP/TCP ํŠธ๋ž˜ํ”ฝ ๋ชจ๋‘์— ๋Œ€ํ•œ ์šฐํšŒ๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ๋‹ค.

2. ๋ฐฐ๊ฒฝ[ํŽธ์ง‘]

ํ™ฉ๊ธˆ๋ฐฉํŒจ ์ •์ฑ… ์‹œํ–‰ ์ดํ›„ cloudwindy๊ฐ€ 2012๋…„ 4์›” 20์ผ์— GitHub์— ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๊ฐœ์„คํ•œ ๊ฒƒ์ด ๊ทธ ์‹œ์ž‘์œผ๋กœ, VPN๊ณผ ๋”๋ถˆ์–ด ํ™ฉ๊ธˆ๋ฐฉํŒจ์˜ ๊ฒ€์—ด์„ ๊ฐ€์žฅ ํšจ๊ณผ์ ์œผ๋กœ ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ ์ค‘ ํ•˜๋‚˜์˜€์œผ๋‚˜ ๊ธฐ์กด๊นŒ์ง€ VPN ์—ฐ๊ฒฐ์„ ์ ๊ทน์ ์œผ๋กœ ๋ง‰์œผ๋ ค ๋“ค์ง€ ์•Š์•˜๋˜ ์ค‘๊ตญ ์ •๋ถ€๊ฐ€ 2018๋…„ ๊ฒฝ์— ๋“ค์–ด์„œ ์‹ฌ์ธต ํŒจํ‚ท ๊ฐ์‹œ (DPI), ๊ธฐ๊ณ„ํ•™์Šต์„ ํ†ตํ•œ ์˜์‹ฌ ํŒจํ‚ท ๋“œ๋กญ, ๋ฒ•์  ์ œ์žฌ ๋“ฑ์˜ ๋ชจ๋“  ์ˆ˜๋‹จ์„ ๋™์›ํ•˜์—ฌ OpenVPN์„ ํฌํ•จํ•œ ์šฐํšŒ๋กœ๋ฅผ ์™„์ „ํžˆ ์ฐจ๋‹จํ•˜๋ ค๊ณ  ๋“ค์ž ํ˜„์žฌ ์ค‘๊ตญ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ์•ˆ ๋˜๋Š” ๊ฒ€์—ด ์šฐํšŒ ์ˆ˜๋‹จ์ด ๋˜์—ˆ๋‹ค.

3. ์›๋ฆฌ[ํŽธ์ง‘]


Windows ๋‚ด์—์„œ Shadowsocks๋ฅผ ๊ธฐ๋™ํ•œ ์‚ฌ์ง„.


์•ˆ๋“œ๋กœ์ด๋“œ(์šด์˜์ฒด์ œ) ๋‚ด์—์„œ Shadowsocks๋ฅผ ๊ธฐ๋™ํ•œ ์‚ฌ์ง„.

SOCKS5 ํ”„๋ก์‹œ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ์—ฐ๊ฒฐ ์ „์ฒด๋ฅผ ์•”ํ˜ธํ™”ํ•˜๋Š” ํŠน์„ฑ ๋•Œ๋ฌธ์— ์˜คํžˆ๋ ค ์ฐจ๋‹จ์ด ์‰ฌ์šด VPN๊ณผ๋Š” ๋‹ฌ๋ฆฌ ํŒจํ‚ท์„ ๋ฉ€์ฉกํ•œ TLS ์—ฐ๊ฒฐ์ธ ์ฒ™ ์œ„์žฅ์‹œ์ผœ ์ „์†กํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  TLS ์—ฐ๊ฒฐ์„ ๊ฐ์‹œํ•˜๊ฑฐ๋‚˜ ๋ชจ๋“  TLS ์—ฐ๊ฒฐ์„ ์ฐจ๋‹จํ•ด๋ฒ„๋ฆฌ์ง€ ์•Š๋Š” ์ด์ƒ ์•„๋ฌด๋ฆฌ ์„ฑ๋Šฅ์ด ์ข‹์€ ๊ฒ€์—ด ์žฅ๋น„๋ผ ํ• ์ง€๋ผ๋„ ํƒ์ง€๊ฐ€ ๋งค์šฐ ์–ด๋ ต๋‹ค. ๋˜ํ•œ VPN์˜ ์—ฐ๊ฒฐ ์•”ํ˜ธํ™” ํŠน์„ฑ ๋•Œ๋ฌธ์— ์ ‘์†์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ์ผ๋ถ€ ์‚ฌ์ดํŠธ๋“ค๋„ TLS ์—ฐ๊ฒฐ๋กœ ์œ„์žฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํฐ ๋ฌธ์ œ ์—†์ด ์ ‘์†์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

4. ์„œ๋น„์Šค ์ข…๋ฃŒ[ํŽธ์ง‘]

2015๋…„ 8์›”, ์› ๊ฐœ๋ฐœ์ž์ธ clowwindy๊ฐ€ GitHub์˜ Shadowsocks-iOS ๋ ˆํฌ์ง€ํ† ๋ฆฌ ์ด์Šˆ์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ๋‚จ๊ฒผ๋‹ค.[4]
Two days ago the police came to me and wanted me to stop working on this. Today they asked me to delete all the code from GitHub. I have no choice but to obey.
I hope one day I'll live in a country where I have freedom to write any code I like without fearing.
I believe you guys will make great stuff with Network Extensions.
Cheers!
์ดํ‹€ ์ „, ๊ฒฝ์ฐฐ์ด ์ €์—๊ฒŒ ์ฐพ์•„์™€ ์ด ์ผ์„ ๊ทธ๋งŒ๋‘๋Š” ๊ฒƒ์„ ์›ํ•œ๋‹ค๊ณ  ํ–ˆ์œผ๋ฉฐ ์˜ค๋Š˜ GitHub์—์„œ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์‚ญ์ œํ•˜๋ผ๊ณ  ๋งํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ด ์š”๊ตฌ๋ฅผ ์ˆ˜์šฉํ•˜๋Š” ๊ฒƒ ์™ธ์— ๋‹ค๋ฅธ ์—ฌ์ง€๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.
์ €๋Š” ์–ธ์  ๊ฐ€ ๋‘๋ ค์›€ ์—†์ด ์ œ๊ฐ€ ์ข‹์•„ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๋‚˜๋ผ์—์„œ ์‚ด๊ฒŒ ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.
์ €๋Š” ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋„คํŠธ์›Œํฌ ํ™•์žฅ ๊ธฐ๋Šฅ์œผ๋กœ ์—ฌ๋Ÿฌ ๋ฉ‹์ง„ ๊ธฐ๋Šฅ๋“ค์„ ๋งŒ๋“œ๋ฆฌ๋ผ ๋ฏฟ์Šต๋‹ˆ๋‹ค.
๊ณ ๋งˆ์›Œ์š”!

์ด์™ธ๋กœ๋„ ์ž์‹ ์˜ ํŠธ์œ„ํ„ฐ ๊ณ„์ •์„ ์ž ๊ทธ๊ณ , ๋ณธ ์‚ฌ๊ฑด์— ๋Œ€ํ•œ ์ž์‹ ์˜ ์˜๊ฒฌ ๋ฐ ์œ ์ €๋“ค์—๊ฒŒ ๋ณด๋‚ด๋Š” ๊ฒฉ๋ ค ๋ฉ”์‹œ์ง€๋ฅผ ์“ด ์ ๋„ ์žˆ๋‹ค.

์ดํ›„ Shadowsocks์˜ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋Š” ์ œ๊ฑฐ๋˜์—ˆ๊ณ [5][6] clowwindy์˜ GitHub ์‚ฌ์šฉ์ž ํŽ˜์ด์ง€์—๋Š” 2016๋…„ ๋ ˆํฌ์ง€ํ† ๋ฆฌ 1๊ฐœ๋ฅผ ์ƒ์„ฑํ•œ ๊ฒƒ์„ ๋์œผ๋กœ ์ถ”๊ฐ€์ ์ธ ํ™œ๋™์ด ์ „ํ˜€ ๊ธฐ๋ก๋˜์ง€ ์•Š๊ณ  ์žˆ๋Š” ์ƒํƒœ์ด๋‹ค.

5. ๋ถ€ํ™œ[ํŽธ์ง‘]

์ดํ›„ ShadowsocksR์ด๋ผ๋Š” ํฌํฌ ๋ฒ„์ „์ด ์ƒ์„ฑ๋˜์—ˆ์œผ๋‚˜, GPL ์œ„๋ฐ˜ ๋“ฑ์˜ ๋ฌธ์ œ[7]๋กœ ์…ง๋‹ค์šด๋˜์—ˆ๋‹ค. ๊ทธ ์™ธ์˜ ํŒŒ์ƒ ๋ฒ„์ „์œผ๋กœ๋Š” ShadowsocksRR, ShadowsocksX, Shadowsocks# ๋“ฑ์ด ์žˆ๋‹ค. ์•„์ง๊นŒ์ง€ ์ด๋“ค์€ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๊ณ  ํ˜„์žฌ๊นŒ์ง€ ๊ณ„์† ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ์‚ฌ์šฉ์‹œ ๋ณด์•ˆ์ƒ ์ด๋“ค์„ ์“ฐ๋„๋ก ํ•˜์ž.

ํ˜„์žฌ๋Š” shadowsocks-libev๋ผ๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋กœ ๋ถ„๊ธฐํ•ด ๊ณต๋™ ์ž‘์—…์ž ๋ฐ ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž๋“ค์ด ์ง€์†์ ์ธ ๊ฐœ๋ฐœ์„ ์ด์–ด๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค.

5.1. Project V (V2Ray)[ํŽธ์ง‘]


๊ณต์‹ ์‚ฌ์ดํŠธ[8]
๊นƒํ—™ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ

๋˜ํ•œ clowwindy์˜ ๋ฐ˜๊ฒ€์—ด ์ •์‹ ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ Project V๋ผ๋Š” ํ›„์† ํ”Œ๋žซํผ๋„ ๊ฐœ๋ฐœ๋˜์–ด์ง€๊ณ  ์žˆ๊ณ , ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๋ฆด๋ฆฌ์ฆˆ๋  ์‹œ V2Ray๋ผ๋Š” ๋ช…์นญ์„ ์‚ฌ์šฉํ•œ๋‹ค. https://toutyrater.github.io/#v2ray-%E8%B7%9F-shadowsocks-%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F

6. ๊ฐ™์ด๋ณด๊ธฐ[ํŽธ์ง‘]

[1] ํ›„์ˆ ๋˜๊ฒ ์ง€๋งŒ ๊ฐœ๋ฐœ, ์œ ํ–‰ ์ดํ›„ ๋งŽ์€ ํ”Œ๋žซํผ์œผ๋กœ ํฌํŒ…๋˜์—ˆ๋‹ค.
[2] Shadowsocks๋ฅผ ์ƒ์ง•ํ•˜๋Š” ํ‘ธ๋ฅธ ์ข…์ด๋น„ํ–‰๊ธฐ ์•„์ด์ฝ˜์ด๋‹ค ํ…”๋ ˆ๊ทธ๋žจ?
[3] ๊ฒ€์—ด์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•œ ้…ธ้…ธ์ด๋ผ๋Š” ์šฉ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•œ๋‹ค. ์ด์œ ๋Š” ้…ธ้…ธ(suan'suan)โ†’SuanSuanโ†’SSโ†’ShadowSocks, ์ฆ‰ ๋ณ‘์Œ์˜ ์•ž๊ธ€์ž๋ฅผ ์ด์šฉํ•œ ๊ฒƒ. ๊ฐ™์€ ์˜ˆ์‹œ๋กœ ้…ธ้…ธไนณ(suan'suan'ru)๋Š” ssr, ์ฆ‰ shadowsocksR์„ ์˜๋ฏธํ•œ๋‹ค.
[4] Shadowsocks-iOS #124๋ฒˆ ์ด์Šˆ ์ฝ”๋ฉ˜ํŠธ, 2018๋…„ 8์›” 24์ผ ํ™•์ธํ•จ.
[5] 938bba3 ์ปค๋ฐ‹, 2018๋…„ 8์›” 24์ผ ํ™•์ธํ•จ.
[6] ์‚ฌ์‹ค, git ํŠน์„ฑ์ƒ, repository๋ฅผ ์•„์˜ˆ ์‚ญ์ œํ•˜์ง€ ์•Š๋Š” ํ•œ ์‹ค์ œ๋กœ ์ง€์›Œ์ง€๋Š”๊ฒŒ ์•„๋‹ˆ๊ธด ํ•˜๋‹ค. master branch๋ฅผ ๋ณด์ž.
[7] Shadowsocks Windows #293๋ฒˆ ์ด์Šˆ ์ฝ”๋ฉ˜ํŠธ, 2018๋…„ 8์›” 24์ผ ํ™•์ธํ•จ.
[8] ๋ฉ”๋‰ด์—์„œ ํ•œ๊ตญ์–ด ๋ฒˆ์—ญ์ด ์ผ๋ถ€ ๋˜์–ด ์žˆ๋‹ค.