Supported environments for this script
Supported systems: CentOS 6+, Debian 7+, Ubuntu
12+
Memory requirement: ≥128M
Date: July 27, 2017
About this script
1. One-click installation of the Shadowsocks-Python, ShadowsocksR,
Shadowsocks-Go, and Shadowsocks-libev server versions (choose one of four);
2. The startup scripts and configuration filenames for each version no longer overlap;
3. Each run can install one version;
4. Supports installing multiple versions by running it multiple times, and the different versions can coexist (note that the port numbers must be set differently);
5. If multiple versions are already installed, uninstallation must also be done by running it multiple times (one version per uninstall);
6. Shadowsocks-Python and ShadowsocksR
cannot be started at the same time after installation (because both are essentially Python versions).
Friendly reminder:If you have any questions, please first read this article, Shadowsocks
Troubleshooting, before asking.
Default configuration
Server port: set it yourself (if not set, the default is 8989)
Password: set it yourself (if not set, the default is teddysun.com)
Encryption method: set it yourself (if not set, the default for the Python and libev versions is
aes-256-gcm, and the default for the R and Go versions is aes-256-cfb)
Protocol: set it yourself (if not set, the default is origin) (ShadowsocksR version only)
Obfuscation (obfs): set it yourself (if not set, the default is plain) (ShadowsocksR
version only)
Note: The script creates a single-user configuration file by default. If you need to configure multiple users, manually modify the corresponding configuration file and then restart.
Client Download
Standard Windows client
https://github.com/shadowsocks/shadowsocks-windows/releases
ShadowsocksR Windows client
https://github.com/shadowsocksr/shadowsocksr-csharp/releases
Usage
Log in as the root user and run the following commands:
wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh chmod +x shadowsocks-all.sh ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
After the installation is complete, the script will display the following prompt
Congratulations, your_shadowsocks_version install completed! Your Server IP :your_server_ip Your Server Port :your_server_port Your Password :your_password Your Encryption Method:your_encryption_method Welcome to visit:https://teddysun.com/486.html Enjoy it!
Uninstallation Method
If multiple versions have been installed, you will also need to run the uninstall command multiple times when uninstalling (one version per run).
Log in as the root user and run the following command:
./shadowsocks-all.sh uninstall
Startup Scripts
The parameters after the startup script mean, from left to right: start, stop, restart, check status.
Shadowsocks-Python version:
/etc/init.d/shadowsocks-python start | stop |
restart | status
ShadowsocksR version:
/etc/init.d/shadowsocks-r start | stop |
restart | status
Shadowsocks-Go version:
/etc/init.d/shadowsocks-go start | stop |
restart | status
Shadowsocks-libev version:
/etc/init.d/shadowsocks-libev start | stop |
restart | status
Default Configuration Files for Each Version
Shadowsocks-Python version:
/etc/shadowsocks-python/config.json
ShadowsocksR version:
/etc/shadowsocks-r/config.json
Shadowsocks-Go version:
/etc/shadowsocks-go/config.json
Shadowsocks-libev version:
/etc/shadowsocks-libev/config.json
Changelog
July 27, 2017:
1. Added: the ShadowsocksR version now supports the optional protocol auth_chain_b
. To use this protocol, you need to update to the latest (4.7.0) ShadowsocksR version client;
2. Changed: updated the ShadowsocksR source code download URL.
July 23, 2017:
1. Fixed: during uninstallation, you can choose a specific version to uninstall; if that version does not exist, an error will be reported and the script will exit.
July 22, 2017:
1. Fixed: the default encryption method was changed from aes-256-cfb to aes-256-gcm (Python
and libev versions);
2. Added: during installation, you can choose one of 16 encryption methods (Python and libev
versions). As shown below:
aes-256-gcm aes-192-gcm aes-128-gcm aes-256-ctr aes-192-ctr aes-128-ctr aes-256-cfb aes-192-cfb aes-128-cfb camellia-128-cfb camellia-192-cfb camellia-256-cfb chacha20-ietf-poly1305 chacha20-ietf chacha20 rc4-md5
3. Added: During installation, you can choose one of 9 encryption methods (Go version). As shown below:
aes-256-cfb aes-192-cfb aes-128-cfb aes-256-ctr aes-192-ctr aes-128-ctr chacha20-ietf chacha20 rc4-md5
4. Added: During installation, you can choose one of 13 encryption methods (none means no encryption, ShadowsocksR
version). As shown below:
none aes-256-cfb aes-192-cfb aes-128-cfb aes-256-cfb8 aes-192-cfb8 aes-128-cfb8 aes-256-ctr aes-192-ctr aes-128-ctr chacha20-ietf chacha20 rc4-md5 rc4-md5-6
5. Added: During installation, you can choose one of 7 protocols (protocol) (ShadowsocksR
version only). As shown below:
origin verify_deflate auth_sha1_v4 auth_sha1_v4_compatible auth_aes128_md5 auth_aes128_sha1 auth_chain_a auth_chain_b
6. Added: During installation, you can choose one of 9 obfuscation methods (obfs) (ShadowsocksR
version only). As shown below:
plain http_simple http_simple_compatible http_post http_post_compatible tls1.2_ticket_auth tls1.2_ticket_auth_compatible tls1.2_ticket_fastauth tls1.2_ticket_fastauth_compatible
February 24, 2017:
1. Restored: the feature to automatically obtain the latest release version of Shadowsocks-libev via the Github API (v3.0.3).
February 13, 2017:
1. Upgrade: Shadowsocks-libev version upgraded to 3.0.2;
2. Upgrade: Shadowsocks-go version upgraded to 1.2.1 (based on the latest code on Github, with x86 and x86_64 binaries compiled using go 1.8);
3. Fix: resolved the issue where the libudns-dev dependency package was not installed by default on Debian 7.
February 12, 2017:
1. Upgrade: Shadowsocks-libev version upgraded to 3.0.1.
January 27, 2017:
1. Upgrade: Shadowsocks-go version upgraded to 1.2.1 (x86_64 systems only)
More one-click installation scripts for single-version Shadowsocks servers
One-click installation script for the Python version of Shadowsocks (CentOS, Debian, Ubuntu)
One-click installation script for the ShadowsocksR version (CentOS, Debian, Ubuntu)
One-click installation script for Shadowsocks-libev on CentOS
One-click installation script for Shadowsocks-libev on Debian
One-click installation script for Shadowsocks-go (CentOS, Debian, Ubuntu)
Note: The single versions above cannot be used together with this all-in-one version.
