원저자 | Clowwindy |
---|---|
발표일 | 2012년 4월 20일[1][2] |
저장소 | github |
프로그래밍 언어 | 파이썬, C, 펄, C# |
운영 체제 | 크로스 플랫폼 |
플랫폼 | 안드로이드, iOS, 리눅스, macOS, 마이크로소프트 윈도우 |
언어 | 영어, 중국어 간체, 중국어 정체, 일본어 |
종류 | 인터넷 검열 우회 |
라이선스 | GNU 일반 공중 사용 허가서, GNU 약소 일반 공중 사용 허가서 |
웹사이트 | shadowsocks |
섀도삭스(Shadowsocks)는 자유-오픈 소스 암호화 프록시 프로젝트이며 인터넷 검열을 우회하기 위해 중국 대륙에서 널리 사용된다. 2012년 "clowwindy"라는 이름의 중국의 한 프로그래머에 의해 개발되었으며 여러 프로토콜 구현체들이 그 이후로 만들어졌다.[3][4] 일반적으로 이 클라이언트 소프트웨어는 실행 중인 머신에 socks5 프록시를 개방하며 그 뒤 SSH 터널과 유사한 방식으로 인터넷 트래픽이 우회된다.[5] SSH 터널과 달리 shaowsocks는 UDP 트래픽을 프록시 처리할 수도 있다.
2015년 8월, "clowwindy"는 깃허브 스레드에서 경찰로부터 연락을 받아 더 이상 이 프로젝트를 유지하지 못한다고 발표하였다.[6] 프로젝트의 코드는 제거 조치되었다.[7][8][9][10] 이후 3일이 지난 8월 25일, GoAgent라는 다른 프록시 애플리케이션 또한 깃허브 저장소에서 제거되었다.[8][9] 이 프로젝트들의 제거는 미디어 집중을 받았고 수일 뒤 발생한 깃허브에 대한 서비스 거부 공격과 제거 간의 잠재적인 관계에 대한 추측을 낳았다.[11] 전자 프런티어 재단의 Danny O'Brien은 이 문제에 대해 언급했다.[12]
제거에도 불구하고 프로젝트의 협력자들은 프로젝트의 개발을 계속해나가고 있다.
오리지널 파이썬 구현체는 Pip를 통해 여전히 설치할 수 있으나 깃허브 저장소의 콘텐츠는 제거된 상태이다.[13][14] 다른 서버 구현체로는 Go, 이벤트 루프 라이브러리 사용 C, Qt GUI를 사용한 C++, 펄을 포함한다. Go와 펄 구현체는 정기적으로 업데이트되지 않아 버림받을 수 있다.[14][15][16]
상기에 나열된 모든 서버 구현체들은 클라이언트 모드의 동작 또한 지원한다. 클라이언트 전용 구현체도 존재하는데, 이를테면 윈도우의 경우 shadowsocks-win, macOS의 경우 ShadowsocksX-NG, 안드로이드의 경우 shadowsocks-android, iOS의 경우 Wingy가 있다.[17] shadowsocks-win, shadowsocks-android를 포함한 대부분의 클라이언트들은 섀도삭스를 경유, 모든 시스템 트래픽의 리다이렉션을 지원한다.
Net::Shadowsocks는 섀도삭스 프로토콜 클라이언트/서버의 펄 구현체의 이름이며 CPAN을 통해 사용할 수 있다.[18]
ShadowsocksR은 오리지널 섀도삭스 프로젝트의 포크이며 보안 및 안정성 면에서 우위에 있다고 주장되었다. 출시 후 사용 가능한 C# 클라이언트의 소스 코드가 발견되지 않아 GNU GPL을 위반한 것으로 확인되었다.[19] 소스 프로젝트의 주장된 보안 문제의 해결책에 대해서도 논란이 일었다. 섀도삭스는 현재도 개발 중이지만 ShadowsocksR는 개발이 중단되었다.[20].
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.