Shadowsocks Guide: Working Around the Great Firewall

I’ve just came back from China, Beijing, and had to find a way to work around the great firewall of China as I needed access to my email (Gmail) and other sites that I usually frequent. I did not want to spend money on a VPN service just for the short 2 weeks trip. I chanced upon Shadowsocks and it worked great for me.

Finding a Host

As I already have my own server to host the server side of things, I can recommend you guys to look for a very cheap one for as low as maybe a dollar a month on this site called LowEndBox. If you’re going to China, you will want a host that has a good connectivity to China. The Shadowsocks server does not require much resources so all you need to take note of is the location and connection to China. If you get a server that has poorer connectivity, your connection will be slower. It will still work but performance suffers.

You would usually look for a host that has their servers located in places like Hong Kong, Singapore etc. These geographical locations might cost a premium but should still be much cheaper as compared to a dedicated VPN service. Get yourself a host (VPS if it’s from LowEndBox) and for this guide you may want to install Ubuntu as the operating system.

Server Installation

For all links regarding server downloads, visit: https://shadowsocks.org/en/download/servers.html

Before you can start using Shadowsocks on your devices you need to set it up properly on your own server. If you are using latest Ubuntu as your server’s OS, simply do the following:

First, add the GPG public key into your server.

Second, add the repositories into your system.

Lastly, install the shadowsocks server application.

Once done, you must configure the server settings. I will only walk you through the basics that I’ve configured on my own server (that works and fulfils the purpose). The configuration file is located in /etc/shadowsocks-libev/config.json

You can choose to change the server_port and local_port accordingly but do take note of what you change them to. Make sure you put in your own server’s IP as well and a password for authentication. The rest of the parameters can be left untouched.

Once you have finished editing the configuration file, restart the service:

NOTE: If you have a firewall configured, you must allow for the port you configured in the parameter “server_port” to be accessed from the outside.

Client Applications

Once you have your server all set up and ready, you can now download the relevant applications onto your devices. Shadowsocks is supported on all major desktop and mobile OSes. You can find all the clients here: https://shadowsocks.org/en/download/clients.html

Configuring the applications is self-explanatory, simply put in the server_port and password according to what you have configured at the server side. In addition, make sure the encryption method used is “aes-256-cfb”.

Once you have the application installed, the additional step you need to take on your desktop/laptop is that you will need to use a browser that points to the shadowsocks proxy server. On Google Chrome, you can install a plugin called SwitchyOmega. Once you have the plugin installed, create a new profile and fill in as such:

Conclusion

Doing the above steps will allow you to work around the great firewall of China. I’ve tried it out myself and it worked great. Despite my server being located in the US, it still ran fine enough especially for basic emailing and browsing. If you want to do some streaming off YouTube and whatnot, you must make sure your server has a good connection to China.

Do let me know if you have any questions, otherwise enjoy the additional and much needed freedom especially for people relying on Google based services.

Tweet about this on TwitterShare on Google+0Share on Reddit0Share on Facebook0Share on StumbleUpon0Share on LinkedIn0Share on Tumblr0Email this to someone

One thought on “Shadowsocks Guide: Working Around the Great Firewall”

Leave a Reply

Your email address will not be published. Required fields are marked *

A simple question keeps the bots away * Time limit is exhausted. Please reload CAPTCHA.