If you are in China or temporarily visit China, it’s hard to open Google, Gmail, Slideshare, Twitter, etc. Internet Censorship is fine. But… I strongly suggest there should be one exception. We, as developers, should be able to access. It’s a must to do a better job.
Here I provide a free VPN service. The password will be rotated periodically. Unfortunately I can’t afford to make a bigger commitment. It should be good for temporary use. Right? Good news is you will have a Docker image to easily run the service in your own server. Check it now!
Original Article: http://dennyzhang.com/free_vpn
Update Per Audience Feedback:
Please don’t hesitate to contact me, if anything bothers you and I can be of any help!
How To Use The Service
I’ve started a public VM in Linode, which can visit almost all websites. It serves as a http proxy server, running a private VPN protocol. Unlike normal VPN protocols, this one is more reliable and resilient by design. Sorry, no more details. The more explanation I give, the higher possibility my website will be blocked in China.
Give it a try!
1. Download and install VPN client: Here is the Official link. Frankly speaking, I’m not surprised that you may fail to open the link, when you’re in China.
If the official link fails, try alternatives. Microsoft Windows: Shadowsocks-3.3.3.zip. Linux world:
# mac OSx pip install shadowsocks brew install shadowsocks-libev # Linux pip install shadowsocks apt-get install shadowsocks-libev
2. Get the credential: server ip, port and password.
As we may guess, there might be many users trying the free service. I have to update the password periodically. To the extreme case, it will be changed weekly.
Please contact me via email, in order to get the credential. Don’t worry, it’s totally free. I just want to reduce the risk of security issues.
Even better, if you can subscribe my mailing list. Thus you can always get latest credential via email automatically, with no extra communication.
Certainly you can subscribe later, or unsubscribe any time.
3. Enable client and activate the server. Once it’s done, you should be fine to open https://www.google.com. Finally!
How to setup my own server by docker
- 1. Rent a public VM In DigitalOcean Or Linode. DigitalOcean has a plan of $5/month. Personally I prefer a Linode VM with $10/month. With the extra money, my service is much more reliable. Also I have the luxury to try other funcy stuffs or host my side projects in the Cloud. Definitely you can have your own preference.
- 2. Install docker daemon, and pull the image. Dockerfile can be found in Github.
docker pull denny/ss:v1
- 3. Start the container
# Start the container docker run -t -d --privileged -h ss \ --name my-ss -p 6187:6187 denny/ss:v1 \ /usr/bin/supervisord -n -c \ /etc/supervisor/supervisord.conf # Make sure iptables allow the traffic ufw allow 6187/tcp
- 4. [Optional] Customize server port and password. By default, the server port is 6187, and password is DamnGFW1234. It’s defined in /etc/shadowsocks.json.
# Update config file vim /etc/shadowsocks.json # Reload setting supervisorctl reload # Check tcp port telnet localhost 6187
- 5. [Optional] Check service status
# Login to container and check telnet 127.0.0.1 6187 # Check service status service supervisor status # Check logfile tail /var/log/supervisor/sss-stderr* # Use tcpdump to monitor client requests sudo tcpdump -vvv -XX -s 0 -f -c 1000 -nn -i any 'port 6187'