Сделайте свой анонимайзер за 10 минут

в 23:10, , рубрики: c++, Анонимайзер, обход цензуры, Программирование, прокси, Разработка веб-сайтов

В этой статье я сначала расскажу историю не очень долгой жизни одного анонимайзера, а потом научу — как сделать анонимайзер из исходных кодов, даже не обладая особыми навыками программирования или администрирования. Выложить свой исходный код в открытый доступ было решено после того, как мой анонимайзер попал в список Роскомнадзора и был заблокирован… Но обо всем по порядку.

Как все начиналось.

В далеком 2013 году, на одном из форумов я поспорил с оппонентом, что за вечер напишу с нуля на с++ сервер раздающий статические страницы. Глупый спор, не помню с чего начался, но дабы не потерять лицо пришлось этот спор выиграть…
После этой истории исходники сервера валялись на задворках жесткого диска примерно полгода, пока все усиливающаяся интернет-цензура в России не привела к идее сделать собственный анонимайзер. Но анонимайзеров много и все известные мне работали по принципу: «введите на нашем сайте адрес и мы покажем эту страницу», хотелось сделать что-то оригинальное. Основная идея — сделать необязательным посещение сайта анонимайзера… Но как это сделать удобным?

Идея.

Решение пришло случайно и по началу у меня даже не было достаточных технических знаний, чтобы понять — а будет ли это работать? Оказалось — работает! Идея проста: берем любой сайт и к его имени хоста дописываем окончание в виде доменного имени анонимайзера.
Например вместо habrahabr.ru пишем habrahabr.ru.3s3s.org
(В последствии доделал и для https: вместо habrahabr.ru пишем h_t_t_p_s.habrahabr.ru.3s3s.org)
Правда первооткрывателем я себя чувствовал совсем не долго. Хорошие люди подсказали, что идея уже давно реализована и называется CoralCDN.
Ну я попробовал этот CoralCDN и меня он не воодушевил ни своей скоростью ни стабильностью. Поэтому все таки решил написать свой вариант.

Воплощение

1. Покупаем самый дешевый VDS. Можно найти за 10$ в год, но я все таки советую что-то посолидней. Лично я выбрал DigitalOcean за 5$ в месяц и был доволен как слон.
2. Покупаем короткий домен, желательно красивый и не подконтрольный цензуре и у зарубежного регистратора. Я купил 3s3s.org у GoDaddy. 20$ в год
3. Делаем две «А» записи в настройках DNS зоны:
раз: "@.3s3s.org -> [IP адрес VDS]"
два: "*.3s3s.org -> [IP адрес VDS]"
4. Пишем код анонимайзера, загружаем на свой сервер и готово…

Плач Ярославны

Ну вот тут я подобрался к моменту, ради которого и начал писать эту статью. Самое главное, чтобы про ваш анонимайзер знали только проверенные люди. Потому что несмотря на то, что прямого запрета в законах РФ на анонимайзеры нет, по факту прокуроры, которым видимо нечем больше заниматься, время от времени подают в суд, а суды под шаблон выносят решения о блокировке этих сервисов.
Мой анонимайзер продержался два года, но вот две недели назад я получил от хостера письмо, что Роскомнадзор собирается мой сайт заблокировать… Поиск по интернету показал, что сайт уже в черном списке благодаря решению суда, а время на обжалование уже вышло…
Я конечно попытаюсь как-то еще побороться и восстановить срок, потом попробовать подать апелляцию, но сайт уже заблокирован и скорее всего так заблокированным и останется, поэтому и было принято решение выложить исходный код и инструкцию по его использованию
в открытый доступ.

Инструкция

Итак, если вы решили сделать свой анонимайзер, то после покупки сервера и домена вам осталось сделать совсем немного.
4.1 Установить на сервер операционную систему. Мой анонимайзер работал под CentOS 6, но исходник на гитхабе я решил заточить под Ubuntu 16
4.2 Зайти в консоль и выполнить следующие команды:

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
git clone https://github.com/3s3s/3s3s.org.git
cd 3s3s.org
./compile.sh

Последняя команда скомпилирует анонимайзер.
Чтобы запустить его, нужно выполнить команду
nohup ./test_server.exe &

Однако не торопитесь. Прежде чем компилировать и запускать, вам все таки придется заняться программированием… А именно: вам нужно исправить одну (первую) строчку в файле log.h!

#define DNS_NAME  "3s3s.ru"

Думаю вы поняли, что конкретно нужно исправить в этой строчке?
Вот после исправления, запускайте
./compile.sh
nohup ./test_server.exe &

И можете заходить на сайт вашего собственного анонимайзера. Удачи!

Автор: 3s3s

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js