Shadowsocks
{{Short description|Free and open-source encrypted proxy project}}
{{Use dmy dates|date=February 2018}}
{{expand Chinese|topic=tech|date=February 2017}}
{{Infobox software
| ver layout = stacked
| name = Shadowsocks
| logo = Shadowsocks logo.png
| logo alt =
| screenshot =
| caption =
| screenshot alt =
| collapsible =
| author = [https://github.com/Clowwindy Clowwindy]
| developer =
| released = {{Start date and age|df=yes|2012|04|20}}{{cite web |url=http://www.v2ex.com/t/32777 |title=发一个自用了一年多的翻墙工具 shadowsocks |access-date=15 December 2016 |url-status=dead |archive-url=https://web.archive.org/web/20120422191812/http://www.v2ex.com/t/32777 |archive-date=22 April 2012 }}{{cite web|url=http://www.chinagfw.org/2016/08/shadowsocks_31.html|title=Shadowsocks 的前世后生|website=GFW BLOG|access-date=15 December 2016}}
| discontinued =
| latest preview version =
| latest preview date =
| programming language = {{wikidata|properties|linked|edit|P277|sep%s=;}}
| operating system = {{wikidata|properties|linked|references|edit|P306|sep%s=
}}
| size =
| language count =
| language footnote =
| genre = {{wikidata|properties|linked|references|edit|P31|sep%s=
}}
| alexa =
| website =
| standard =
| AsOf =
}}
Shadowsocks is a free and open-source encryption protocol project, widely used in China to circumvent Internet censorship. It was created in 2012 by a Chinese programmer named "clowwindy", and multiple implementations of the protocol have been made available since. Shadowsocks is not a proxy on its own, but (typically) is the client software to help connect to a third-party SOCKS5 proxy. Once connected, internet traffic can then be directed through the proxy.{{Cite web |url=https://shadowsocks.org/en/spec/Protocol.html |title=Shadowsocks – Protocol |website=shadowsocks.org |language=en |access-date=11 January 2018 |url-status=dead |archive-url=https://web.archive.org/web/20151204034044/https://shadowsocks.org/en/spec/protocol.html |archive-date=4 December 2015|df=dmy-all}} Unlike an SSH tunnel, Shadowsocks can also proxy User Datagram Protocol (UDP) traffic.
Takedown
On 22 August 2015, "clowwindy" announced in a GitHub thread that they had been contacted by the police and could no longer maintain the project. The code of the project was subsequently branched with a removal notice. Three days later, on 25 August, another proxy application, GoAgent, also had its GitHub repository removed. The removal of the projects received media attention, with some speculating about a possible connection between those removals and a distributed-denial-of-service attack targeting GitHub which occurred several days later. Danny O'Brien, from Electronic Frontier Foundation, published a statement on the matter.
Despite the takedown, collaborators of the project have continued the development of the project.
Server implementations
The original Python implementation can still be installed using the Pip Python package manager, but the contents of its GitHub repository have been removed.{{Cite web|url=https://github.com/shadowsocks/shadowsocks|title=Shadowsocks|website=GitHub}}{{Cite web|url=https://shadowsocks.org/en/download/servers.html|title=Shadowsocks Servers|website=Shadowsocks|access-date=11 January 2018|archive-date=15 July 2019|archive-url=https://web.archive.org/web/20190715174744/http://shadowsocks.org/en/download/servers.html|url-status=dead}} Other server implementations include one in Go, Rust, and C using the {{proper name|libev}} event loop library; C++ with a Qt GUI; and Perl. The Go and Perl implementations are not updated regularly and may have been abandoned.{{Citation|last=zhou0|title=shadowsocks-perl: An asynchronous, non-blocking shadowsocks client and server written in Perl|date=18 December 2017|url=https://github.com/zhou0/shadowsocks-perl|access-date=11 January 2018}}{{Citation|title=shadowsocks-go: go port of shadowsocks|date=10 January 2018|url=https://github.com/shadowsocks/shadowsocks-go|publisher=shadowsocks|access-date=11 January 2018}}{{Citation|title=shadowsocks-rust: A Rust port of shadowsocks|url=https://github.com/shadowsocks/shadowsocks-rust|access-date=12 October 2019}}
Client implementations
All of the server implementations listed above also support operating in client mode. There are also client-only implementations available for Windows (shadowsocks-win), macOS (ShadowsocksX-NG), Android (shadowsocks-android), and iOS (Wingy).{{Cite web|url=https://shadowsocks.org/en/download/clients.html|title=Shadowsocks - Clients|website=shadowsocks.org|language=en|access-date=11 January 2018|archive-date=29 June 2019|archive-url=https://web.archive.org/web/20190629092040/https://shadowsocks.org/en/download/clients.html|url-status=dead}} Many clients, including shadowsocks-win and shadowsocks-android, support redirecting all system traffic over Shadowsocks, not just applications that have been explicitly configured to do so, allowing Shadowsocks to be used similarly to a VPN. If an application doesn't support proxy servers, a proxifier can be used to redirect the application to the Shadowsocks client. Some proxifiers, such as Proxycap, support Shadowsocks directly, thus avoiding the need for a Shadowsocks client, but some require a client.
Net::Shadowsocks
Net::Shadowsocks is name of the Perl implementation of Shadowsocks protocol client and server available on CPAN.
ShadowsocksR
ShadowsocksR is a fork of the original Shadowsocks project, claimed to be superior in terms of security and stability. Upon release, it was found to violate the License by not having the source code of the C# client available. It was also criticized for its solution to the alleged security issues in the source project. Shadowsocks is currently under development, while development of ShadowsocksR has stopped.{{Cite web|url=https://github.com/StreisandEffect/streisand/issues/501|title = Long-term Shadowsocks Plan: ShadowsocksR versus Shadowsocks2 · Issue #501 · StreisandEffect/Streisand| website=GitHub }}
Similar projects
Shadowsocks is similar to The Tor Project's Pluggable Transport (PT) idea. PT makes it hard for Internet Service Providers to detect Tor traffic. They also both use a socks proxy interface. Whereas Shadowsocks is simpler, Obfs4 used in PT is more obfuscated.{{Cite web| title=The Random Forest based Detection of Shadowsock's Traffic | url=https://censorbib.nymity.ch/pdf/Deng2017a.pdf | archive-url=https://web.archive.org/web/20191226145717/https://censorbib.nymity.ch/pdf/Deng2017a.pdf | archive-date=2019-12-26}} Unlike Obfs4, Shadowsocks is not resistant to Active Probing.{{Cite web|url=https://github.com/net4people/bbs/issues/22|title = How China Detects and Blocks Shadowsocks · Issue #22 · net4people/BBS| website=GitHub }} The most similar PT to Shadowsocks is Obfs3.
A more comprehensive framework titled V2Ray adds obfuscation on top of traffic encryption.
See also
{{Portal|Free and open-source software}}
References
{{Reflist|2|refs=
{{cite web|url=https://github.com/shadowsocks/shadowsocks/commit/418156debaf9f242f3c2bcc4badaa63e6630cb2a|title=initial commit|author=clowwindy|date=20 April 2012|via=GitHub|access-date=10 June 2016}}
{{cite web|url=https://www.eff.org/deeplinks/2015/08/speech-enables-speech-china-takes-aim-its-coders|title=Speech that Enables Speech: China Takes Aim at Its Coders|first=Danny|last=O'Brien|author-link=Danny O'Brien (journalist)|date=28 August 2015|publisher=Electronic Frontier Foundation|access-date=10 June 2016}}
{{cite web|url=https://zh.greatfire.org/blog/2015/aug/chinese-developers-forced-delete-softwares-police|title=中国开发者被警察要求删除软件|trans-title=Chinese coder ordered to delete software by police|author=Percy|date=26 August 2016|publisher=GreatFire|language=zh|access-date=10 June 2016}}
{{cite web|url=http://chinadigitaltimes.net/2015/08/circumvention-tool-deleted-after-police-visit-developer/|title=Circumvention Tool Deleted After Police Visit Developer|first=Josh|last=Rudolph|date=25 August 2015|publisher=China Digital Times|access-date=10 June 2016}}
{{cite web|url=http://www.pcworld.com/article/2977109/china-intensifies-internet-censorship-ahead-of-military-parade.html|title=China intensifies Internet censorship ahead of military parade|first=Michael|last=Kan|date=30 August 2015|website=PC World|publisher=International Data Group|access-date=10 June 2016}}
{{cite web|url=http://news.softpedia.com/news/recent-github-ddos-linked-to-chinese-government-and-two-github-projects-490405.shtml|title=Recent GitHub DDOS Linked to Chinese Government and Two GitHub Projects|first=Catalin|last=Cimpanu|date=29 August 2015|publisher=Softpedia|access-date=10 June 2016}}
{{cite web|url=https://github.com/shadowsocks/shadowsocks-iOS/issues/124#issuecomment-133630294|archive-url=https://web.archive.org/web/20150822042959/https://github.com/shadowsocks/shadowsocks-iOS/issues/124#issuecomment-133630294|title=Adopting iOS 9 network extension points|author=clowwindy|date=22 August 2015|archive-date=22 August 2015|via=GitHub|quote=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.|access-date=10 June 2016}}
{{cite web|url=https://github.com/shadowsocks/shadowsocks-windows/issues/293#issuecomment-132253168|title=AppData & temp & 当前目录|author=clowwindy|date=18 August 2015|via=GitHub|language=zh|access-date=10 June 2016}}
{{cite web|url=https://github.com/shadowsocks/shadowsocks/commit/938bba32a4008bdde9c064dda6a0597987ddef54|title=shadowsocks/shadowsocks@938bba3|author=clowwindy|date=22 August 2015|via=GitHub|access-date=10 June 2016}}
{{cite web|url=https://github.com/shadowsocks/shadowsocks/wiki/Ports-and-Clients|title=Ports and Clients|via=GitHub|access-date=10 June 2016}}
{{cite web|url=https://metacpan.org/pod/Net::Shadowsocks|title=Net::Shadowsocks - the asynchronous, non-blocking shadowsocks client and server.|via=CPAN|access-date=6 April 2017|archive-date=7 April 2017|archive-url=https://web.archive.org/web/20170407144242/https://metacpan.org/pod/Net::Shadowsocks|url-status=dead}}
}}
External links
- {{Official website|https://shadowsocks.org/}}
{{Internet censorship circumvention technologies}}
Category:Internet censorship in China
Category:Computer network security
Category:Free software programmed in C
Category:Free software programmed in C++
Category:Free software programmed in C#
Category:Free software programmed in Go
Category:Free software programmed in Perl