Shadowsocks Config: Shadowsocks Client & Server Setup Guide

shadowsocks server and shadowsocks client config tutorial

0 Comment

6 mins Read

shadowsocks server and shadowsocks client config tutorial

Don’t trust VPNs but want to access the Internet freely without any restrictions? Shadowsocks is the solution.

Have you ever heard of the Great Firewall of China? A brilliant Chinese developer named Clowwindy decided to put his programming knowledge into creating a secure gateway between users and the Internet to bypass the Chinese government firewall, Shadowsocks.

Before we jump into details on Shadowsocks config, let’s cover some basics. If you are seeking instructions on Shadowsocks config, the video below provides a basic overview. However, for comprehensive guidance, we recommend reading the full blog.

 

What is Shadowsocks?

Many people think Shadowsocks is a proxy, but that’s not entirely true. Shadowsocks is like a connecting system between a proxy server and your device that encrypts your Internet traffic. To understand how Shadowsocks creates this encrypted connection, we need to explain an Internet protocol called SOCKS5.

Shadowsocks Servers & Clients 

To use Shadowsocks, you need a Shadowsocks server and a Shadowsocks client.

Shadowsocks servers: Shadowsocks, Shadowsocks-libev, go-shadowsocks2, and Shadowsocks-rust.

Shadowsocks clients: Shadowsocks-android, Shadowsocks-windows, ShadowsocksX-NG (macOS), and Shadowsocks-qt5 (Linux).

How Does Shadowsocks Work?

Shadowsocks uses an open-source protocol called SOCKS5 to hide your traffic from snooping eyes and ears on the Internet. SOCKS5 is the fifth version of SOCKS (Socket Secure), a proxy that acts as a private data packet dealer.

What does this mean?

Every time you get on the Internet and search for something on Google, you’re requesting data packets from that source. If your Internet access is restricted, some data packets won’t be able to cross over to the server and land on your device. SOCKS5 is the tool that can access these restricted data packets and deliver them to you without anyone noticing.

Imagine the data you want, which might be an email or a classified file, is hidden behind a locked door; SOCKS5 is the key that unlocks this door and accesses the information you want.

Now, Shadowsocks uses SOCKS5 _the invisible secure key_ to deliver your requested data packets from the servers securely. You can access HTTP, HTTPS, POP3, SMTP, and FTP request types through SOCKS5.

What is Shadowsocks Config File?

Shadowsocks config file:

{

"server": "your_server_IP",

"server_port":0000,

"password": "your_password",

"timeout":500,

"method": "chacha20-ietf-poly1305",

"fast_open": true

}

Shadowsocks Config File Guide Sheet:

Server port: The server port is between the Shadowsocks server and the Shadowsocks client. (0000 is a random port number)

Timeout: The period of time you set for closing an inactive Shadowsocks session

Method: An encryption method. It’s best to use an AEAD cipher, such as “chacha20-ietf-poly1305” or “aes-256-gcm”.

Fast_open: For Shadowsocks server and client on Linux 3.7.1 or higher, you can set fast_open on “true” for lower latency.

What is Shadowsocks v2ray?

People search shadowsocks v2ray, but if we want to get specific, there is no such thing.

v2ray is an advanced platform for creating new proxy software that supports Shadowsocks. In other words, you can implement Shadowsocks config using v2ray proxy protocol to create a Shadowsocks server or client.

v2ray Config as a Server

{

  "inbounds": [

    {

      "port": 1024, // Listening port 

      "protocol": "shadowsocks",

      "settings": {

        "method": "aes-128-gcm",

        "ota": true,

        "password": "sspasswd" 

      }

    }

  ],

  "outbounds": [

    {

      "protocol": "freedom",  

      "settings": {}

    }

  ]

}

v2ray Config as a Client

{

  "inbounds": [

    {

      "port": 1080, // Listening port

      "protocol": "socks", 

      "sniffing": {

        "enabled": true,

        "destOverride": ["http", "tls"]

      },

      "settings": {

        "auth": "noauth"        }

    }

  ],

  "outbounds": [

    {

      "protocol": "shadowsocks",

      "settings": {

        "servers": [

          {

            "address": "serveraddr.com",

            "method": "aes-128-gcm", 

            "ota": false, 

            "password": "sspasswd", 

            "port": 1024  

          }

        ]

      }

    }

  ]

}

Shadowsocks Config for Android Devices

Shadowsocks server config for Android OS requires two things:

  1. Shadowsocks app
  2. Server details you purchased or developed

Step 1:

Open Google Play Store app on your Android device and search “Shadowsocks.” Download the Shadowsocks app and open it.

Step 2:

Click on the + icon on the top right and select “Manual Settings

Step 3:

Fill out these categories:

Profile Name: Your own name is fine.

Server: Input the name you got from your server provider

Remote port: 443 (or HTTPS) is the safest remote port, but there are free remote ports you can choose from.

Local port: Input the number you got from your server provider

Password: Input the number you got from your server provider

Encrypt method: aes-256-gcm or chacha20-ietf-poly1305

Shadowsocks Config for iOS Devices

Step 1:

Download, install, and open the Potatso Lite app from the App Store.

Step 2:

Click on the + icon on the top right and select “Input Manually”.

Step 3:

Fill out the server details, host, port, and password based on the information you got from your server provider.

Step 4:

Click on the check mark at the top right corner to add the server details.

Step 5:

Click the Connect button.

Shadowsocks Config for Windows Devices

Step 1: 

Download and unzip Shadowsocks for Windows.

Step 2:

Right-click on Shadowsocks.exe and select Run as Administrator.

Step 3:

Open the Edit Servers window.

Step 4:

Fill out the server details, host, port, and password based on the information you got from your server provider.

Step 5:

Click on Add at the bottom left corner and then apply the changes by clicking OK.

Step 6:

Right-click on the Shadowsocks icon on your desktop and select Enable System Proxy.

To filter all your network traffic through Shadowsocks, follow the steps below:

  1. Open your web browser’s proxy settings
  2. In the Configure Proxies to Access the Internet menu, select Manual Proxy Configuration and fill out the server details.
  3. Select SOCKS v5 in the SOCKS host section.
  4. Check the Proxy DNS when using SOCKS v5 box.

Shadowsocks Config for macOS Devices

Step 1: 

Download and unzip Shadowsocks for macOS, named ShadowsocksX-NG.

Step 2:

Move the Shadowsocks.exe file to the Applications folder.

Step 3:

Open the Applications folder and run ShadowsocksX-NG.

Step 4:

Right-click on the Shadowsocks icon, hover your cursor over Servers, and then select  Server Preferences.

Step 5:

Fill out the server details, address, port, and password based on the information you got from your server provider.

Step 6:

Right-click on the Shadowsocks icon and select Turn Shadowsocks On.

Shadowsocks Config for Linux Devices (Fedora/RHEL, Ubutnu, Arch)

Shadowsocks server config for Ubuntu from PPA (Personal Package Archives)

Using PPA, you need to enter these commands:

# sudo add-apt-repository ppa:hzwhuang/ss-qt5
# sudo apt-get update
# sudo apt-get install shadowsocks-qt5

Shadowsocks server config for Fedora/RHEL from Copr Repository

For installing Shadowsocks server on Fedora or RHEL:

# sudo dnf copr enable librehat/shadowsocks
# sudo dnf update
# sudo dnf install shadowsocks-qt5

There’s a shadowsocks-qt5 package in AUR repository, so Arch users can use yaourt package manager to install it.

# sudo yaourt -S shadowsocks-qt5

After installing Shadowsocks-qt5 on your Linux OS, follow these steps to complete Shadowsocks config:

Step 1:

Open Shadowsocks.

Step 2:

Select the Connection tab in the menu. Click on Add and then Manually. 

Step 3:

Fill out the server details based on the information you got from your server provider, and then click on OK.

Step 4:

Select your new server, which appears under the File tab in the menu, and then click on Connect.

Is Shadowsocks a VPN?

Shadowsocks creates a private tunnel between your device and the data you want to access by using SOCKS5 as the connecting link.

Let’s use my favorite method of analogy, movies.

Do you remember The Twilight Saga: Breaking Dawn Part 2?

At first, Bella could only use her powers to protect one person at a time from any harm, but later on, she learned to expand her powers and was able to protect her whole family in the final fight with the Volturi.

Shadowsocks is like the first phase of Bella’s powers; it can only encrypt your data and protect you from one server at a time.

But VPN (Virtual Private Network) is like the second phase of Bella’s powers; it can encrypt your whole network traffic no matter how many servers you are connected to.

Can I Host My Own Shadowsocks Server & How?

Shadowsocks server config requires a Shadowsocks client and server. The Shadowsocks client is your device, and you can use a VPS (Virtual Private Server) as your Shadowsocks server. Depending on your VPS operating system, you can follow the Shadowsocks config steps covered in the previous sections.

Since Shadowsocks doesn’t require much RAM, you can choose the cheapest VPS package on the market and have your Shadowsocks server up and running in minutes. But keep in mind that using unreliable VPS services can lead to IP blocks, which will put you back at square one.

Cloudzy offers the most secure and budget-friendly VPS packages that are perfect for configuring Shadowsocks.

Flexible, Secure Payment Flexible, Secure Payment

Get a Bitcoin VPS, which lets you pay for your virtual server with Bitcoin and other major cryptocurrencies.

Get a Bitcoin VPS

FAQ

I’m a tech newbie; can I config Shadowsocks server?

Shadowsocks config requires basic knowledge of command line coding, but if you follow the steps outlined in this article, you shouldn’t run into any technical problems.

How long does Shadowsocks config take?

The whole process of Shadowsocks config will take about 10 minutes, but in some cases, updating the Shadowsocks config file might take longer.

What operating system do I need for Shadowsocks config?

You can download and install the Shadowsocks config file on Linux, Ubuntu, Windows, and Mac operating systems.

Can I use my Android smartphone for Shadowsocks config?

Yes. You need to download the Shadowsocks and OpenVPN app to config Shadowsocks on your Android device.

What is the Shadowsock v2ray use case?

If you’re an experienced developer and want to create new proxy software, you can use v2ray protocol to config Shadowsocks server or client. With Shadowsocks, you get a simple proxy protocol but Shadowsocks v2ray_as people call it_ offers advanced proxy customization features.

Paulina brings life to each word, and her ultimate goal is to give the audience precisely what they seek. She is an expert in shaping words in the best apprehensive form possible. Don't be surprised if she answers your un-asked questions as well. Paulina is all about over-delivering.

Comments

Leave a Comment

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


Latest Posts