Настройка своего http и socks прокси-сервера на базе VPS-сервера


Это статья Антона Рыбина. Статья публикуется в рамках сотрудничества с читателями.
Судя по количеству молний, в блоге на неделе просто разразился шторм. Теперь пришла и моя очередь публикации. Может она и не такой задорной у меня выйдет, но, как минимум, полезной многим читателям :-)

Тематика спонсирована Роскомнадзором в тесном сотрудничестве с Telegram Messenger LLP.

Содержание
  1. Смысл
  2. Что делать

Смысл

Не поведаю, наверное, особых новостей, если расскажу, что вот уже около месяца всё прогрессивное население РФ (хотя зачастую даже и остальные страны СНГ - см. ниже) занимается поиском путей обхода блокировки Telegram.


Уже достаточно давно у меня была мысль, что нет смысла арендовать одновременно и VPS-сервер, и прокси-сервер (если нужны оба), и вполне можно использовать VPS в качестве собственного прокси-сервера при необходимости. Путём установки сервера для прокси на VPS любой пользующийся VPSами трейдер может получить два по цене одного, причём прокси-сервер будет гарантированно личным и доступным 24/7, как и VPS. Таким образом, у трейдера, всегда будет готовый к работе собственный прокси-сервер, свободный от проблем бесплатных и дешёвых серверов (периодические перегрузки) и платных личных (необходимость платить за отдельный прокси-сервер).

Краткий поиск показал, что наиболее простым, использующим минимум ресурсов, очень функциональным и при этом бесплатным решением является доступный с открытыми исходниками на github 3proxy.

В этой молнии я пошагово опишу, что именно нужно сделать, чтобы получить личный прокси-сервер, имея в наличии VPS, и дам готовый к работе пакет приложений.

Что делать

1. Заходим на свой VPS, скачиваем 3proxy по ссылке. При желании скачать можно и с github, просто по ссылке я оставил лишь минимальный пакет необходимых для работы файлов (реально минимальный, см. архив) с уже настроенным файлом конфига, без какой-либо документации и вспомогательных программ. Всем желающим настроить прокси-сервер самостоятельно оставляю ссылку на github вместе с доходчивым пояснением, как нужно заполнять конфиг.

2. Разархивируем папку (специально закинул всё в zip архив, чтобы не был нужен архиватор) в корень, например, в папку c:/3proxy, как на скриншоте ниже.


3. Открываем командную строку (Win+R, в окне Run вводим cmd, как на скриншоте).


4. Пишем в командной строке cd ../.. (таким образом переходим на 2 каталога выше, в корень диска c), нажимаем Enter, затем cd 3proxy (заходим в папку с программой, куда её разархивировали) и Enter, затем 3proxy (название исполняемого файла, .exe можно опустить) и нажимаем Enter.


5. Готово! Если программу не заблокировал брандмауэр, а провайдер VPS не установил каких-то драконовых ограничений на использование портов, то теперь по ip-адресу сервера доступен socks прокси-сервер (тот самый, что использует Telegram) на порту 5458 и http прокси-сервер на порту 5459. При входе также нужно указать связку логин-пароль: в случае использования конфиг-файла по умолчанию это Hib и qwerty соответственно.

Чтобы удовлетворить и тех читателей, кто столкнётся с самыми часто встречающимися проблемами, и тех, кто хотел бы поменять номер порта и логин-пароль, напишу ещё пару абзацев.

Если заблокировал брандмауэр

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

Что делать:

1. Останавливаем 3proxy (нажимаем Ctrl+C в командной строке).

2. Идём в панель управления и находим там настройки брандмауэра Windows.

3. Устанавливаем галочки "Notify me when Windows Firewall blocks a new program".


4. Запускаем 3proxy снова (стрелка вверх и Enter в командной строке, если ещё её не закрыли).

5. В появившемся окне выбираем все галочки и allow access.


Готово! Если провайдер VPS не установил каких-то ограничений извне на свои услуги, то всё теперь должно работать.

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

Если хочется поменять настройки

Все настройки proxy-сервера находятся в файле 3proxy.cfg, который находится в одной папке с основным исполняемым файлом. Путём метода научного тыка (и сравнения чисел и букв с расписанной выше инструкцией) достаточно легко понять, что в нём за что отвечает. На случай, если нужно просто убрать авторизацию по паролю, напишу, что должно быть в конфиге, чтобы остались http и socks прокси на указанных портах, но без пароля для входа:

socks -p5458

auth none

log

proxy -p5459

Вроде всё максимально кратко и просто. Если остались вопросы, пишите их в комментарии.

На всякий случай выкладываю также полный вариант конфига с авторизацией по логину-паролю (на случай, если скачивать пришлось с github):

flush

users Hib:CL:qwerty

auth strong

allow Hib

socks -p5458

flush

users Hib:CL:qwerty

auth strong

allow Hib

log

proxy -p5459

Да, сидеть и разбираться в особенностях настройки веб-админки, порт-мапперов и прочих премудростей данного прокси-сервера, если вдруг кому-то понадобится, не собираюсь. Есть "продвинутые" вопросы - идите на github. Тут лишь максимально простая версия для тех, кому не нужен весь этот функционал, а необходим лишь простой прокси-сервер для личного пользования с авторизацией по паролю.

Всё описанное выше проверено мной на двух разных VPS от сервиса powerVPS. За работоспособность на других сервисах не ручаюсь, но будет интересно увидеть комментарии других пользователей - у кого где всё вышло, у кого не очень.

Поделиться в соцсетях