Obfsproxy is the short form of obfuscation proxy. Obfsproxy was developed to protect from VPN connections. Many countries use DPI (Deep Packet Inspection) to block VPN connections. It is the subproject of Tor (allow users to access the internet anonymously) that is being used to hide the traffic. To get rid of filtering the traffic, you can use obfsproxy. You can design and deploy layers that have nothing to do with the Tor layers. To work with OpenVPN, we will need to configure on both sides client’s side and server’s side as well.
- It is safe and secure.
- You can easily use a VPN connection.
- It protects you from being filtered the traffic.
- You can get a connection easily.
- You can access any website easily.
- You can easily bypass the censorship using obfsproxy.
- It is much efficient.
Working of Obfsproxy:
Most of the countries are using algorithms to keep a check on the flow of the internet as if they keep an eye on the flow of traffic like (HTTP, HTTPS, SSL, and VPN).
Obfsproxy works with the obfs2 module. It wraps the encryption around the traffic. To ensure encryption, the module uses a handshake process with a byte pattern.
Obfsproxy works efficiently, but not perfectly. There are still some recognizable patterns through which they caught by the DPI which are used by ISP. The recognizable patterns include:
- Packet size
If it is being caught through the algorithm. The algorithm recognizes that the handshake of the Obfsproxy is different from the other’s handshake.
Method to use Obfsproxy:
To use obfsproxy, you need to ensure that you follow the given steps more precisely and accurately. The OpenVPN process is difficult and complex. You should use other VPN instead of using your VPN. You can use other than OpenVPN. The difference is that the other VPN have built-in server configuration.
Requirements for Obfsproxy:
- OpenVPN server.
- OpenVPN client-side application. You will get the client-side from this link
- Python 2.7
- PuTTy (software for remote access to OpenVPN server).
- Microsoft C++ Compiler for python.
- OpenSSL Light. You will get it from the Link
- The ProxySwitchy Sharp extension, you will get this chrome extension from the Link
Method to Use the Obfsproxy:
Before starting, you should make sure that the above requirements are fulfilled. There are a few steps, which you have to follow.
Configuration from Client:
To get this obfsproxy, you need to follow the instructions given below.
- First, install Python 2.7.
- Now, install the Microsoft C++ Compiler.
- Install OpenSSL Light. After installing this, restart your computer.
- Now, configure the VPN files. If you are already using the VPN, it provides you access to the files.
- Get the OpenVPN, you need to open the config file by going into the file where download.
- Now, save the config file with a different name.
- Change the config file.
- Change the port number other than 8080 and server IP-address in the config file.
- Now, save the file with .ovpn extension.
Configuration of obfsproxy:
To configure the obfsproxy file, you need to follow the instruction given below.
- Open the command prompt and write the command given as follow.
- cd C:\Python 27\Scripts
- pip install –upgrade pip
- pip install obfsproxy
- obfsproxy –log-min-severity=info obfs2 –shared-secret=<some-random-key> socks
- Press Enter and wait for compiling.
- If there are, errors ignore them.
Configure the Proxy (Optional):
If you do not set up the proxy, the streaming platform might set the wrong region. To set the proxy, you need to create a new profile and go to the Manual Configuration. Do not turn on the connection until you complete the setup.
- Socks Host 127.0.0.1
- Port 8080
- SOCKS v5
Configure the Server:
- Before starting, you need to configure the server. Now, open the OpenVPN that you installed earlier. You need to follow the few steps given below.
- Open the PuTTy and connect to Server through SSH.
- Make sure that the port 1194 is open.
- Open the PuTTy and type the following commands
- Sudo yum install GCC
- Sudo pip install obfsproxy
- Obfsproxy –log-min-severity=info obfs2 –shared-secret=<some-random-key> server 0.0.0.0:8080
- If everything is ok, the server will display the message that the server is listening to the port.
How we check the connection?
To check the connection, you need to follow the few steps given below.
- Open the OpenVPN/client while the command line of PuTTy is running at the back end.
- If the icon of OpenVPN turns green. It shows that you are connected.
- Now, open chrome and enjoy the blocked websites.
Frequently Asked Question:
- Does OpenVPN work in China?
Yes, it will work in China. If you are in China and need to come across the Chinese firewall. The OpenVPN will not work in China. You will get better solutions for the Chinese firewall.
- What does obfuscate OpenVPN traffic mean?
The obfuscate OpenVPN traffic means that the traffic is unrecognizable by the DPI algorithms run by the ISP of countries.
- What are obfuscated servers?
The servers that can bypass internet restrictions like firewall known as obfuscated servers.
- Can we use other than OpenVPN?
Yes, we can use other than OpenVPN. Many VPN provides the server-side configuration.
It is worth using in the areas where governments are imposing ISPs and DPI on the countries. Obfsproxy is the mask of Tor and OpenVPN traffic to make it look like the traffic like HTTPS.
Although it is very difficult and complex to handle the Obfsproxy and OpenVPN. However, it becomes easy when you use other VPN service that provides the server-side configuration and you only need to do client-side configuration. You only need configuration on Windows and Linux by using the command lines.