Make your anonymizer in 10 minutes

In this article I will first tell the story very long life of one of the anonymizer, and then teach how to make the anonymizer from source, even without special skills in programming or administration. Put your source code in open access, it was decided after my anonymizer made the list of Roskomnadzor and blocked... But everything in order.

the

How it started


Far in 2013, on one of the forums I had an argument with an opponent that evening will write from scratch in C++ the server is handing out a static page. Stupid argument, don't remember how it started, but in order not to lose face I had to win this argument...

After this story, the source code of the server lying on the back of the hard drive about six months until all the growing Internet censorship in Russia has not led to the idea to make my own anonymizer. But anonymizers lot and all I know of worked on the principle: "enter our website address and we will show this page", I wanted to do something original. The basic idea is to make it unnecessary to visit the site anonymizer... But how to do it easy?

the

the Idea


The solution came by accident and at first I didn't even have sufficient technical knowledge to understand — and will it work? Turned out to be. The idea is simple: take any website and to its hostname, appends the end in the form of a domain name anonymizer. For example, instead of habrahabr.ru write habrahabr.ru.3s3s.org

(Later completed and for https: habrahabr.ru write h_t_t_p_s.habrahabr.ru.3s3s.org)

However the discoverer I felt not a long time. Good people suggested that the idea has long been implemented and is called CoralCDN.

Well I tried this and CoralCDN me it is not inspired nor his speed nor stability. So I finally decided to write his own version.

the

Incarnation


1. Buy the cheapest VDS. Can be found for$ 10 a year, but I still suggest something more impressive. Personally, I chose DigitalOcean for 5$ a month and was happy as an elephant.
2. Buy a short domain, preferably beautiful and is not controlled by censorship and foreign Registrar. I bought 3s3s.org at GoDaddy. $ 20 a year
3. Make two "A" records in DNS zone:
again: "@.3s3s.org -> [IP address VDS]"
two: "*.3s3s.org -> [IP address VDS]"
4. Write proxy code that is downloaded to your server and ready to go.

the

Crying Yaroslavna


Well, here I approached the issue and began to write this article. Most importantly, about your anonymizer knew only proven people. Because despite the fact that a direct prohibition in the laws of the Russian Federation on anonymizers no, in fact the prosecutors who apparently have nothing else to do, from time to time submit to the court, and the courts under the template make decisions about blocking these services.

My anonymizer has lasted for two years, but two weeks ago I received from the hosting provider letter that Roskomnadzor is going to my site to block... Search on the Internet showed that the site is already in the black list due to the decision of the court, and the time to appeal has already happened...

I certainly will try something else to overcome and fix time, then try to appeal, but the website is already blocked and most likely it will remain locked and, therefore, it was decided to release the source code and instructions for its use
in open access.

the

instructions


So, if you decided to make your anonymizer, then after purchasing the server and domain you need to do quite a bit.

4.1 to Install on a server operating system. My anonymizer worked under CentOS 6, but the source on github I decided to sharpen Ubuntu 16
4.2 to Log into the console and execute the following commands:

the
apt-get update
apt-get install build-essential
apt-get install zlib1g-dev
apt-get install libcurl4-openssl-dev
apt-get install openssl libssl-dev
apt-get install libc-ares-dev

cd 3s3s.org
./compile.sh

The last command will compile the anonymizer. To run it, you need to run the command nohup ./test_server.exe &

But do not rush. Before you compile and run, you will still need to do programming... namely: you need to fix the one (first) line in the log file.h!

the
#define DNS_NAME "3s3s.ru"

I think you understand what specifically needs to be correct in this line? Now, after the hotfix, run

the
./compile.sh
nohup ./test_server.exe &

And you can go to the website of your own anonymizer. Good luck!

P. S. To demonstrate recently bought for 100 roubles domain 3s3s.ru and launched on the new server, the anonymizer is described in the instructions: 3s3s.ru

P. P. S. I will outline the main features of this proxy.

1. do Not have to go to the website of anonymizer, it is sufficient in the browser address bar to attribute to the name of the desired resource string ".3s3s.org" (now ".3s3s.ru") for Example, instead of www.kasparov.ru write www.kasparov.ru.3s3s.ru
2. the Service works with all browsers and any devices without requiring additional customization and installation of third-party software.
3. If the provider is a very smart and blocks all seems on a prohibited address, you can go to the anonymizer website and type the address there. By default, my anonymizer encrypts the requested resource, i.e. change current address to a random string. Therefore, the provider is not able to determine what resource you really are turning.
4. As a bonus, you can think of a lock resource name and website anonymizer to make the constant domain of the third level. For example, instead of www.kasparov.ru kasp.3s3s.ru

the

and for dessert...


latest version I've modified the code so that now the need to own the VDS anymore. At least if you don't need an anonymizer, but rather only its own domain.
You can buy a domain in the zone ru for 100 rubles a year, or get free trinoma.
So, in order to get a proxy on your own domain, without the skills of programming in General, you will need:
1. Buy (or get for free) domain.
2. To configure A records for your domain on the IP address of my proxy (currently 104.131.65.219 but as you know, everything can at any time be changed). Settings should look something like this:
again: "@.your.domain -> 104.131.65.219"
two: "*.your.domain -> 104.131.65.219"

All!
When DNS is updated, you can access any blocked sites by typing in the address bar:
заблокированный.сайт.ваш.домен/какой-то/путь.html

Try it, should work. If will not work, write to the bug tracker on github. Make sure, to make them work. This method of blocking domains will become meaningless, and if they block the IP (which is unlikely, but theoretically possible), to change IP thing 10 minutes.

However I warn you that feature free domains from trinoma is the impossibility of the above mentioned settings. To circumvent this limitation, would first have to delegate domain for example on servers of Yandex.
Article based on information from habrahabr.ru

Комментарии

Популярные сообщения из этого блога

When the basin is small, or it's time to choose VPS server

Performance comparison of hierarchical models, Django and PostgreSQL

From Tomsk to Silicon Valley and Back