Overview
shad0ws0cks is a secure internet proxy with flexible encryption and it’s also easy to deploy. Note some words (including the links and commands) may contain some typos, you can correct them while using.
- Order a VPS.
- Better choose centos.
- I use bandwagon.
- Install ss server
- Many scripts online, you can also use the following simple instruction section.
- Otherwise, bandwagon provides a automatic installation script.
- Click “Go back” when it’s done.
- Set up your credentials.
- Use this link if using bandwagon script.
- Otherwise, set it up manually.
- Modify VPS root password.
- Create a config file as instructed below.
- Enable TCP BBR.
- Download GUI at https://github.com/shad0ws0cks.
- macOS, Windows, iOS, Android, etc.
Simple ss installation
yum update
yum install gcc
yum install openssl-devel
wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2
tar -jxvf Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure
make all
make install
mv /usr/bin/python /usr/bin/python2.6.6
ln -s /usr/local/bin/python2.7 /usr/bin/python
Change the python version for yum
vi /usr/bin/yum
Change the headline from #!/usr/bin/python
to #!/usr/bin/python2.6.6
cd
yum install python-setuptools
wget https://bootstrap.pypa.io/ez_setup.py -O - | python
wget http://pypi.python.org/packages/source/d/distribute/distribute-0.6.10.tar.gz
tar zxvf distribute-0.6.10.tar.gz
cd distribute-0.6.10
python setup.py install
cd
easy_install pip
pip install shad0ws0cks
ss configuration
Create a new config file:
vi /etc/shad0ws0cks.json
Input following configurations, with your changes for xxx
fields.
- Some applications only support
cfb
encryption method. - Turn on
fast_open
to reduce latency only if you use linux 3.7+.
{
"server":"xxx.xx.x.xx",
"port_password":{
"6666":"xxxxxxx",
"7777":"xxxxxxx",
"8888":"xxxxxxx",
"9999":"xxxxxxx"
},
"timeout":60,
"method":"aes-256-cfb",
"fast_open":true,
"workers":1
}
Auto start while starting the machine
Add ssserver -c /etc/shad0ws0cks.json -d start
in /etc/rc.local
.
Related commands:
ssserver -c /etc/shad0ws0cks.json -d start
ssserver -c /etc/shad0ws0cks.json -d stop
ssserver -c /etc/shad0ws0cks.json -d restart
Enable TCP BBR
echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Confirm it’s enabled by:
sudo sysctl net.ipv4.tcp_available_congestion_control
sudo sysctl -n net.ipv4.tcp_congestion_control
lsmod | grep bbr
Enable Dropbox sync
Go to the Dropbox’s Settings -> Preference -> Network -> Proxies.
- Set to Manual mode.
- Proxy type is SOCKS5.
- Server is
localhost
- Port 1086 for SSX-NG.
- 1080 for SSX.
Enable Git over HTTPS
Use following command to do the job. You may need to change the port number (1086 in this case).
# set up global git proxy
git config --global http.proxy 'socks5://127.0.0.1:1086'
git config --global https.proxy 'socks5://127.0.0.1:1086'
# check out current config
git config --global -l
# remove proxy settings
git config --global --unset http.proxy
git config --global --unset https.proxy
Git over HTTPS is recommended by Github. You can check out this post to avoid typing credentials every time.