Создание персонального прокси сервера SOCKS5 на AWS (обход блокировки Telegram)
12 месяцев личного прокси сервера от Amazon за 1$!
Почувствуй себя админом! :)
В связи с возможно попыткой блокировки Telegram, по группам разошлась инструкция по активации SOCKS5 Telegram. Настроил, протестировал, выводы не удовлетворительные - очень большая задержка.
Решил настроить свой прокси сервер на Amazon. И это было правильное решение - задержка, если она есть, не ощущается вообще!
Инструкция по созданию и настройке персонально прокси сервера на Amazon Web Services.
Для начала следует зарегистрироваться на Amazon Web Services, с вашей карты спишется 1$ - крайне малая цена за 12 месяцев свободы.
Для этого заходим на сайт Amazon Web Services по ссылке и проходим регистрацию, сложного ничего нет, подробности писать не буду.
Создаем виртуальную машину, сложного ничего нет, Amazon Web Services сделали все максимально удобно, только русского языка нет, но я вам подскажу куда "жмать".
- Переходим на страницу консоли управления по ссылке.
- Переходим в раздел "
INSTANCES
" подраздел "Instances
" и щелкаем по кнопке "Launch Instance
". - Выбираем тип виртуальной машины "
Ubuntu Server 16.04 LTS (HVM), SSD Volume Type - ami-*
" и щелкаем напротив по кнопке "Select
". - Автоматически выбирается конфигурация "
t2.micro Free tier eligible
" - эта машина для бесплатного использования в течении 12 месяцев. - Нажимаем на кнопку "
Next: Configure Instance Details
", ничего не исправляем и жмем "Next: Add Storage
" и переходим к дальнейшей конфигурации. - Нажимаем на кнопку "
Next: Configure Instance Details
", ничего не исправляем и жмем "Next: Add Storage
" и переходим к дальнейшей конфигурации. - Указываем в колонке "
Size (GiB)
" количество памяти выделяемой на SSD диске под виртуальную машину. Бесплатно максимум можно использовать 30 GiB. - "
Next: Add Tags
", ничего не исправляем и жмем "Next: Configure Security Group
" и настраиваем параметры безопасности. По умолчанию установлено правило для SSH и указан порт 22, смените его на любой другой свободный порт для повышения безопасности. Свободный порт можно посмотреть к примеру на Wiki. "834—846 | свободны", например 844 порт. Также можно установить IP-адрес с которого будет разрешен доступ по SSH (Если у вас статический IP-адрес). Для этого выберите в колонке "Source
" "My IP
". Он будет назначен автоматически. Теперь добавляем правило для SOCKS5 - Сетевой протокол, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно и таким образом использовать сервисы за межсетевыми экранами (фаерволами). Более поздняя версия SOCKS5 предполагает аутентификацию, так что только авторизованные пользователи получают доступ к серверу. Далее жмем кнопку "Review and Launch
". - Потом жмем кнопку "
Launch
". Если все прошло успешно то виртуальная машина запустится. Управлять виртуальной машиной можно перейдя в раздел "INSTANCES" подраздел "Instances". Машина должна быть запущена в колонке "IPv4 Public IP
" копируем IP-адрес виртуальной машины
(пригодится при подключении по SSH и при настройке SOCKS5 в Telegram). Теперь можно закрыть сайт Amazon Web Services.
Дальше нам необходимо установить программу PuTTY - Свободно распространяемый клиент для различных протоколов удалённого доступа, включая SSH, Telnet, rlogin.
Переходим на сайт программы и скачиваем "Установщик
" для своей разрядности. Стандартно устанавливаем. Ничего менять и выбирать не нужно.
Теперь нам необходимо установить программу WinSCP - это графический клиент SFTP (SSH File Transfer Protocol) для Windows с открытым исходным кодом. Он также поддерживает протокол SCP (Secure Copy Protocol). Предназначен для защищённого копирования файлов между компьютером и серверами, поддерживающими эти протоколы.
Переходим на сайт программы и скачиваем "Installation package
". Стандартно устанавливаем. Ничего менять и выбирать не нужно.
Настраиваем удаленный доступ к вашей виртуальной машине.
- Запускаем программу WinSCP. В появившемся окошке вводим наши данные.
"Имя хоста:"
- вводим IP-адрес виртуальной машины (если не скопировали смотрите в разделе "INSTANCES
" подразделе "Instances
" в колонке "IPv4 Public IP
")"Порт:"
- порт который вы указали при добавлении правила для SOCKS5, например1080
."Имя пользователя:"
- можно ничего не указывать, поскольку вы создавали виртуальную машину Ubuntu, то имя пользователя по умолчанию "ubuntu
"."Пароль:"
- ничего не указываем, по умолчанию пароля нет.- Теперь подключаем ваш ключ
*.pem
который вы сохранили к себе на компьютер, без него не подключитесь. - Для этого жмем на "
Еще
" и выбираем "Еще
". - В открывшемся окне в разделе "
SSH
" в подразделе "Аутентификация
" в поле "Местоположение закрытого ключа"
указываем место где вы сохранили свой ключ*.pem
. Внизу справа изменяем с "Файл закрытого ключа PuTTY" на "Все файлы закрытых ключей". - Программа предложит преобразовать ключ в формат PuTTY, соглашаемся и сохраняем. Теперь ключ в формате
*.ppk
. - Закрываем это окно и в самом первом окне наживаем "Сохранить", после этого нажимаем "Войти".
Настраиваем прокси сервер "Dante Server" на виртуальной машине.
- После подключения вы получите интерфейс внешне напоминающий программу Total Commander. Теперь нам нужна командная строка - PuTTY, можно быстро вызвать сочетанием нажатых клавиш "
Ctrl+P
". Все действия по установке программ выполняются от имени суперпользователя, команда "sudo
". - Переходим к настройке proxy сервера для SOCKS5. Для начала обновим. Команды вводить по очереди. При выполнении команды терминал у вас может запросить подтверждение - просто нажмите клавишу "
Enter
". sudo apt-get update && apt-get
upgrade sudo apt-get install dante-server
- Если консоль будет ругаться, то смотрите какую команду подсказывает вам консоль. Перезапускаем сервер sudo service danted restart и смотрим статус сервера
- Далее нужно отредактировать файл настроек
sudo nano /etc/danted.conf
- В PuTTY можно вставлять текст нажатием правой кнопкой мыши, текст вставится там где находится курсор. Приводим в соответствие раскомментированные строки (без символа "
#
" в начале строки), остальное должно быть закомментировано (с символом "#
" в начале строки)
logoutput: syslog /var/log/danted.log
internal: eth0 port = 1080
external: eth0
method: username
user.privileged: root
user.notprivileged: nobody
user.libwrap: nobody
client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect }
pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: bind connect udpassociate log: connect error }
- Сохраняем изменение нажатием
"Ctrl+O"
, подтверждаем и выходим из редактора нажатием"Ctrl+X"
. - Перезапускаем сервер
sudo service danted restart
- Теперь создаем нового пользователя и его пароль для прокси (Для большей безопасности используйте пароль
12 и более символов: числа, буквы строчные и заглавные, спецсимволы
)
sudo useradd proxyuser -G users
sudo passwd proxyuser
Вводим 2 раза пароль (Введение символов никак не будет отображаться
)
Теперь обновляем Telegram и настраиваем SOCKS5.
- Открываем меню и жмем кнопку "
Settings
", откроется новое окно с настройками. - В разделе "
General
" нажимаем "Check for updates
", если у вас не крайняя версия то обновляем Telegram. - В разделе "
Advanced Settings
" нажимаем на ссылку справа от "Connection type:
", откроется новое окно с настройками. - Выбираем "
TCP with custom socks5-proxy
" и вводим соответствующие поля - "
Hostname
" - IP-адрес виртуальной машины - "
Port
" - порт который вы указали при добавлении правила для SOCKS5, например1080
. - "
Username
" - логин созданного пользователя для proxy, "proxyuser
". - "
Password
" - пароль пользователя для proxy. - устанавливаем галочку "
Try connecting through IPv6
".
Собственно все! Персональный proxy сервер готов!
Не забудьте, через год удалить виртуальную машину иначе вы перейдете на платное обслуживание.