Shadowsocks

 


'''Shadowsocks'''
[image]
'''제작자'''
clowwindy
'''코드 관리'''
madeye, linusyang
'''종류'''
프록시 프로그램
'''개발 언어'''
C
'''플랫폼'''
안드로이드
iOS
Mac OS X
Linux
OpenWRT
등등[1]
'''공식 홈페이지'''
Shadowsocks
[image][2]
Shadowsocks / 影梭 / 섀도우삭스[3]
1. 개요
2. 배경
3. 원리
4. 서비스 종료
5. 부활
5.1. Project V (V2Ray)
6. 같이보기

[clearfix]

1. 개요


중국인터넷 검열 시스템인 황금방패를 우회하기 위해 clowwindy라는 중국인 개발자의 오픈 소스 프록시 프로그램 및 해당 프로젝트를 통틀어 이르는 명칭. Python, C부터, Go라즈베리 파이까지 많은 버전으로 포팅되었다. UDP/TCP 트래픽 모두에 대한 우회를 지원하고 있다.

2. 배경


황금방패 정책 시행 이후 cloudwindy가 2012년 4월 20일GitHub에 레포지토리를 개설한 것이 그 시작으로, VPN과 더불어 황금방패의 검열을 가장 효과적으로 막을 수 있는 수단 중 하나였으나 기존까지 VPN 연결을 적극적으로 막으려 들지 않았던 중국 정부가 2018년 경에 들어서 심층 패킷 감시 (DPI), 기계학습을 통한 의심 패킷 드롭, 법적 제재 등의 모든 수단을 동원하여 OpenVPN을 포함한 우회로를 완전히 차단하려고 들자 '''현재 중국에서 사용할 수 있는 몇 안 되는 검열 우회 수단이 되었다'''.

3. 원리


[image]
Windows 내에서 Shadowsocks를 기동한 사진.
[image]
안드로이드(운영체제) 내에서 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)


[image]
공식 사이트[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] 메뉴에서 한국어 번역이 일부 되어 있다.