Настройка Socks5 PROXY на Amazon EC2

Artur Khrabrov
4 min readApr 14, 2018

--

В связи с последними новостями многие столкнулись с необходимостью обхода блокировки Telegram. На фоне всеобщего ажиотажа большинство свободно доступных прокси серверов работают нестабильно. В этой статье мы разберём как настроить собственный прокси сервер на VDS (А для любителей условно-бесплатного будем разворачивать его на AWS). При установке на выделенный VDS переходите сразу к этапу установки.

Если Вы читаете эту статью, то я надеюсь, что у Вас не возникнет проблем с регистрацией, поэтому сразу перейдём к созданию инстанса.

Ссылка для регистрации — https://aws.amazon.com/

Создание инстанса

  1. В админ панели AWS кликаем Launch a virtual machine

2. Выбираем операционную систему для сервера(в данном случае ubuntu)

3. Выбираем тариф (в нашем случае Free)

4. Жмём Launch. Amazon заботливо позаботится о генерировании SSH ключей для подключения — нам необходимо только указать название для ключей и сохранить.

5.В панели наш инстанс будет доступен во вкладке Instances

Здесь же мы можем посмотреть состояние нашего сервера.
Цифрой 1 отмечен адрес необходимый для подключения по ssh.
Цифра 2 — адрес для подключения к прокси серверу.

6. Открываем порт.
По дефолту для нас открыт только один порт — для подключения по ssh, чтобы добавить новый необходимо перейти во вкладку Security Groups, выбрать наш инстанс и во вкладке Inbound нажать edit.
Далее указываем либо конкретно наш порт (на котором будет работать прокси), либо выбираем опцию All Traffic.

Подключение по SSH

Для подключения к нашему серверу будем использовать ключи, сгенерированные на этапе создания инстанса.

Для явного указания ключа Вы можете использовать опцию -i с абсолютным путём к ключу.
В качестве адреса используем Public DNS (IPv4) со скрина выше.

ssh -i ~/.ssh/myAWSkeys.pem ec2-66-66-66-66.us-east-2.compute.amazonaws.com

Установка

Для создания прокси сервера будем использовать пакет 3proxy.

Инструкция актуальна для установки из под кастомного юзера — amazon по дефолту дает нам работать под юзером ubuntu(Для установки из под root соответственно работаем без sudo)

Cначала поставим набор пакетов необходимых для сборки:

sudo apt-get update
sudo apt-get install build-essential libevent-dev libssl-dev

Скачиваем 3proxy в папку src и распаковываем:

cd /usr/src
sudo wget http://3proxy.ru/0.6.1/3proxy-0.6.1.tgz
sudo tar zxvf 3proxy-0.6.1.tgz

Переходим в папку с исходниками:

cd 3proxy-0.6.1

Чтобы сервер был анонимным, подредактируем proxy.h перед компиляцией:

sudo nano src/proxy.h

Добавляем строку в секцию с define:

#define ANONYMOUS 1

Собираем и устанавливаем:

sudo make -f Makefile.Linux
sudo make -f Makefile.Linux install

Запуск

Создаем директорию, а в ней конфиг нашего прокси-сервера

mkdir -p ~/3proxy
cd ~/3proxy
nano 3proxy.cfg

Содержимое файла 3proxy.cfg

# запускаем как сервис
daemon
# При необходимости можете настроить логи
log /dev/null
# разрешаем порты
allow * * * *
#авторизация по логину и паролю
#вместо username указываете имя, вместо password пароль
auth strong
users username:CL:password
# DNS сервера
nserver 8.8.8.8
nserver 77.88.8.8
nserver 127.0.0.1
# DNS кэш
nscache 65536
# http proxy по умолчанию на -p порту 4545
proxy -p4545 -n -a
# socks proxy по умолчанию на -p порту 2323
socks -p2323

Записываем в файл наш конфиг.

Все DNS сервера копируем из /etc/resolv.conf (только меняем nameserver на nserver), просмотрим содержимое этого файла текстовым редактором:

nano /etc/resolv.conf

При заданной настройке наш SOCKS прокси будет доступен по адресу, указанному в IPv4 Public IP для инстанса с портом 2323, с именем пользователя user и с паролем password.

Запускаем прокси-сервер

3proxy ~/3proxy/3proxy.cfg

Проверяем слушается ли наш порт:

netstat -an | grep -i listen

Применение настроек в Telegram

Заходим в Settings > Connection Type

Указываем необходимые данные

Если Вы хотите поделится настройками со своими друзьями, Вы можете создать ссылку следующего вида, подставив свои настройки.

tg://socks?server=18.216.161.26&port=1235&user=user&pass=password

Следите за новостями.

--

--