Shadowsocks VS SOCKS5 Proxy: Breaking Down the Nuances?
If you are in a country that censors certain websites, you are probably looking for a way to go past this censorship. That’s where the Shadowsocks vs SOCKS5 Proxy debate comes in. These two solutions are among the most effective ways to freely browse the internet and access any website you want without being censored.
However, Shadowsocks and SOCKS5 have a couple of differences you need to know before choosing which one to use. This article will discuss everything you need to know about Shadowsocks and SOCKS5 proxy to make it easier for you to choose between the two solutions. Without any further ado, let’s jump right in!
What Is Shadowsocks?
Shadowsocks is a free, open-source connection protocol project widely used by people in dictatorial countries to find a way past censorship. This tool is widely used by the Chinese to go past the great Chinese firewall. Shadowsocks is popular because it is free and also hides traffic much better than most VPNs.
Shadowsocks was created in 2012 by a Chinese programmer known as “clowwindy” and distributed on GitHub for other users to contribute. However, this programmer was contacted by the Chinese government in 2015 and instructed to abandon the project and also delete the code from GitHub.
Despite the move by the government, more individuals were already interested in how to use Shadowsocks, and along with that, developers continued improving this tool. Shadowsocks has been enhanced over the years, and it is currently one of the most reliable solutions you can use to get past any censorship.
How does Shadowsocks work?
Shadowsocks is a proxy that routes an internet connection through a remote server outside your location, allowing you to go past any censorship. Once this tool is set up, you can access any web resource since their connection first goes through a proxy server and is encrypted, so your ISP won’t know your real location and the information being exchanged between the server and the client.
For instance, if you are in China, this tool will route your connection to a proxy server in a country like the USA, making it close to impossible for the Chinese Great Firewall to censor your connection. It should be noted that the encryption used by Shadowsocks is relatively lightweight, so it is not as secure as the VPNs that use military-grade encryption.
Unlike the mainstream VPNs, Shadowsocks also doesn’t give you the option to choose the location of the proxy server you want to connect to. So, technically it is not designed to allow you to access geo-blocked content on streaming sites like Netflix.
Benefits of Shadowsocks
It is free and open-source
One of the major reasons this project has been successful is that anyone can use it for free. Several people in dictatorial regimes would like to use VPNs but cannot afford their monthly subscription fees. VPNs that claim to be free usually abuse user privacy and display lots of ads which ruins the whole experience of using them. This makes Shadowsocks the ultimate solution for anyone searching for a free tool they can use to access restricted websites in their country.
Selective disguising of traffic
With Shadowsocks, you can choose which part of your traffic is routed to a remote server. For instance, if you are in China and you want to access Facebook, you have the option of only routing the Facebook connection through a remote server and leaving the rest of the traffic to connect normally. This allows you to access China-only websites and any restricted sites you would love to use.
Shadowsocks is almost impossible to detect and block
Unlike VPNs, Shadowsocks masks your traffic to make it appear like a normal HTTPS connection. This makes it almost impossible for ISPs and other regulators to know that you are using this tool. It should also be noted that most governments that censor content require platforms like the App Store to ban VPNs in their regions, so using Shadowsocks has become the ideal alternative.
It can be faster than traditional VPNs
Shadowsocks doesn’t have multiple encryption layers, which gives it the potential to be much faster than VPNs. And unlike SOCKS5 proxies, Shadowsocks also works with multiple TCP connections, making it a much faster alternative.
What Is SOCKS5 Proxy?
SOCKS is an internet protocol that routes internet traffic through a proxy server before sending it to its final destination. SOCKS5 improves the security of the SOCKS protocol by adding authentication for authorized users to access these proxy servers.
Most VPNs have the SOCKS5 proxy feature, which allows users to fake their virtual location. A SOCKS5 proxy hides your actual IP address from the websites and other web resources you are trying to access. This allows users to access geo-locked content since most of these websites rely on one’s IP address to know their location.
The three authentication methods that the SOCKS5 protocol uses to authorize users are null authentication, username/password authentication, and GSS-API authentication. Let’s explain each of these in detail.
- Null Authentication: With this, anyone can access the proxy server without being authenticated. It is the most insecure authentication method, but it allows more people to use the proxy server.
- GSS-API authentication: With this type of authentication, both the client (you) and the server must verify their identity on the Operating System level.
- Username/Password authentication: This method only allows registered users with a username and password to access the proxy server.
How does the SOCKS5 proxy work?
When using this protocol, your traffic is redirected to a proxy server, which generates a random IP address before sending your traffic to the final destination. For example, if your IP address is 192.168.0.100 and that of the Proxy server is 192.168.1.1, any website you try to access will see your IP address as the latter. This allows you to hide your location.
The only downside with SOCKS5 proxy servers is that they don’t encrypt your traffic, so it is exposed to anyone who may want to spy on you. That’s why using SOCKS5 proxies is not the ideal solution if you are in a country that censors the internet. The lack of encryption makes it possible for your ISP and other authorities to see the data being sent between the client and the server, giving them a basis to block connections to certain websites.
Benefits of using a SOCKS5 proxy
Access to geo-blocked content
One of the main reasons for using a SOCKS5 proxy is to access content on the web that is restricted in your region. This is common with streaming services like Netflix and Amazon Prime Video that limit certain shows and movies to only be viewed by people in specific locations. A SOCKS5 proxy will hide your IP address, making it close to impossible for these services to know your actual location.
Limits websites from profiling you
One of the parameters that most websites use while profiling users is their IP address. Hiding your IP address will make it hard for these websites to capture your full profile information. This enhances your privacy on the internet.
Also faster than VPNs
SOCKS5 proxies route your traffic through a proxy server, but they don’t encrypt your data like VPNs. Multi-layer encryption used by VPNs is good because it makes your connection to the web more secure and private. However, it comes at the cost of slightly slower internet speeds when compared to using SOCKS5 proxies that don’t encrypt the data. If your goal is to only view region-blocked content or implement some marketing activities, using a SOCKS5 proxy would be an ideal alternative.
Shadowsocks vs SOCKS5 Proxy
The Shadowsocks protocol by itself is not a proxy. It simply enables secure connections to third-party SOCKS5 proxies. So, Shadowsocks addresses the security and privacy problem created by connecting to SOCKS5 proxies. With Shadowsocks, you will be able to connect to any website on the internet without exposing your data to regulators and potential hackers.
Despite adding these extra layers of security and privacy, Shadowsocks protocol is not as secure and private as VPNs. If you want to browse the web anonymously, using a VPN is recommended. The main goal of Shadowsocks and SOCKS5 proxy is to enable users to hide their IP address, making it hard for regulators to block them from accessing censored websites. By design, Shadowsocks is not meant to be very secure and private.
How to Create a SOCKS5 Proxy with Shadowsocks?
In this section, we will discuss how to create a SOCKS5 proxy using Shadowsocks. First, you will have to install Shadowsocks-libev on a cloud server. The next step is configuring the proxy. Then, it takes the Shadowsocks client software installation. After that, you’ll be able to connect your devices to a proxy server created earlier.
Now, let’s take a closer look at the procedure and guidelines you can use for cloud servers while working with CentOS 8, Debian 10, and Ubuntu 20.04. Ensure you have root access to the cloud server before using these instructions.
1. Shadowsocks-libev Installation
For the CentOS server, start by adding the EPEL repository by applying the command below:
You should then install snap using the commands below
For Ubuntu 20.04 and Debian 10 servers, start by updating the software before installing snap. Below are the commands you’ll need:
To improve randomness, you may have to launch haveged on your servers. Below are the commands for installing haveged on your cloud servers.
After installing the above packages, you can now reboot your server using the command below:
Install shadowsocks-libev using snap when the server reboots. You need to log in again over SSH and use the command below to install shadowsocks-libev.
2. Configure the server
Create a directory that will hold the configuration files using the command below
Shadowsocks-libev configuration takes creating a JSON file using the following command. Please note that you can give this file any name. Here, config will be used as the name for our JSON file.
Edit the file we have just created above including the code below.
Create a systemd service unit to avoid manually running Shadowsocks-libev in Terminal every time you want to connect to the server. Use the following command.
You should then edit the file created above and add the information below. Save the file thereafter.
The following command will help you run the systemd service unit.
Use the command below to confirm that your server is working properly
If the created server is working well, you will see Shadowsocks listening to IPs, protocols, and ports identified in the configuration earlier.
3. Enable the connection to go through the firewall
Use the following commands to allow your connection to go through the firewall
|sudo firewall-cmd –add-service=https –permanent|
sudo firewall-cmd –reload
|sudo ufw allow 443|
In this case, 443 is the server port.
4. Install Shadowsocks client software on your devices
After setting up and configuring your server, you need to install the Shadowsocks client software on your devices to allow the connection to the proxy server created. Below is the procedure for installing and configuring Shadowsocks client software on the different platforms.
- Start by downloading the Shadowsocks client software to your Mac.
- Launch the application and then open its preferences from the main menu to make a few changes.
- Tap on the server preferences menu and click the “plus sign” button to add the details of the server you created. Make sure you add the same port and encryption method as used in the config.json file you created.
- Go back to the Shadowsocks app menu and make sure it is turned on. You should also select Globe Mode by tapping on it if it is not selected yet.
- Download and install the Shadowsocks client app for Windows.
- Once the application is installed, its icon will appear on your Windows menu bar.
- Right-click this icon and select edit servers. Enter the server information you saved in the config.json file.
- Right-click the Shadowsocks icon again, but this time go to the PAC section and choose both Local PAC and Secure Local PAC.
If all the above configurations are correctly made, you can now connect your Windows or macOS computer to the internet using the secure proxy server created. You can also set up a Shadowsocks android device using Shadowsocks apps for Android on Google Play Store.
At this point, the Shadowsocks vs SOCKS5 debate should be very clear. Using Shadowsocks is simply a much easier and more secure way to route your traffic through the SOCKS5 proxy server. Once you create the proxy server, you can connect to it using a Windows Pc or Mac as long as you have the Shadowsocks client software installed and well-configured.