⚠️ This is NOT the official shadowsocks website ⚠️
The official shadowsocks site is at shadowsocks.org
Under the condition of MIT License of the original project, this forked site is used ONLY for non-commercial and personal study purposes. The official shadowsocks site is at shadowsocks.org. In addition, the SEO indexing has been turned off on this site in order to protect the exposure of the official shadowsocks.org on the internet
The official shadowsocks site is at shadowsocks.org
Deploying
Setup your own server
First, buy a server from any cloud provider. DigitalOcean is recommended by us:
Then, install Linux on your servers, Ubuntu 20.04 is recommended.
Python
shadowsocks-python is the initial version written by @clowwindy. It aims to provide a simple-to-use and easy-to-deploy implementation with basic features of shadowsocks.
PyPI
First, make sure you have Python 2.6 or 2.7.
$ python --version
Python 2.6.8Then install from PIP
$ pip install shadowsocksGitHub
Checkout the source codes and run the scripts directly.
https://github.com/shadowsocks
shadowsocks-python is licensed under the Apache License, Version 2.0.
Go
go-shadowsocks2 is the next-generation Shadowsocks in Go, maintained by @riobard, supersedes the discontinued shadowsocks-go.
GitHub
Use go get to install.
$ go get -u -v github.com/shadowsocks/go-shadowsocks2go-shadowsocks2 is licensed under the Apache License, Version 2.0.
Go from Outline
outline-ss-server is the shadowsocks implementation used by the Outline Server, but it can be used standalone. Main features:
- Multiple users on a single port and multiple ports.
- Whitebox monitoring of the service using prometheus.io
- Live updates via config change + SIGHUP
- Prohibits unsafe access to localhost ports and usage of non-AEAD ciphers
GitHub
Download pre-built binaries from the GitHub releases or build it from source:
go get github.com/Jigsaw-code/outline-ss-server
$(go env GOPATH)/bin/outline-ss-server -config=config.yml -metrics=127.0.0.1:9091outline-ss-server is licensed under the Apache License, Version 2.0.
C with libev
shadowsocks-libev is a lightweight and full featured port for embedded devices and low end boxes. It's a pure C implementation and has a very small footprint (several megabytes) for thousands of connections. This port is maintained by @madeye.
Debian/Ubuntu:
shadowsocks-libev is available in the official repository for Debian 9("Stretch"), unstable, Ubuntu 16.10 and later derivatives:
sudo apt update
sudo apt install shadowsocks-libevFor Debian Jessie users, please install it from jessie-backports:
sudo sh -c 'printf "deb http://httpredir.debian.org/debian jessie-backports
main" > /etc/apt/sources.list.d/jessie-backports.list'
sudo apt-get update
sudo apt-get -t jessie-backports install shadowsocks-libevDocker
shadowsocks-libev is shipped also in containers, which makes it a great choice if your cloud provider is Docker-ready or if you aim to build a scalable solution.
docker pull shadowsocks/shadowsocks-libev
docker run -e PASSWORD=<password> -p<server-port>:8388 -p<server-port>:8388/udp -d shadowsocks/shadowsocks-libevMore information about the image can be found here.
GitHub
Build and install the project from source code.
$ sudo apt-get install --no-install-recommends build-essential autoconf libtool \
libssl-dev gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc \
xmlto apg libpcre3-dev zlib1g-dev libev-dev libudns-dev libsodium-dev libmbedtls-dev libc-ares-dev automake
$ git clone https://github.com/shadowsocks/shadowsocks-libev.git
$ cd shadowsocks-libev
$ git submodule update --init
$ ./autogen.sh && ./configure && make
$ sudo make installshadowsocks-libev is licensed under the GNU General Public License v3.0.
C++ with Qt
libQtShadowsocks is a lightweight and ultra-fast shadowsocks library written in C++ with Qt 5. The client shadowsocks-libqss can be used in both client-side and server-side. This port is maintained by @librehat.
Prebuilt binaries
Download pre-built binaries from https://github.com/shadowsocks/libQtShadowsocks/releases
GitHub
$ git clone https://github.com/shadowsocks/libQtShadowsocks.git
$ cd libQtShadowsocks
$ qmake
$ make -j4
$ sudo make installlibQtShadowsocks is licensed under the GNU Lesser General Public License, version 3.0
Perl
Net::Shadowsocks is an asynchronous, non-blocking Shadowsocks client and server Perl module maintained by @zhou0.
Setting up
You need a Perl interpreter to execute Perl program. Any Unix-like system, including Linux and Mac OS X, has Perl pre-installed. Windows does not have Perl installed by default, so you need to install Strawberry Perl. The source code is available on CPAN and github. Download from CPAN https://metacpan.org/release/Net-Shadowsocks or download from github https://github.com/zhou0/shadowsocks-perl
Installing
On Unix-like systems, either
$ perl Build.PL
$ ./Build
$ ./Build test
$ ./Build installor
$ perl Makefile.PL
$ make
$ make test
$ make installYou might need to change make to dmake or nmake depending on the compiler toolchain used on Windows. If you have cpan, you can also install using this command:
$ cpan Net::ShadowsocksRunning
There is a server.pl script under the eg directory. Put your config.json in the same directory as server.pl and run the server.pl script there.
Net::Shadowsocks is licensed under the [Artistic License (2.0)] (http://www.perlfoundation.org/artistic_license_2_0).