Настройка Socks5 PROXY на Amazon EC2
В связи с последними новостями многие столкнулись с необходимостью обхода блокировки Telegram. На фоне всеобщего ажиотажа большинство свободно доступных прокси серверов работают нестабильно. В этой статье мы разберём как настроить собственный прокси сервер на VDS (А для любителей условно-бесплатного будем разворачивать его на AWS). При установке на выделенный VDS переходите сразу к этапу установки.
Если Вы читаете эту статью, то я надеюсь, что у Вас не возникнет проблем с регистрацией, поэтому сразу перейдём к созданию инстанса.
Ссылка для регистрации — https://aws.amazon.com/
Создание инстанса
- В админ панели 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
Следите за новостями.