Необходимые требования
Чтобы всё получилось нам понадобится:
- Сервер с Root доступом. Рекомендую вот этот
- Установленный Docker + Docker-Compose
- 10 - 15 минут времени
В двух словах про socks5 proxy
В последнее время сфера применения прокси заметно увеличилась.
- Самый распространённый вариант использования прокси анонимность. Прокси может скрыть настоящий ip адрес, к тому же socks5 ещё и умеет делать DNS запросы.
- Для SEO задач. Парсинг / Автоматизация и т.д.
- Ещё один вариант применения прокси для усиления безопасности. Например Вы разрешаете в фаерволе доступ к какому то сервису только с ip адреса прокси. И далее раздаёте доступ своим сотрудникам, которые с этим сервисом работают.
- В ситуациях, когда контент который мы хотим посмотреть недоступен для нашего региона или вообще заблокирован доступ для целой страны.
- В некоторых случаях прокси помогает улучшить Ping и Delay в играх и / или специальном П.О.
- Другое...
Кому то будет полезно посмотреть информацию по классификации ip адресов и прокси, перед тем как приступить. И можно начинать.
Поднимаем socks5 proxy для архитектуры amd64 в одну команду
Для архитектуры amd64 мы будем использовать репозиторий olebedev/socks5
Синтаксис команды:
--name отвечает за имя контейнера и является необязательным параметром
-p 28131:1080 порт прокси. меняем только тот порт который стоит до двоеточия, то есть 28131 - меняем на любой угодный. 1080 это порт внутри контейнера и его стоит оставить как есть!
PROXY_USER=... желаемый логин прокси.
PROXY_PASSWORD=... желаемый пароль прокси. Советую делать от 20 символов, если не хотите чтобы прокси использовал ещё кто то кроме вас.
--restart=unless-stopped при возникновения какого либо сбоя будет перезагружать контейнер с проксёй до тех пор пока вы сами его не остановите.
Внимательно изучив команду, замените её своими данными в нужных местах и вставляете в терминал. Дальше докер всё сделает сам.
На некоторых хостингах понадобится дополнительно разрешать трафик на выбранный порт. Например на инстансах от оракла, необходимо открыть порт через веб файрвол. То есть открыть порт 28131, если вы его не меняли.
Поднимаем socks5 proxy для архитектуры arm64 в одну команду
Для архитектуры arm64 мы будем использовать репозиторий torquemada163/aarch64-3proxy-scaleway
Синтаксис команды:
--name отвечает за имя контейнера и является необязательным параметром
CRED='YOURPROXYLOGIN:CL:YOURPROXYPASSWORD' логин и пароль прокси. обратите внимание что :CL: нужно оставить как есть и заменить только YOURPROXYLOGIN и YOURPROXYPASSWORD на любые угодные вам. Опять таки делайте их помощнее, если не желаете заниматься благотворительностью.
-p 28130:3128 порт http прокси. меняем только тот порт который стоит до двоеточия. То есть 28130 меняем на любой угодный. 3128 это порт внутри контейнера и его стоит оставить как есть!
-p 28131:1080 порт socks5 прокси. меняем только тот порт который стоит до двоеточия. То есть 28131 меняем на любой угодный. 1080 это порт внутри контейнера и его стоит оставить как есть!
--restart=unless-stopped при возникновения какого либо сбоя будет перезагружать контейнер с проксёй до тех пор пока вы сами его не остановите.
На некоторых хостингах понадобится дополнительно разрешать трафик на выбранный порт. Например на инстансах от оракла, необходимо открыть порт через веб файрвол. То есть открыть порт 28131, если вы его не меняли.
Поднимаем socks5 proxy для архитектур amd64 и arm64 при помощи docker-compose
Кто то любит поднимать контейнеры используя нативный docker, а кому то больше нравится docker-compose. Поэтому рассмотрим вариант поднятия socks5 сразу для amd64 и arm64 архитектур при помощи docker-compose.
Как и в предыдущих статьях про докер контейнеры мы будем придерживаться правила - хранить все контейнеры в одном месте. Создаём директорию под ipv4 socks5 proxy
Меняем владельца папки с рута на нашего пользователя
Переходим в директорию с Socks5 proxy
Создаём фаил docker-compose.yml
И заполняем его данными в зависимости от архитектуры процессора.
Для архитектуры amd64 берём такую заготовку
Для архитектуры arm64 такую
После этого правим настройки под себя и стартуем контейнер
Проверяем работу прокси
Проверить работу прокси можно выбрав в браузере соответствующий пункт. В разных браузерах он называется по разному, поэтому я опишу на примере плагина FoxyProxy standart для Firefox
Устанавливаем плагин и идём в его настройки

- Добавляем новую прокси
- Название или описание: Любое
- Цвет: Любой, бывает полезно
- Включено: On
- Тип прокси: Socks5
- Прокси IP адрес или имя DNS: ваш ip proxy
- Порт: 28131 (либо ваш порт)
- Имя пользователя: YOURPROXYLOGIN (логин от вашего прокси)
- Пароль: YOURPROXYPASSWORD (пароль от вашего прокси)
- Send DNS through SOCKS5 proxy: On

Посмотрим что у нас получилось
Я поднимал сразу на нескольких разных впсках как на arm64 так и на amd64. Обычным докером и через докер-композ. И всё отлично работает!


Ну всё, все молодцы кто до сюда дочитал
Здравствуйте, я правильно понимаю что в статье идёт речь о поднятие только 1 ipv4 прокси на 1 vds? То есть будет только 1 уникальный ip адрес?
ОтветитьУдалитьЗдравствуйте, да правильно.
Удалитьа есть готовые решения для агрегации всех парент проксей и разруливать их использование путем настройки динамических правил через удобный веб-интерфейс?
Удалить@emlen таких не видел, но можно заюзать load balancer в качестве обратной прокси, и он сам будет разруливать и давать только живые. (ну без веб интерфейса, там только стата которая особо ничего не даст)
УдалитьПриветствую, спасибо за инструкцию
ОтветитьУдалитьХотел бы попросить помощи, если найдется лишняя минута, пробую подключиться через Foxy Proxy и Switchy Omega после установки, но ни чего не выходит, в логах контейнера либо это:
2023/04/13 11:01:00 [ERR] socks: Failed to authenticate: No supported authentication mechanism
Либо:
2023/04/13 10:53:27 [ERR] socks: Unsupported SOCKS version: [67] и [4]
Пардон, разобрался, в firefox все отлично, на хромиуме летят ошибки
ОтветитьУдалитьЕсть такое,ну это уже капризы хрома, тут к сожалению только так (или к счастью 😂). Либо поднимать для хромиума отдельно http проксю.
УдалитьОтправить комментарий